一碗酸梅湯 作品

第268章 最終版本

    所謂集成學習,就是訓練多個機器學習模型,然後組合在一起,讓它們協調工作。

    俗話說,人多力量大,機器學習算法也是一樣。

    江寒經過一番認真的設計,確定了一個新的網絡拓撲結構。

    他從排名4~15的模型裡,精心選擇了7種,再加上“唯一優勝者”、“黑馬中等生”、“書呆子”,一共10個神經網絡。

    將它們放在一起,簡單地並聯起來,組成了一個整體,然後設計了一個投票程序。

    一張手寫數字的圖片輸入網絡後,會同時傳遞給10個神經網絡模型,讓它們各自進行計算,輸出自己的預測結果。

    如果大家的判斷完全一致,那自然沒什麼問題。

    但如果大家意見相左,就會啟動投票程序,根據票數來決定最終的輸出。

    票數並不是平均分配的,在驗證集上表現更好的模型,手裡的選票也應該更多。

    所以,理所當然的,“唯一優勝者”擁有最多的票數。

    如果他全票投給自己,那麼一般來說,他的意見就基本上接近正解,理應得到採納。

    這種情況下,其他模型就算有不同意見,而且全都統一口徑,也不應該推翻優勝者的判斷。

    這就好比領導班子開會,不能光講民主,還得適當集中……

    但很多時候,優勝者對自己的判斷,也並不是十分有把握,這個時候,其他“學生”給出的答案,就很有參考意義了。

    如果其他人中,有人認為答案是另一個,並得到了多數人的支持,那麼就會對優勝者的答案進行“彈劾”。

    如果優勝者投給自己的票數,並不足以駁回大家的“彈劾”,那麼就會少數服從多數,將最後輸出修改為受到更多人認同的。

    舉例來說,剛才的那個數字5。

    優勝者判斷有60%的概率是6,37%的概率是5,2%的可能性是其他數字,這個時候,它就會輸出錯誤的答案:6。

    但如果在其他“學生”中,有人經過計算,認為答案應該是5,與優勝者判斷不一致,就會啟動投票程序。

    由於優勝者判斷只有60%的概率是數字6,折算後,等於它只肯為自己的答案投6票。

    這個時候,只要其他9個模型的票數,加一起超過6票,即可彈劾成功。

    如果優勝者對自己的判斷,有90%以上的把握,那麼其他9個人加起來,也不足以推翻他的結論。

    意思就是這麼個意思,具體的折算比例,當然不會這麼簡單。

    還需要十分細緻、耐心地進行調整,以使整個模型的輸出,更加接近最優解。

    當然,這種投票式的做法,無疑也有極小極小的可能性,產生不那麼美好的結果。

    比如,優勝者本來的判斷明明是正確的,只是對自己信心不夠充足,就有可能被其他模型給“糾正”成錯誤的。