來用自己的例子勸退一些想跳機器學習的人
首先是數學程度,
我是數學系的,什麼線代,微積分,機率,統計的都很熟其實工作也會用到,
描述一些比較有印象的工作用過的數學,
比較有趣關於微積分的經驗:
老闆把問題用一個式子 exp(-rx)*((1/delta)*sqrt(A))*exp(-x^2/(A))來解釋,
並要對x積整個實數範圍。
在場大家都面面相覷我就被要求積了。
但這其實不難積,就高斯積分,有背整理一下秒解,
沒背也不難推。我大學微積分沒在背的所以是當場直接推,然後才繼續那場會議。
機率統計就那些常見的像是:
在一堆數據中給一些想法假設然後檢定,
或是想辦法對一直變動pattern的資料去建對應的機率模型。
但我具體數學程度到哪,舉兩個例子一個是深度學習WGAN一個是經典的random forest。
https://arxiv.org/pdf/1701.07875.pdf 這是WGAN。
https://link.springer.com/article/10.1023/A:1010933404324 這是RF。
基本上裡面的純數推導我幾乎都理解,
WGAN用到實分析跟線性規劃,
RF則是機率。
以上大概描述一下我的數學程度。
接著是我的電腦技能,
我熟悉的語言有C++跟PYTHON,基本上各有兩年以上的工作實務經驗。
python就絕大部份公司機器學習用的語言不解釋。
C++曾被公司要求所有演算法都要自己刻,這之中還包刮神經網路,
連 backpropagation 都要自己刻,
然後資料結構演算法,計算機組織,作業系統都讀過。
至於程度到哪我也不好說,我自知去參加程式比賽會被電死,但基本程度應該是有。
資料結構的程度至少是在刷題的時候不會卡在"天啊這個是什麼資料結構",
跟曾經在工作被要求刻了一個紅黑樹,雖然我現在忘了而且skip list太好用。
演算法就刷題的時候不會無止境一直設條件,
會嘗試用一些演算法想法比如 divide and conquer or dp 來解題。
計組作業系統就是那些什麼cpu pipeline 記憶體管理緩存設計都懂。
資料庫則是公司用什麼我就學什麼。
機器學習的部分就是幾乎現在大家喊得出名字的我都可以實作,
有要證明的模型我都可以證明,不過需要回憶準備一下哈哈因為模型太多沒全記。
大致用書來表示一下我懂得大概範圍好了。
https://www.deeplearningbook.org/
deep learning 的經典不解釋。
http://www.cs.cmu.edu/~tom/mlbook.html
machine learning 也算經典但很老的一本了。
https://www.tenlong.com.tw/products/9787302275954
各種經典的機器學習模型的推導書,雖然這個作者幾乎只是翻譯論文,但翻的還滿好的。
新技術太多我就不提了我都有在追。
以上大致描述一下我的程度,目前的結果是我近半年完全找不到工作XD
不管國內國外,丟履歷都沒回覆,基本上連面試機會都沒有。
搞得現在只能送foodpanda,
真的是能力不足阿...
希望這慘痛的經歷能拯救還想再跳AI的人阿。
==================================================
發現太多人執著實作的部分,其實要求手刻的只有一家公司,雖然我也在那邊做很久
除了那間公司其他的我也是用包啦,Tensorflow,cntk 之類的都會用。