相信很多人對于AI的作用以及將來工作的方式存在很多疑問,這里簡單得和大家分享一下我的一些心得。
實際上在之前Python-科學計算庫當中涉及到的模塊,比如numpy基礎(chǔ)建模、pandas數(shù)據(jù)處理、matplotlib統(tǒng)計繪圖,都是為機器學習打基礎(chǔ)的。讓大家初步得了解了一下機器學習或人工智能領(lǐng)域中需要接觸到的知識。
除了對于編程工具的熟練運用,在進入人工智能領(lǐng)域時還需具備一定的數(shù)學基礎(chǔ)。這兩個基礎(chǔ)一定要打得牢固。很多人學習人工智能前首先會想方設(shè)法得對爬蟲知識進行惡補,但個人覺得如果希望能夠盡快完成對人工智能行業(yè)的轉(zhuǎn)型,目前的研究方向可以僅對爬蟲的知識點到為止。爬蟲很多情況下在工作中不會用到,數(shù)據(jù)會由企業(yè)進行提供。
=== 深度學習和機器學習的區(qū)別 ===
首先幫助大家對深度學習和機器學習的區(qū)別進行掃盲。
很多人說深度學習是從機器學習發(fā)展而來的,這沒錯。但是就目前它們涉及到領(lǐng)域而言還是有所不同的。
機器學習偏向于對數(shù)據(jù)的處理,只要有數(shù)據(jù),機器學習中相關(guān)的算法都可以運用進去。
深度學習則偏向于圖像檢測、自然語言處理等,深度學習更專精于某個領(lǐng)域一些。
如果機器學習和深度學習各會一點,而沒有專精于某個領(lǐng)域,那么對于找工作而言未必是個好事。就好比圖像識別的相關(guān)系數(shù)和自然語言處理的相關(guān)系數(shù)是完全不同的。如果你只想做圖像檢測,那么就將深度學習中的圖像處理、目標檢測學明白即可。
后續(xù)的文章會分別將機器學習和深度學習進行梳理,當大家對內(nèi)容有了一定的認知后再慢慢思考自己的興趣所在以及將來研究的方向。相信這會是你畢生的事業(yè)。
=== 機器學習的本質(zhì) ===
統(tǒng)計是機器學習的基礎(chǔ),機器學習所用到的知識85%以上都是相關(guān)的。我們大學里學過的統(tǒng)計學的基礎(chǔ)、高數(shù)中的求導(dǎo)求偏導(dǎo)、線性代數(shù)中的矩陣運算都會大量運用到機器學習的工作當中。
機器學習中最關(guān)鍵的科目是線性代數(shù),線性代數(shù)很大程度上做的是矩陣的運算,在機器學習和深度學習過程中,首先我們需要有大量的數(shù)據(jù),數(shù)據(jù)的構(gòu)成最終會形成矩陣。然后將矩陣中的數(shù)據(jù)代入到機器學習的算法中去,最終得到我們的求解目標。
后續(xù)的文章會將重點的數(shù)學知識提煉出來和算法一起解讀,個人不建議再回頭重新啃一遍大學里所有的數(shù)學書,像準備考研那樣去做大量習題。畢竟目前人工智能不需要大家自己去開發(fā)算法,也沒有精力把所有的數(shù)學知識全部學透。
目前人工智能的入門工作還是偏向于大量的復(fù)制粘貼工作,這點和傳統(tǒng)互聯(lián)網(wǎng)行業(yè)的入門差不多。后續(xù)文章中所講述的機器學習代碼,注重學習算法的運用,畢竟目前集成的機器學習庫運算結(jié)果準確度很高, 運算效率也不錯。雖然筆者會講述算法的原理,但是沒有必要深入理解,畢竟工作不可能一上來就讓你優(yōu)化算法。學會API,了解運用場景即可。
=== 機器學習的大綱 ===
這里我先把后續(xù)文章的大綱簡單列一下,后續(xù)可能會略有調(diào)整。
首先理解回歸和分類的概念。
回歸:對連續(xù)型數(shù)據(jù)未來的預(yù)測稱為回歸。是進入機器學習的入門算法,幫助你們進入機器學習的大門。該算法和統(tǒng)計中相關(guān)的模型建立、假設(shè)相關(guān),最后通過線性回歸對數(shù)據(jù)進行預(yù)測。統(tǒng)計學習中的終極是回歸算法,而這個算法是機器學習的開始,是最基礎(chǔ)、最簡單的方法。
分類:對離散型數(shù)據(jù)的歸納稱為分類。
1、LinearRegression線性回歸:對連續(xù)型數(shù)據(jù)未來的預(yù)測。
2、Logistic回歸:名曰回歸,卻處理著離散數(shù)據(jù)的分類。如:根據(jù)一堆數(shù)據(jù),分析是產(chǎn)生這些數(shù)據(jù)的男是女。
3、Softmax回歸: 處理多分類。如:分析一個動物是貓是狗是兔子,處理多分類。是在Logistic二分類的基礎(chǔ)上進化出來的算法。
4、 KNN算法: 也稱鄰近算法,是分類算法中最簡單的方法之一。所謂K最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。
5、 決策樹:比較高級的算法,分類問題和回歸問題都能解決。
6、 集成學習:了解了以上若干比較基礎(chǔ)的機器學習算法后,將之前的方法合并起來。
也許這些模型的最終的模型結(jié)果不是很好,通過某種集成的方法也許會讓結(jié)果變得更好。
7、SVM支持向量機:主要用來解決分類問題。其中SVR也支持向量回歸的算法。
8、聚類:以上的算法都有明確的目的,但如果對于數(shù)據(jù)的分類結(jié)果事先不確定,或者說不知道數(shù)據(jù)要分出幾類。那么最合理的解決方法就是把數(shù)據(jù)劃分開,每一類數(shù)據(jù)都分析出一個比較典型的特性來區(qū)分。這種思想和算法叫做聚類。1~5是有監(jiān)督的方法,即有目標存在而聚類是一種無監(jiān)督的方法。
9、貝葉斯算法、貝葉斯網(wǎng)絡(luò):一種特定的分類方法,用于文本的分類。
10、EM算法:不是機器學習的模型,是一種解決機器學習模型中參數(shù)求解的算法。
11、HMM(隱馬爾可夫模型):中文分詞運用的比較多。也是分詞領(lǐng)域中最基本的模型,面試中會經(jīng)常問起,但工作中未必會用到。
12、主題模型LDA算法:有若干份文章,想知道文章的類型(是新聞、小說?)或更細的分類(懸疑小說、科幻小說?) 對于人類而言需要閱讀后才能知道。機器能做的是對這若干份文章進行劃分。注意:是劃分而不是明確分類。因為在有監(jiān)督的算法中,我們才能確定文章所屬的明確分類,但很多時候分類的時候并不知道。LDA算法通過機器對文章進行分類,最后人工進行貼標簽。
13、特征工程:將原始數(shù)據(jù)轉(zhuǎn)化為特征,更好表示預(yù)測模型處理的實際問題,提升對于未知數(shù)據(jù)的準確性。它是用目標問題所在的特定領(lǐng)域知識或者自動化的方法來生成、提取、刪減或者組合變化得到特征。
AI面試中最重要的能力指標
1、項目經(jīng)歷。
2、對算法的理解能力:遇到一個復(fù)雜公式的時候,如何對其進行解讀。
3、計算機編程的能力。