在這個人人都可能是學霸的全民學習時代,為什麼人與人的差距依然很大?像優達學城這樣的學習網站可以為每一個人想要學習的人帶去技能和知識的補充,但要成為一個優秀的人才,你還需要一點點…嗯…特性!在這篇文章中,曾供職於微軟的機器學習工程師從一個角度來談談成為優秀的機器學習工程師必備的9大特性。
關於這個話題,你可能已經讀到過許多從技術角度給出建議的文章,比如你應該要有怎樣的基礎知識,上什麼課,讀哪些論文。本文將從另一個角度來解答這個問題,談談一個優秀的機器學習工程師應該要有(或者說應該努力去培養)怎樣的特性。
01 你要能夠享受迭代開發的樂趣。
如果你想開發一個機器學習系統,你要首先快速地用一個簡單的模型開發一個最初版本,然後在此基礎上不斷迭代去改進它。
02 你要對於什麼時候停止一個專案有很好的直覺。
對任何機器學習系統來說,只要繼續迭代下去,你總能得到更好的準確率。但從某個時刻開始,你所獲得的收益會超過你付出的精力。你要能找到這個點在哪裡。
03 你要能坦然面對失敗。
你的模型和實驗中有很大一部分到最後都會失敗。這是沒關係的。
04 你應該是好奇心驅動的。
最優秀的那一批人,真正對世界充滿好奇並用這份好奇心來驅動他們對機器學習的熱情。
05 你要有很強的資料直覺。
要善於發現資料中的樣式。為了做到這一點,能夠迅速地用 R、Python、Matlab 或是 Excel 等工具製作視覺化圖表是很重要的。
06 你要對指標(Metrics)有很強的感覺,做一個指標驅動的工程師。
你要能夠機建立合適的指標來衡量你的系統是否成功。你要很習慣做雙盲試驗,以及使用像是精確率(Precision)、召回率(Recall)、準確率(Accuracy)、ROC、轉化率(Conversion Rates)、NDCG 等這樣的名詞。
07 但你要時刻記住,指標(Metrics)並不是萬能的。
指標可以很好地從較高的層次描述你的系統表現如何。但與此同時,你也不應該放棄去直接觀察個別例子。手工地檢視你的系統表現最好和最壞的例子,以及隨機抽樣的例子,能夠反映出許多指標所不能告訴你的問題。
08 你要能夠確立一個解決模型漏洞和錯誤預測的通用途徑。
零散地修複幾個 bug 只能讓你達到區域性最優,而且這些補丁的引入往往還會使你的模型更複雜,更難上手。你應該把所有的問題放在一起考慮,找出幾個通用的解決方案,從而確定在下一輪迭代時能夠解決哪些影響最大的問題。
09 在建立模型時,你要能夠從使用者的角度出發來考慮。
要開發一個你自己覺得好的系統很容易,但要讓你目前和未來的使用者滿意就很難了。以自我為中心做出決策也很容易帶有偏向,你要牢記這一點並儘力避免。
來源:數知榜單
精彩活動
推薦閱讀
2017年資料視覺化的七大趨勢!
全球100款大資料工具彙總(前50款)
Q: 還有哪些機器學習的方法值得推薦?
歡迎留言與大家分享
請把這篇文章分享給你的朋友
轉載 / 投稿請聯絡:hzzy@hzbook.com
更多精彩文章,請在公眾號後臺點選“歷史文章”檢視