找工作時(shí)(IT行業(yè)),除了常見(jiàn)的軟件開(kāi)發(fā)以外,機(jī)器學(xué)習(xí)崗位也可以當(dāng)作是一個(gè)選擇,不少計(jì)算機(jī)方向的研究生都會(huì)接觸這個(gè),如果你的研究方向是機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘之類(lèi),且又對(duì)其非常感興趣的話,可以考慮考慮該崗位,畢竟在機(jī)器智能沒(méi)達(dá)到人類(lèi)水平之前,機(jī)器學(xué)習(xí)可以作為一種重要手段,而隨著科技的不斷發(fā)展,相信這方面的人才需求也會(huì)越來(lái)越大。
縱觀IT行業(yè)的招聘崗位,機(jī)器學(xué)習(xí)之類(lèi)的崗位還是挺少的,國(guó)內(nèi)大點(diǎn)的公司里百度,阿里,騰訊,網(wǎng)易,搜狐,華為(華為的崗位基本都是隨機(jī)分配,機(jī)器學(xué)習(xí)等崗位基本面向的是博士)等會(huì)有相關(guān)職位,另外一些國(guó)內(nèi)的中小型企業(yè)和外企也會(huì)招一小部分。當(dāng)然了,其中大部分還是百度北京要人最多,上百人。阿里的算法崗位很大一部分也是搞機(jī)器學(xué)習(xí)相關(guān)的。
毫無(wú)疑問(wèn),機(jī)器學(xué)習(xí)/人工智能的子領(lǐng)域在過(guò)去幾年越來(lái)越受歡迎。目前大數(shù)據(jù)在科技行業(yè)已經(jīng)炙手可熱,而基于大量數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè)或者得出建議的機(jī)器學(xué)習(xí)無(wú)疑是非常強(qiáng)大的。一些最常見(jiàn)的機(jī)器學(xué)習(xí)例子,比如Netflix的算法可以根據(jù)你以前看過(guò)的電影來(lái)進(jìn)行電影推薦,而Amazon的算法則可以根據(jù)你以前買(mǎi)過(guò)的書(shū)來(lái)推薦書(shū)籍。
在這篇文章中,分享一些最常用的機(jī)器學(xué)習(xí)算法。
機(jī)器學(xué)習(xí)算法可以分為三大類(lèi):監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。
監(jiān)督學(xué)習(xí)可用于一個(gè)特定的數(shù)據(jù)集(訓(xùn)練集)具有某一屬性(標(biāo)簽),但是其他數(shù)據(jù)沒(méi)有標(biāo)簽或者需要預(yù)測(cè)標(biāo)簽的情況。無(wú)監(jiān)督學(xué)習(xí)可用于給定的沒(méi)有標(biāo)簽的數(shù)據(jù)集(數(shù)據(jù)不是預(yù)分配好的),目的就是要找出數(shù)據(jù)間的潛在關(guān)系。強(qiáng)化學(xué)習(xí)位于這兩者之間,每次預(yù)測(cè)都有一定形式的反饋,但是沒(méi)有精確的標(biāo)簽或者錯(cuò)誤信息。因?yàn)檫@是一個(gè)介紹課程,我沒(méi)有學(xué)習(xí)過(guò)強(qiáng)化學(xué)習(xí)的相關(guān)內(nèi)容,但是我希望以下10個(gè)關(guān)于監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)的算法足以讓你感興趣
監(jiān)督學(xué)習(xí)
1.決策樹(shù)(Decision Trees)
決策樹(shù)是一個(gè)決策支持工具,它使用樹(shù)形圖或者決策模型以及可能性序列,包括偶然事件的結(jié)果、資源成本和效用。
根據(jù)一些 feature 進(jìn)行分類(lèi),每個(gè)節(jié)點(diǎn)提一個(gè)問(wèn)題,通過(guò)判斷,將數(shù)據(jù)分為兩類(lèi),再繼續(xù)提問(wèn)。這些問(wèn)題是根據(jù)已有數(shù)據(jù)學(xué)習(xí)出來(lái)的,再投入新數(shù)據(jù)的時(shí)候,就可以根據(jù)這棵樹(shù)上的問(wèn)題,將數(shù)據(jù)劃分到合適的葉子上。
決策樹(shù)
決策樹(shù)的優(yōu)點(diǎn):
計(jì)算量簡(jiǎn)單,可解釋性強(qiáng),比較適合處理有缺失屬性值的樣本,能夠處理不相關(guān)的特征;
缺點(diǎn):
容易過(guò)擬合(后續(xù)出現(xiàn)了隨機(jī)森林,減小了過(guò)擬合現(xiàn)象);
2.樸素貝葉斯分類(lèi)(Naive Bayesian classification)
樸素貝葉斯分類(lèi)器是一類(lèi)簡(jiǎn)單的概率分類(lèi)器,它基于貝葉斯定理和特征間的強(qiáng)大的(樸素的)獨(dú)立假設(shè)。圖中是貝葉斯公式,其中P(A|B)是后驗(yàn)概率,P(B|A)是似然,P(A)是類(lèi)先驗(yàn)概率,P(B)是預(yù)測(cè)先驗(yàn)概率。
樸素貝葉斯
一些應(yīng)用例子:
-
判斷垃圾郵件
-
對(duì)新聞的類(lèi)別進(jìn)行分類(lèi),比如科技、政治、運(yùn)動(dòng)
-
判斷文本表達(dá)的感情是積極的還是消極的
-
人臉識(shí)別
-
樸素貝葉斯的優(yōu)點(diǎn):
-
對(duì)小規(guī)模的數(shù)據(jù)表現(xiàn)很好,適合多分類(lèi)任務(wù),適合增量式訓(xùn)練。
-
缺點(diǎn):
-
對(duì)輸入數(shù)據(jù)的表達(dá)形式很敏感。
3.邏輯回歸(Logistic Regression)
邏輯回歸是一個(gè)強(qiáng)大的統(tǒng)計(jì)學(xué)方法,它可以用一個(gè)或多個(gè)解釋變量來(lái)表示一個(gè)二項(xiàng)式結(jié)果。它通過(guò)使用邏輯函數(shù)來(lái)估計(jì)概率,從而衡量類(lèi)別依賴變量和一個(gè)或多個(gè)獨(dú)立變量之間的關(guān)系,后者服從累計(jì)邏輯分布。
總的來(lái)說(shuō),邏輯回歸可以用于以下幾個(gè)真實(shí)應(yīng)用場(chǎng)景:
-
信用評(píng)分
-
計(jì)算營(yíng)銷(xiāo)活動(dòng)的成功率
-
預(yù)測(cè)某個(gè)產(chǎn)品的收入
-
特定的某一天是否會(huì)發(fā)生地震
Logistic回歸優(yōu)點(diǎn):
1、實(shí)現(xiàn)簡(jiǎn)單;
2、分類(lèi)時(shí)計(jì)算量非常小,速度很快,存儲(chǔ)資源低;
缺點(diǎn):
1、容易欠擬合,一般準(zhǔn)確度不太高
2、只能處理兩分類(lèi)問(wèn)題(在此基礎(chǔ)上衍生出來(lái)的softmax可以用于多分類(lèi)),且必須線性可分;
4.線性回歸:
線性回歸才是真正用于回歸的,而不像logistic回歸是用于分類(lèi),其基本思想是用梯度下降法對(duì)最小二乘法形式的誤差函數(shù)進(jìn)行優(yōu)化.最小二乘法是一種計(jì)算線性回歸的方法。你可以將線性回歸看做通過(guò)一組點(diǎn)來(lái)擬合一條直線。實(shí)現(xiàn)這個(gè)有很多種方法,“最小二乘法”就像這樣:你可以畫(huà)一條直線,然后對(duì)于每一個(gè)數(shù)據(jù)點(diǎn),計(jì)算每個(gè)點(diǎn)到直線的垂直距離,然后把它們加起來(lái),那么最后得到的擬合直線就是距離和盡可能小的直線。
線性回歸優(yōu)點(diǎn):
實(shí)現(xiàn)簡(jiǎn)單,計(jì)算簡(jiǎn)單;
缺點(diǎn):
不能擬合非線性數(shù)據(jù);
5.支持向量機(jī)(Support Vector Machine,SVM)
SVM是二進(jìn)制分類(lèi)算法。給定N維坐標(biāo)下兩種類(lèi)型的點(diǎn),SVM生成(N-1)維的超平面來(lái)將這些點(diǎn)分成兩組。假設(shè)你在平面上有兩種類(lèi)型的可以線性分離的點(diǎn),SVM將找到一條直線,將這些點(diǎn)分成兩種類(lèi)型,并且這條直線盡可能遠(yuǎn)離所有這些點(diǎn)。
從規(guī)模上看,使用SVM(經(jīng)過(guò)適當(dāng)?shù)男薷模┙鉀Q的一些最大的問(wèn)題包括顯示廣告、人類(lèi)剪切位點(diǎn)識(shí)別(human splice site recognition)、基于圖像的性別檢測(cè),大規(guī)模圖像分類(lèi)……
SVM算法優(yōu)點(diǎn):
可用于線性/非線性分類(lèi),也可以用于回歸;
低泛化誤差;
容易解釋?zhuān)?/span>
計(jì)算復(fù)雜度較低;
缺點(diǎn):
對(duì)參數(shù)和核函數(shù)的選擇比較敏感;
原始的SVM只比較擅長(zhǎng)處理二分類(lèi)問(wèn)題;
6.集成方法(Ensemble methods)
集成方法是學(xué)習(xí)算法,它通過(guò)構(gòu)建一組分類(lèi)器,然后通過(guò)它們的預(yù)測(cè)結(jié)果進(jìn)行加權(quán)投票來(lái)對(duì)新的數(shù)據(jù)點(diǎn)進(jìn)行分類(lèi)。原始的集成方法是貝葉斯平均,但是最近的算法包括糾錯(cuò)輸出編碼、Bagging和Boosting。
那么集成方法如何工作?并且為什么它們要優(yōu)于單個(gè)模型?
-
它們平均了單個(gè)模型的偏差:如果你將民主黨的民意調(diào)查和共和黨的民意調(diào)查在一起平均化,那么你將得到一個(gè)均衡的結(jié)果,不偏向任何一方。
-
它們減少了方差:一組模型的總體意見(jiàn)比其中任何一個(gè)模型的單一意見(jiàn)更加統(tǒng)一。在金融領(lǐng)域,這就是所謂的多元化,有許多股票的組合比一個(gè)單獨(dú)的股票的不確定性更少,這也為什么你的模型在數(shù)據(jù)多的情況下會(huì)更好的原因。
-
它們不太可能過(guò)擬合:如果你有單個(gè)的模型沒(méi)有過(guò)擬合,那么把這些模型的預(yù)測(cè)簡(jiǎn)單結(jié)合起來(lái)(平均、加權(quán)平均、邏輯回歸),那么最后得到的模型也不會(huì)過(guò)擬合。
無(wú)監(jiān)督學(xué)習(xí)
7.聚類(lèi)算法(Clustering Algorithms)
聚類(lèi)是將一系列對(duì)象分組的任務(wù),目標(biāo)是使相同組(集群)中的對(duì)象之間比其他組的對(duì)象更相似。
根據(jù)聚類(lèi)思想劃分:
1. 基于劃分的聚類(lèi):
K-means, k-medoids(每一個(gè)類(lèi)別中找一個(gè)樣本點(diǎn)來(lái)代表),CLARANS.
k-means是使下面的表達(dá)式值最小:
k-means算法的優(yōu)點(diǎn):
(1)k-means算法是解決聚類(lèi)問(wèn)題的一種經(jīng)典算法,算法簡(jiǎn)單、快速。
(2)對(duì)處理大數(shù)據(jù)集,該算法是相對(duì)可伸縮的和高效率的,因?yàn)樗膹?fù)雜度大約是O(nkt),其中n是所有對(duì)象的數(shù)目,k是簇的數(shù)目,t是迭代的次數(shù)。通常k<
(3)算法嘗試找出使平方誤差函數(shù)值最小的k個(gè)劃分。當(dāng)簇是密集的、球狀或團(tuán)狀的,且簇與簇之間區(qū)別明顯時(shí),聚類(lèi)效果較好。
缺點(diǎn):
(1)k-平均方法只有在簇的平均值被定義的情況下才能使用,且對(duì)有些分類(lèi)屬性的數(shù)據(jù)不適合。
(2)要求用戶必須事先給出要生成的簇的數(shù)目k。
(3)對(duì)初值敏感,對(duì)于不同的初始值,可能會(huì)導(dǎo)致不同的聚類(lèi)結(jié)果。
(4)不適合于發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇。
(5)對(duì)于"噪聲"和孤立點(diǎn)數(shù)據(jù)敏感,少量的該類(lèi)數(shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大影響。
2. 基于層次的聚類(lèi):
自底向上的凝聚方法,比如AGNES。
自上向下的分裂方法,比如DIANA。
3. 基于密度的聚類(lèi):
DBSACN,OPTICS,BIRCH(CF-Tree),CURE.
4. 基于網(wǎng)格的方法:
STING, WaveCluster.
5. 基于模型的聚類(lèi):
EM,SOM,COBWEB.
每一種聚類(lèi)算法都不相同,下面是一些例子:
-
基于質(zhì)心的算法
-
基于連接的算法
-
基于密度的算法
-
概率
-
降維
8.主成分分析(Principal Component Analysis,PCA)
PCA是一個(gè)統(tǒng)計(jì)學(xué)過(guò)程,它通過(guò)使用正交變換將一組可能存在相關(guān)性的變量的觀測(cè)值轉(zhuǎn)換為一組線性不相關(guān)的變量的值,轉(zhuǎn)換后的變量就是所謂的主分量。
PCA的一些應(yīng)用包括壓縮、簡(jiǎn)化數(shù)據(jù)便于學(xué)習(xí)、可視化等。請(qǐng)注意,領(lǐng)域知識(shí)在選擇是否繼續(xù)使用PCA時(shí)非常重要。 數(shù)據(jù)嘈雜的情況(PCA的所有成分具有很高的方差)并不適用。
9.奇異值分解(Singular Value Decomposition,SVD)
在線性代數(shù)中,SVD是復(fù)雜矩陣的因式分解。對(duì)于給定的m * n矩陣M,存在分解使得M=UΣV,其中U和V是酉矩陣,Σ是對(duì)角矩陣。
實(shí)際上,PCA是SVD的一個(gè)簡(jiǎn)單應(yīng)用。在計(jì)算機(jī)視覺(jué)中,第一個(gè)人臉識(shí)別算法使用PCA和SVD來(lái)將面部表示為“特征面”的線性組合,進(jìn)行降維,然后通過(guò)簡(jiǎn)單的方法將面部匹配到身份,雖然現(xiàn)代方法更復(fù)雜,但很多方面仍然依賴于類(lèi)似的技術(shù)。
10.獨(dú)立成分分析(Independent Component Analysis,ICA)
ICA是一種統(tǒng)計(jì)技術(shù),主要用于揭示隨機(jī)變量、測(cè)量值或信號(hào)集中的隱藏因素。ICA對(duì)觀測(cè)到的多變量數(shù)據(jù)定義了一個(gè)生成模型,這通常是作為樣本的一個(gè)大的數(shù)據(jù)庫(kù)。在模型中,假設(shè)數(shù)據(jù)變量由一些未知的潛在變量線性混合,混合方式也是未知的。潛在變量被假定為非高斯分布并且相互獨(dú)立,它們被稱(chēng)為觀測(cè)數(shù)據(jù)的獨(dú)立分量。
ICA與PCA有關(guān),但是當(dāng)這些經(jīng)典方法完全失效時(shí),它是一種更強(qiáng)大的技術(shù),能夠找出源的潛在因素。 其應(yīng)用包括數(shù)字圖像、文檔數(shù)據(jù)庫(kù)、經(jīng)濟(jì)指標(biāo)和心理測(cè)量。
11.神經(jīng)網(wǎng)絡(luò)(Neural Networks)
Neural Networks 適合一個(gè)input可能落入至少兩個(gè)類(lèi)別里
NN 由若干層神經(jīng)元,和它們之間的聯(lián)系組成
第一層是 input 層,最后一層是 output 層
在 hidden 層 和 output 層都有自己的 classifier
input 輸入到網(wǎng)絡(luò)中,被激活,計(jì)算的分?jǐn)?shù)被傳遞到下一層,激活后面的神經(jīng)層,最后output 層的節(jié)點(diǎn)上的分?jǐn)?shù)代表屬于各類(lèi)的分?jǐn)?shù),下圖例子得到分類(lèi)結(jié)果為 class 1
同樣的 input 被傳輸?shù)讲煌墓?jié)點(diǎn)上,之所以會(huì)得到不同的結(jié)果是因?yàn)楦髯怨?jié)點(diǎn)有不同的weights 和 bias
這也就是 forward propagation
12.馬爾科夫(Markov Chains)
Markov Chains 由 state 和 transitions 組成
栗子,根據(jù)這一句話 ‘the quick brown fox jumps over the lazy dog’,要得到 markov chain
步驟,先給每一個(gè)單詞設(shè)定成一個(gè)狀態(tài),然后計(jì)算狀態(tài)間轉(zhuǎn)換的概率
這是一句話計(jì)算出來(lái)的概率,當(dāng)你用大量文本去做統(tǒng)計(jì)的時(shí)候,會(huì)得到更大的狀態(tài)轉(zhuǎn)移矩陣,例如 the 后面可以連接的單詞,及相應(yīng)的概率
生活中,鍵盤(pán)輸入法的備選結(jié)果也是一樣的原理,模型會(huì)更高級(jí)
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28632瀏覽量
207972 -
人工智能
+關(guān)注
關(guān)注
1794文章
47642瀏覽量
239621 -
機(jī)器學(xué)習(xí)算法
+關(guān)注
關(guān)注
2文章
47瀏覽量
6465
原文標(biāo)題:淺談常見(jiàn)的機(jī)器學(xué)習(xí)算法
文章出處:【微信號(hào):eetop-1,微信公眾號(hào):EETOP】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論