写给想转行机器学习深度学习的同学
自從我畢業以來,先是火機器學習,然后火大數據,之后火深度學習,現在火人工智能這些算法領域。越來越多的朋友想從工業,金融等等行業轉行到算法相關的行業,我一年前在知乎上寫了一個答案本科生怎樣通過努力拿到較好的機器學習/數據挖掘相關的offer?,當時拿了不少的贊,所以也一直有同學找我咨詢相關的問題,確確實實也有相當一批人拿到了不錯的offer。
我個人不是很喜歡更新非技術的文章,但是我還是覺得如果能幫助到一些人,其實也是另一種技術輸出的展現,所以我就寫下了下面這篇短文,希望對迷茫的人有所幫助。
首先,轉機器學習的難度如何評估?
今天一大早,我在刷知乎的時候,刷到這個題目非計算機專業學生如何轉行AI,并找到算法offer?,我看到這個叫做BrianRWang的答主的一個“10問檢驗你的基礎水平”,我覺得是至少我看來非常全面考驗數學基礎的,所以這邊就和大家分享一下(答案我會在最后給出,有興趣的最好自己做一下,括號里面的我個人覺得沒有意義所以沒有給出解釋,有興趣的卻又解不出來的同學可以私信我):
1.什么是貝葉斯定理?請簡述其公式?現分別有 A,B 兩個容器,在容器 A 里分別有 7 個紅球和 3 個白球,在容器 B 里有 1 個紅球和 9 個白球,現已知從這兩個容器里任意抽出了一個球,且是紅球,問這個紅球是來自容器 A 的概率是多少?
這題考了概率論的基礎,雖然考了貝葉斯,但是后面的容器問題完全可以不用貝葉斯也可以算出來,算是一題數學敏感度的測試題,看看自己適不適合去努力切入這個方向。
2.請簡述卡方分布和卡方檢驗的定義?(給你一個2*2的列表讓你算卡方分布,你會怎么做?)
這題考了梳理統計的基礎,括號里面的我個人覺得沒有意義,有興趣的可以查表算一下。
3.在概率統計學里,自由度是如何被定義的,又該怎樣去應用?
原作者BrianRWang認為這題比較偏,屬于冷門題目。個人看法:其實我覺得如果是任何一個理工科的同學,這題都應該能答出來,大學的課程里,自由度的理解直接決定了統計科目大家的學習質量。
以上的三題考了概率論與數理統計的基礎,在機器學習理論中,概率論和數理統計的基礎是否扎實直接決定了能否很好的理解各個理論的前置條件,適用場景,提升方向等,著實重要。
4.請簡述什么是線性代數里的矩陣特征值和特征向量?(求矩陣:A=np.array([[1,2],[3,4]])的特征值,特征向量,寫出其運算公式)
線性代數題目,很簡單給出對應的公式即可,我在SVD介紹的時候就完全講過。如果換成,如何理解特征值及特征向量在空間中的實際意義,這題就會變得非??ㄈ?。
5.如何使用級數分解的方法求解e^x?(并給出在數值計算中可能遇到的問題。)
數學分析的題目,一個公式。
以上的題目都是線性代數,數學分析的題目,都是比較考驗大學的基本功,如果不記得也很正常,只要能說出大概的思想就行,比如空間選擇啊,點導數展開。
6.數據結構的定義是什么?運用數據結構的意義是什么?
計算機題,這題應該是幾個問答中最簡單的了。
7.請說明至少兩種用于數據可視化(data visualization)的package。并且說明,在數據分析報告里用數據可視化的意義是什么?
前一問如果主動接觸過計算科學的人這題比較好答,如果是純新手,這題就是無從下手的。后面一小問也是屬于考察你的數據敏感度的,如果能夠match到一些點,很加分。
8.假如讓你用編程方法,比如python,處理一個你沒見過的數學問題,比如求解一個pde或者整快速傅里葉變換,你應該查什么東西,找哪一個package的參考資料?
同上一條前一部分。
9.請簡述面向對象編程和函數式編程分別的定義,并舉出其案例。
計算機題,考了基礎的編程的一些風格的了解程度,說實話,這題我第一次看到也很懵,還去Google了一下。
原作者還有一個第10題,不涉及技術,我就沒放。以上四題更偏向coding的能力,雖然說算法工程師、數據挖掘工程師、NLP工程師,等等,都是掛著科研的title,但是過硬的coding能力是完全不能缺少的,要其他人把很復雜的數學理論用代碼幫你實現出來的交流成本巨大,我覺得精通或者熟悉至少一門語言還是非常重要的。
原作者認為:
以上提問如果能閉卷對7個及以上,證明一個學生的基礎還是比較好的。只要聰明肯學,一定是有所裨益的。在7個,到3個之間,不妨提高一下自己的數學水平;努努力還是可以學會機器學習的。如果寫對不了兩個(“這都啥啊?”),郴州勃學院復讀班歡迎你過去。
其實我還是比較認同的,答對3個或者2.5個以上的同學,完全可以試一試轉一轉,我覺得不存在說入不了門的情況。能答對7個或者7.5以上的同學,我覺得可以投簡歷了,如果我收到你的簡歷,即便是你沒有歷史的工作經驗,我很愿意讓你試一試的。
一些資料
很多轉行的朋友會問我,到底看什么書會比較好,我剛開始會推薦一堆,后來自己想了想發現,還是太天真,大家工作忙的要死,看一本就很難了,別說一堆。
我最后就濃縮了三本::周志華老師的西瓜書(《機器學習》周志華 清華大學出版社),李航的帶你玩轉基礎理論(《統計學習方法》李航 清華大學出版社),經典廁所讀物(《數學之美》吳軍 人民郵電出版社)。
確實是很經典很經典的書,我現在基本上每次必回答以上三本。
除此之外,在coursera上找吳恩達(Andrew Ng)教授的機器學習課程,他把要用到的數學知識也做了簡單的講解,機器學習方面的理論和算法講的也很詳細,而且很基礎,肯定可以看懂。Machine Learning | Coursera,應該是最適合看的視頻類的資料沒有之一。
我不反對也不支持大家去參加幾千幾萬的速成班,幾十幾百的live課程,但是我覺得你不妨先看完以上的書和視頻再做決定,一定不會讓你失望。之前我一直在給team做吳恩達(Andrew Ng)在線課程的分享,一直到最近我發現不如整理出來給team以外的大家一起看算了,所以在Gradient Checking(9-5)這節課之后的所有課程,如果有價值的地方,我都做了筆記后面會分享在我的GitHub中,希望給大家一些幫助。
最后,希望我們都不負自己的青春。
作者:slade_sal
鏈接:https://www.jianshu.com/p/620a2ddc2846
總結
以上是生活随笔為你收集整理的写给想转行机器学习深度学习的同学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 28条有关人工智能的名言,靠不靠谱你来看
- 下一篇: 还纠结选机器学习还是深度学习?看完你就有