一碗酸梅湯 作品
第268章 最終版本
所謂集成學習,就是訓練多個機器學習模型,然後組合在一起,讓它們協調工作。
俗話說,人多力量大,機器學習算法也是一樣。
江寒經過一番認真的設計,確定了一個新的網絡拓撲結構。
他從排名4~15的模型裡,精心選擇了7種,再加上“唯一優勝者”、“黑馬中等生”、“書呆子”,一共10個神經網絡。
將它們放在一起,簡單地並聯起來,組成了一個整體,然後設計了一個投票程序。
一張手寫數字的圖片輸入網絡後,會同時傳遞給10個神經網絡模型,讓它們各自進行計算,輸出自己的預測結果。
如果大家的判斷完全一致,那自然沒什麼問題。
但如果大家意見相左,就會啟動投票程序,根據票數來決定最終的輸出。
票數並不是平均分配的,在驗證集上表現更好的模型,手裡的選票也應該更多。
所以,理所當然的,“唯一優勝者”擁有最多的票數。
如果他全票投給自己,那麼一般來說,他的意見就基本上接近正解,理應得到採納。
這種情況下,其他模型就算有不同意見,而且全都統一口徑,也不應該推翻優勝者的判斷。
這就好比領導班子開會,不能光講民主,還得適當集中……
但很多時候,優勝者對自己的判斷,也並不是十分有把握,這個時候,其他“學生”給出的答案,就很有參考意義了。
如果其他人中,有人認為答案是另一個,並得到了多數人的支持,那麼就會對優勝者的答案進行“彈劾”。
如果優勝者投給自己的票數,並不足以駁回大家的“彈劾”,那麼就會少數服從多數,將最後輸出修改為受到更多人認同的。
舉例來說,剛才的那個數字5。
優勝者判斷有60%的概率是6,37%的概率是5,2%的可能性是其他數字,這個時候,它就會輸出錯誤的答案:6。
但如果在其他“學生”中,有人經過計算,認為答案應該是5,與優勝者判斷不一致,就會啟動投票程序。
由於優勝者判斷只有60%的概率是數字6,折算後,等於它只肯為自己的答案投6票。
這個時候,只要其他9個模型的票數,加一起超過6票,即可彈劾成功。
如果優勝者對自己的判斷,有90%以上的把握,那麼其他9個人加起來,也不足以推翻他的結論。
意思就是這麼個意思,具體的折算比例,當然不會這麼簡單。
還需要十分細緻、耐心地進行調整,以使整個模型的輸出,更加接近最優解。
當然,這種投票式的做法,無疑也有極小極小的可能性,產生不那麼美好的結果。
比如,優勝者本來的判斷明明是正確的,只是對自己信心不夠充足,就有可能被其他模型給“糾正”成錯誤的。
俗話說,人多力量大,機器學習算法也是一樣。
江寒經過一番認真的設計,確定了一個新的網絡拓撲結構。
他從排名4~15的模型裡,精心選擇了7種,再加上“唯一優勝者”、“黑馬中等生”、“書呆子”,一共10個神經網絡。
將它們放在一起,簡單地並聯起來,組成了一個整體,然後設計了一個投票程序。
一張手寫數字的圖片輸入網絡後,會同時傳遞給10個神經網絡模型,讓它們各自進行計算,輸出自己的預測結果。
如果大家的判斷完全一致,那自然沒什麼問題。
但如果大家意見相左,就會啟動投票程序,根據票數來決定最終的輸出。
票數並不是平均分配的,在驗證集上表現更好的模型,手裡的選票也應該更多。
所以,理所當然的,“唯一優勝者”擁有最多的票數。
如果他全票投給自己,那麼一般來說,他的意見就基本上接近正解,理應得到採納。
這種情況下,其他模型就算有不同意見,而且全都統一口徑,也不應該推翻優勝者的判斷。
這就好比領導班子開會,不能光講民主,還得適當集中……
但很多時候,優勝者對自己的判斷,也並不是十分有把握,這個時候,其他“學生”給出的答案,就很有參考意義了。
如果其他人中,有人認為答案是另一個,並得到了多數人的支持,那麼就會對優勝者的答案進行“彈劾”。
如果優勝者投給自己的票數,並不足以駁回大家的“彈劾”,那麼就會少數服從多數,將最後輸出修改為受到更多人認同的。
舉例來說,剛才的那個數字5。
優勝者判斷有60%的概率是6,37%的概率是5,2%的可能性是其他數字,這個時候,它就會輸出錯誤的答案:6。
但如果在其他“學生”中,有人經過計算,認為答案應該是5,與優勝者判斷不一致,就會啟動投票程序。
由於優勝者判斷只有60%的概率是數字6,折算後,等於它只肯為自己的答案投6票。
這個時候,只要其他9個模型的票數,加一起超過6票,即可彈劾成功。
如果優勝者對自己的判斷,有90%以上的把握,那麼其他9個人加起來,也不足以推翻他的結論。
意思就是這麼個意思,具體的折算比例,當然不會這麼簡單。
還需要十分細緻、耐心地進行調整,以使整個模型的輸出,更加接近最優解。
當然,這種投票式的做法,無疑也有極小極小的可能性,產生不那麼美好的結果。
比如,優勝者本來的判斷明明是正確的,只是對自己信心不夠充足,就有可能被其他模型給“糾正”成錯誤的。