統計是一個不可以缺少的工具
在研究上,統計是一個不可以缺少的工具。或是我該說,寫論文時,更要細心對待統計這件事。不過,我先撇開這個議題不談,粗淺討論統計在機器學習上的議題。
經常使用的loss function(或是error, cost, objective等都可以)以MSE/RMS為主,當然也會用其他的函數,這個之後再來說。
如果你用的是神經網路,尤其是深度學習,那麼訓練集就必不可能太小,不然overfitting會頗常遇到,這個以後再說。
統計加上大數據是一個可怕的東西,雖說大數據可以讓統計的有效性增加且越趨穩定,但是統計數字往往會忽略了部分的樣本所帶來的大幅偏差。這個在社會學上也有討論過,也就是,所有非日常的現象會被忽視,例如,我們的教育政策是以多數學生的認知模式在設計,所以會相對忽略特殊的孩子,甚至是因為在統計時以都會區學生為主要樣本,忽視了偏鄉的孩子的狀況。
非常經常地,這些非日常的,或是在機器學習裡的少量訓練效果不佳的樣本,事實上是造成系統產生大幅度變化的因子,當然這些因子可以是好的,也可以是壞的。
好的因子如愛因斯坦,自小被認為是笨孩子,所以正規教育無法適合他。壞的因子如這次的武漢肺炎在韓國,也就一兩個個案造成成千上萬的人感染。但是壞的因子就一定不好嗎?如果因為感染人數超過人口的50%,大概就接近自然防疫了,先聲明這是看英國早前的聲明的,不過黑死病實際上死的人數非常高。如果病毒對人類來說是不好的,那麼對地球上的其他生物也許不是壞的。
回到機器學習上,假如一萬個訓練樣本裡有一百個樣本最後還是產生很大的誤差,因為是屬於1%的部分,所以正常來說,再訓練下去,這些樣本也不會變好的。
學生往往很執著,會希望改學習參數,改層數,或是讓訓練跑更久等等就可以讓情況變好,但是往往是沒有效用的。因為在統計上,這些會在過程中被忽略,因為我們採用的是MSE/RMS,這個M是Mean的意思,也就是平均,統計上不顯著的自然在訓練上不會去理會。
這個可能會造成系統有過度不正常的反應,問題在這個反應是否可以被接受?以 Self-Driving car來看,當然不行,撞車不僅可能死人,事後賠償很不得了。以這學期的🏓『學習的遊戲式機器學習』🏓來看,從一次的回球到下一次的回球,系統要做超過100次的決定,期間可能只錯一次到三次就會Game Over,測驗分數就從滿分變成50分,嚴不嚴重呢?
可不可以不管呢?從寫論文的觀點來看,可以不管,因為在論文裡只要有漂亮的統計數據如,f-score與p-value就可以,反正上了再說。但是現實中可不可以呢?真的就是看狀況。也難怪學術論文離產品的距離通常都很大了。所以我除了看f-score與p-value之外,會刻意讓學生去看整體樣本中誤差最大的那幾個,並看看這些會不會導致系統掛掉,有時眼睛不舒服,請學生常用的工具是box chart。
上面說過,學生直覺會採用的方法經常性是無效的。那該怎麼辦呢?
其實就是要根據這些樣本的不顯著,比例太低的這點著手,這才是所謂的root cause。
留言
張貼留言