分享

艾瑪人肉學習週記(Week03):我們會合拍的

 
本週開始上機器學習,講到監督式學習、非監督式學習、辦監督式學習與增強學習,其中監督式學習講得最多。
課程內容有200頁,很慶幸陳弘軒老師雖然準備了許多數學算式和推導在裡面,上課時並不講太多推倒課程(更正為推導過程,上課時間老師可以推導公式,學生不能推倒老師,要注意上課秩序),很多時候,老師會相當貼心地講點人話,例如講kNN時:
「Training data沒有跑出好的結果(underfitting),需要更複雜的模型,去把k設小一點,讓資料盡量被利用。」
*參考的是Andrew Ng在2015年與GPU Technology研討會的投影片,後來這天課程中學的每種方法都會回到Andrew Ng的流程圖裡檢查。
**k是人可以設定的hyperparameter,在機器學習裡人可以設的叫hyperparameter,parameter會自己跑出來的;在統計學裡,有些parameter是人可以設的。(人話!不同領域裡講相同的東西會用不同的字)
雖然開學前後,我因為內心戲太多所以和大家分享,但我仍不免會收到「為什麼要學coding?請人做就行了。」在這裡我用作業中的一題來做說明,為何我仍會堅持照著課程安排,每一堂可以學得我都要盡量學起來!
作業之一:根據經驗,某產線產品良率為95%。此產線欲引進自動瑕疵檢測技術,兩位不同的工程師各自實現了自動瑕疵檢測技術。兩人回報的實驗數值如下。a. 工程師A:我的模型正確率 (accuracy) 達90%以上。b. 工程師 B:我的模型能找出99%以上有瑕疵的產品。單憑這些資訊,誰的模型可能比較符合實際的需求? 
這題的範圍是統計的型一和型二錯誤,但在05/30的課程中,陳老師表示,雖然在這個班上我們不要求同學要從頭到尾地coding,但coding中需要的觀念、可以調整的參數,大家都要有概念,這樣在團隊合作中,若是有觀念也不甚清楚(或操弄觀念)的工程師或數據分析人員唬爛,才不會就這樣被唬爛過去,題目中的B就很可能寬鬆地認定「有瑕疵」,有和沒有的全認為有,這樣99%還算好棒棒嗎?又或者是,當大家一起卡在某個地方的時候,才有機會提出符合邏輯或理論的建議,也有這領域中共通的語言可以溝通。
coding的學習繼續,雖然感覺自己進度很慢,但我默默地感到我們會合拍的。我同學跟我說過:
「程式語言比人類的語言簡單多了。」
我越來越能體會這句話了,不管是哪種程式語言,只要寫的人能講清楚,程式自然會跑出來,跑不出來只有兩種原因,一是沒有用它的方式跟它講,二是下指令的人自己還沒想清楚,所以也講不清楚要它做什麼,相較於人類的語言,你叫人人不做卻有各式各樣的說法,並且你也搞不清楚人為什麼做或不做,更是搞不清楚做或不做是否會延續下去、是否為經常性狀態。
要跟它對話並非一蹴可及,不過,至少我知道它不是捉摸不定,相同的輸入總能有相同的結果,而人不見得。
本週的學習進度有點混亂,05/30上完課後,發現老師講到的主題,在課外指定讀物中都有更仔細的講解,昨天讀的時間超過我預期,不是很確定在下次上課前可以都讀過,我原本還一起讀Python和R語言的入門部分,可以看見相似與相異處,但手把手課程的補充與課外讀物向Python傾斜,我調整了時間分配,看來真是計畫敢不上變化。(嘆)
分類:學習

評論
上一篇
  • 下一篇
  • 更多文章
    載入中... 沒有更多了