淺談機(jī)器學(xué)習(xí)需要的了解的十大算法
毫無(wú)疑問(wèn),近些年機(jī)器學(xué)習(xí)和人工智能領(lǐng)域受到了越來(lái)越多的關(guān)注。隨著大數(shù)據(jù)成為當(dāng)下工業(yè)界最火爆的技術(shù)趨勢(shì),機(jī)器學(xué)習(xí)也借助大數(shù)據(jù)在預(yù)測(cè)和推薦方面取得了驚人的成績(jī)。比較有名的機(jī)器學(xué)習(xí)案例包括Netflix根據(jù)用戶歷史瀏覽行為給用戶推薦電影,亞馬遜基于用戶的歷史購(gòu)買行為來(lái)推薦圖書(shū)。
那么,如果你想要學(xué)習(xí)機(jī)器學(xué)習(xí)的算法,該如何入門呢?就我而言,我的入門課程是在哥本哈根留學(xué)時(shí)選修的人工智能課程。老師是丹麥科技大學(xué)應(yīng)用數(shù)學(xué)和計(jì)算機(jī)專業(yè)的全職教授,他的研究方向是邏輯學(xué)和人工智能,主要是用邏輯學(xué)的方法來(lái)建模。課程包括了理論/核心概念的探討和動(dòng)手實(shí)踐兩個(gè)部分。我們使用的教材是人工智能的經(jīng)典書(shū)籍之一:PeterNorvig教授的《人工智能——一種現(xiàn)代方法》,課程涉及到了智能代理、基于搜索的求解、對(duì)抗搜索、概率論、多代理系統(tǒng)、社交化人工智能,以及人工智能的倫理和未來(lái)等話題。在課程的后期,我們?nèi)齻€(gè)人還組隊(duì)做了編程項(xiàng)目,實(shí)現(xiàn)了基于搜索的簡(jiǎn)單算法來(lái)解決虛擬環(huán)境下的交通運(yùn)輸任務(wù)。
我從課程中學(xué)到了非常多的知識(shí),并且打算在這個(gè)專題里繼續(xù)深入學(xué)習(xí)。在過(guò)去幾周內(nèi),我參與了舊金山地區(qū)的多場(chǎng)深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)架構(gòu)的演講——還有一場(chǎng)眾多知名教授云集的機(jī)器學(xué)習(xí)會(huì)議。最重要的是,我在六月初注冊(cè)了Udacity的《機(jī)器學(xué)習(xí)導(dǎo)論》在線課程,并且在幾天前學(xué)完了課程內(nèi)容。在本文中,我想分享幾個(gè)我從課程中學(xué)到的常用機(jī)器學(xué)習(xí)算法。
機(jī)器學(xué)習(xí)算法通??梢员环譃槿箢悺O(jiān)督式學(xué)習(xí),非監(jiān)督式學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。監(jiān)督式學(xué)習(xí)主要用于一部分?jǐn)?shù)據(jù)集(訓(xùn)練數(shù)據(jù))有某些可以獲取的熟悉(標(biāo)簽),但剩余的樣本缺失并且需要預(yù)測(cè)的場(chǎng)景。非監(jiān)督式學(xué)習(xí)主要用于從未標(biāo)注數(shù)據(jù)集中挖掘相互之間的隱含關(guān)系。強(qiáng)化學(xué)習(xí)介于兩者之間——每一步預(yù)測(cè)或者行為都或多或少有一些反饋信息,但是卻沒(méi)有準(zhǔn)確的標(biāo)簽或者錯(cuò)誤提示。由于這是入門級(jí)的課程,并沒(méi)有提及強(qiáng)化學(xué)習(xí),但我希望監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的十個(gè)算法足夠吊起你的胃口了。
監(jiān)督式學(xué)習(xí)
1.決策樹(shù):
決策樹(shù)是一種決策支持工具,它使用樹(shù)狀圖或者樹(shù)狀模型來(lái)表示決策過(guò)程以及后續(xù)得到的結(jié)果,包括概率事件結(jié)果等。請(qǐng)觀察下圖來(lái)理解決策樹(shù)的結(jié)構(gòu)。
從商業(yè)決策的角度來(lái)看,決策樹(shù)就是通過(guò)盡可能少的是非判斷問(wèn)題來(lái)預(yù)測(cè)決策正確的概率。這種方法可以幫你用一種結(jié)構(gòu)性的、系統(tǒng)性的方法來(lái)得出合理的結(jié)論。
2.樸素貝葉斯分類器:
樸素貝葉斯分類器是一類基于貝葉斯理論的簡(jiǎn)單的概率分類器,它假設(shè)特征之前是相互獨(dú)立的。下圖所示的就是公式——P(A|B)表示后驗(yàn)概率,P(B|A)是似然值,P(A)是類別的先驗(yàn)概率,P(B)代表預(yù)測(cè)器的先驗(yàn)概率。
現(xiàn)實(shí)場(chǎng)景中的一些例子包括:
檢測(cè)垃圾電子郵件
將新聞分為科技、政治、體育等類別
判斷一段文字表達(dá)積極的情緒還是消極的情緒
用于人臉檢測(cè)軟件
3.最小平方回歸:
如果你學(xué)過(guò)統(tǒng)計(jì)課程,也許聽(tīng)說(shuō)過(guò)線性回歸的概念。最小平方回歸是求線性回歸的一種方法。你可以把線性回歸想成是用一條直線擬合若干個(gè)點(diǎn)。擬合的方法有許多種,“最小平方”的策略相當(dāng)于你畫一條直線,然后計(jì)算每個(gè)點(diǎn)到直線的垂直距離,最后把各個(gè)距離求和;最佳擬合的直線就是距離和最小的那一條。
線性指的是用于擬合數(shù)據(jù)的模型,而最小平方指的是待優(yōu)化的損失函數(shù)。
4.邏輯回歸:
邏輯回歸模型是一種強(qiáng)大的統(tǒng)計(jì)建模方式,它用一個(gè)或多個(gè)解釋性變量對(duì)二值輸出結(jié)果建模。它用邏輯斯蒂函數(shù)估計(jì)概率值,以此衡量分類依賴變量和一個(gè)或多個(gè)獨(dú)立的變量之間的關(guān)系,這屬于累積的邏輯斯蒂分布。
通常來(lái)說(shuō),邏輯回歸模型在現(xiàn)實(shí)場(chǎng)景中的應(yīng)用包括:
信用評(píng)分
預(yù)測(cè)商業(yè)活動(dòng)的成功概率
預(yù)測(cè)某款產(chǎn)品的收益
預(yù)測(cè)某一天發(fā)生地震的概率
5.支持向量機(jī):
支持向量機(jī)是一種二分類算法。在N維空間中給定兩類點(diǎn),支持向量機(jī)生成一個(gè)(N-1)維的超平面將這些點(diǎn)分為兩類。舉個(gè)例子,比如在紙上有兩類線性可分的點(diǎn)。支持向量機(jī)會(huì)尋找一條直線將這兩類點(diǎn)區(qū)分開(kāi)來(lái),并且與這些點(diǎn)的距離都盡可能遠(yuǎn)。
利用支持向量機(jī)(結(jié)合具體應(yīng)用場(chǎng)景做了改進(jìn))解決的大規(guī)模問(wèn)題包括展示廣告、人體結(jié)合部位識(shí)別、基于圖像的性別檢查、大規(guī)模圖像分類等……
6.集成方法:
集成方法是先構(gòu)建一組分類器,然后用各個(gè)分類器帶權(quán)重的投票來(lái)預(yù)測(cè)新數(shù)據(jù)的算法。最初的集成方法是貝葉斯平均,但最新的算法包括誤差糾正輸出編碼和提升算法。
那么集成模型的原理是什么,以及它為什么比獨(dú)立模型的效果好呢?
它們消除了偏置的影響:比如把民主黨的問(wèn)卷和共和黨的問(wèn)卷混合,從中得到的將是一個(gè)不倫不類的偏中立的信息。
它們能減小預(yù)測(cè)的方差:多個(gè)模型聚合后的預(yù)測(cè)結(jié)果比單一模型的預(yù)測(cè)結(jié)果更穩(wěn)定。在金融界,這被稱為是多樣化——多個(gè)股票的混合產(chǎn)品波動(dòng)總是遠(yuǎn)小于單個(gè)股票的波動(dòng)。這也解釋了為何增加訓(xùn)練數(shù)據(jù),模型的效果會(huì)變得更好。
它們不容易產(chǎn)生過(guò)擬合:如果單個(gè)模型不會(huì)產(chǎn)生過(guò)擬合,那么將每個(gè)模型的預(yù)測(cè)結(jié)果簡(jiǎn)單地組合(取均值、加權(quán)平均、邏輯回歸),沒(méi)有理由產(chǎn)生過(guò)擬合。
非監(jiān)督學(xué)習(xí)
7.聚類算法:
聚類算法的任務(wù)是將一群物體聚成多個(gè)組,分到同一個(gè)組(簇)的物體比其它組的物體更相似。
每種聚類算法都各不相同,這里列舉了幾種:
基于類心的聚類算法
基于連接的聚類算法
基于密度的聚類算法
概率型算法
降維算法
神經(jīng)網(wǎng)絡(luò)/深度學(xué)習(xí)
8.主成分分析:
主成分分析屬于統(tǒng)計(jì)學(xué)的方法,過(guò)正交變換將一組可能存在相關(guān)性的變量轉(zhuǎn)換為一組線性不相關(guān)的變量,轉(zhuǎn)換后的這組變量叫主成分。
主成分分析的一些實(shí)際應(yīng)用包括數(shù)據(jù)壓縮,簡(jiǎn)化數(shù)據(jù)表示,數(shù)據(jù)可視化等。值得一提的是需要領(lǐng)域知識(shí)來(lái)判斷是否適合使用主成分分析算法。如果數(shù)據(jù)的噪聲太大(即各個(gè)成分的方差都很大),就不適合使用主成分分析算法。
9.奇異值分解:
奇異值分解是線性代數(shù)中一種重要的矩陣分解,是矩陣分析中正規(guī)矩陣酉對(duì)角化的推廣。對(duì)于給定的m*n矩陣M,可以將其分解為M=UΣV,其中U和V是m×m階酉矩陣,Σ是半正定m×n階對(duì)角矩陣。
主成分分析其實(shí)就是一種簡(jiǎn)單的奇異值分解算法。在計(jì)算機(jī)視覺(jué)領(lǐng)域中,第一例人臉識(shí)別算法使用了主成分分析和奇異值分解將人臉表示為一組“特征臉(eigenfaces)”的線性組合,經(jīng)過(guò)降維,然后利用簡(jiǎn)單的方法匹配候選人臉。盡管現(xiàn)代的方法更加精細(xì),許多技術(shù)還是于此很相似。
10.獨(dú)立成分分析:
獨(dú)立成分分析是一種利用統(tǒng)計(jì)原理進(jìn)行計(jì)算來(lái)揭示隨機(jī)變量、測(cè)量值或者信號(hào)背后的隱藏因素的方法。獨(dú)立成分分析算法給所觀察到的多變量數(shù)據(jù)定義了一個(gè)生成模型,通常這些變量是大批量的樣本。在該模型中,數(shù)據(jù)變量被假定為一些未知的潛變量的線性混合,而且混合系統(tǒng)也未知。潛變量被假定是非高斯和相互獨(dú)立的,它們被稱為所觀察到的數(shù)據(jù)的獨(dú)立分量。
獨(dú)立成分分析與主成分分析有關(guān)聯(lián),但它是一個(gè)更強(qiáng)大的技術(shù)。它能夠在這些經(jīng)典方法失效時(shí)仍舊找到數(shù)據(jù)源的潛在因素。它的應(yīng)用包括數(shù)字圖像、文檔數(shù)據(jù)庫(kù)、經(jīng)濟(jì)指標(biāo)和心理測(cè)量。
現(xiàn)在,請(qǐng)運(yùn)用你所理解的算法,去創(chuàng)造機(jī)器學(xué)習(xí)應(yīng)用,改善全世界人們的生活質(zhì)量吧。
總結(jié)
以上就是本文關(guān)于淺談機(jī)器學(xué)習(xí)需要的了解的十大算法的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站Python和算法相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
終于明白tf.reduce_sum()函數(shù)和tf.reduce_mean()函數(shù)用法
這篇文章主要介紹了終于明白tf.reduce_sum()函數(shù)和tf.reduce_mean()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11Python使用Pyqt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器(最新版本測(cè)試過(guò))
這篇文章主要介紹了Python使用Pyqt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器(最新版本測(cè)試過(guò)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python三元運(yùn)算與lambda表達(dá)式實(shí)例解析
這篇文章主要介紹了Python三元運(yùn)算與lambda表達(dá)式實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11python 插入Null值數(shù)據(jù)到Postgresql的操作
這篇文章主要介紹了python 插入Null值數(shù)據(jù)到Postgresql的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03詳細(xì)解讀tornado協(xié)程(coroutine)原理
這篇文章主要介紹了詳細(xì)解讀tornado協(xié)程(coroutine)原理,涉及協(xié)程定義,生成器和yield語(yǔ)義,F(xiàn)uture對(duì)象,ioloop對(duì)象,函數(shù)裝飾器coroutine等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python密碼學(xué)文件解密實(shí)現(xiàn)教程
這篇文章主要為大家介紹了python密碼學(xué)文件解密實(shí)現(xiàn)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05如何理解python接口自動(dòng)化之logging日志模塊
代碼需要經(jīng)歷開(kāi)發(fā)、調(diào)試、審查、測(cè)試或者上線等不同階段,在“測(cè)試”時(shí),可能只想看警告和錯(cuò)誤信息,然而在“調(diào)試”時(shí),可能還想看到跟調(diào)試相關(guān)的信息。如果想打印出使用的模塊以及代碼運(yùn)行的時(shí)間,那么代碼很容易變得混亂。使用logging日志模塊,就能很容易地解決2021-06-06在pycharm中無(wú)法import所安裝的庫(kù)解決方案
這篇文章主要介紹了在pycharm中無(wú)法import所安裝的庫(kù)解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05