看官,機(jī)器學(xué)習(xí)了解一下?

隨著人工智能的火熱,學(xué)習(xí)機(jī)器學(xué)習(xí)知識(shí)已經(jīng)迫在眉睫

越來越多的企業(yè)已經(jīng)開始逐步在產(chǎn)品中應(yīng)用機(jī)器學(xué)習(xí)的模型,當(dāng)下人工智能火熱,未來引發(fā)一場(chǎng)技術(shù)革命也說不準(zhǔn)。身為程序員,需要時(shí)刻了解前沿的各種信息,這樣才能保證自己不被時(shí)代所淘汰。

本文將自己在機(jī)器學(xué)習(xí)中的筆記內(nèi)容分享出來,也記錄自己的學(xué)習(xí)過程。

什么是機(jī)器學(xué)習(xí)?

機(jī)器學(xué)習(xí)顧名思義,就是人類教會(huì)計(jì)算機(jī)利用以往的經(jīng)驗(yàn)來完成指定的任務(wù),能夠像人類一樣學(xué)習(xí)。

機(jī)器學(xué)習(xí)有三個(gè)要素:數(shù)據(jù),模型,算法。這三者之間的關(guān)系就是通過數(shù)據(jù)利用一定的算法生成模型,讓機(jī)器可以按照模型去處理或者預(yù)測(cè)新的數(shù)據(jù)。

機(jī)器學(xué)習(xí)常用的算法主要有決策樹,樸素貝葉斯,線性回歸,邏輯回歸,SVM(支持向量機(jī)),神經(jīng)網(wǎng)絡(luò)等算法。此文先用簡單的例子來逐一講解各個(gè)算法概念,后續(xù)會(huì)詳細(xì)介紹具體的原理和推導(dǎo)過程。

決策樹

舉個(gè)例子,我們有一些統(tǒng)計(jì)某些APP的下載情況的數(shù)據(jù),如下圖:


image

現(xiàn)在我們需要根據(jù)這些數(shù)據(jù)預(yù)測(cè)新用戶會(huì)下載哪類APP,來進(jìn)行精準(zhǔn)的APP廣告投放。

通過分析數(shù)據(jù)得出,我們可以根據(jù)年齡和性別大概判斷不同的用戶會(huì)下載哪類APP。

這就類似我們提出一個(gè)問題,通過判斷,將答案分成兩類,然后重復(fù)以上步驟,繼續(xù)提問回答,最終得到類似樹杈的模型,如下圖所示:

image

這種預(yù)測(cè)的方式被稱為決策樹。

樸素貝葉斯

我們換個(gè)例子,現(xiàn)在我們需要制作一個(gè)垃圾郵件檢測(cè)分類器,首先我們根據(jù)現(xiàn)有的郵件來手動(dòng)標(biāo)記垃圾郵件,找到垃圾郵件一般含有的特征。比如有100封郵件,我們手工找出垃圾郵件有25封,然后我們發(fā)現(xiàn)垃圾郵件中含有"cheap"這個(gè)單詞有20封,這樣可以推測(cè)如果一封郵件中含有“cheap”單詞,那么它是垃圾郵件的概率為80%.

image

同理,我們也可以尋找其他的特征來預(yù)測(cè),比如錯(cuò)別字,沒有標(biāo)題等等。這種通過打標(biāo)簽計(jì)算概率來分類事物的方式被稱為樸素貝葉斯。

線性回歸

再來個(gè)??,我們有一些大house,還有一些小居室,分別知道他們的面積和房價(jià)?,F(xiàn)在需要預(yù)測(cè)一個(gè)面積位于他們之間的房子的價(jià)格。

image

將這些數(shù)據(jù)用坐標(biāo)系表示出來,橫軸代表面積,縱軸代表房價(jià):

image

然后找到某一條直線能夠擬合所有的數(shù)據(jù),這里尋找這條直線使用梯度下降法(后面會(huì)介紹), 通過找到所有數(shù)據(jù)點(diǎn)到直線距離的平方和的最小值(最小二乘法),來確定最優(yōu)擬合直線。

image

這種方式被稱為線性回歸。

梯度下降法

上文提到梯度下降法,很容易理解,假設(shè)我們?cè)谀硞€(gè)山頂,目標(biāo)是到達(dá)山底。

image

該怎么處理呢?一般來說我們會(huì)查看四周下山的路,找到下降距離最大的方向,然后朝這個(gè)方向下山,反復(fù)此步驟,直至到達(dá)山底,這種方式就是梯度下降法。

image

在現(xiàn)實(shí)中我們可以把山頂想象成要解決的問題,到達(dá)山底可以當(dāng)做對(duì)問題的解答。

邏輯回歸

??是個(gè)好東西,能夠幫助我們理解概念。假設(shè)一所學(xué)校的招生辦,有一些往年學(xué)校招生的成績數(shù)據(jù)?,F(xiàn)在有位學(xué)生申請(qǐng)學(xué)校,入學(xué)考試為7分,在校成績?yōu)?分,需要判斷該學(xué)生是否達(dá)標(biāo)。

image

觀察往年的招生數(shù)據(jù),我們會(huì)發(fā)現(xiàn)招生和未被招進(jìn)的數(shù)據(jù)大概可以用直線分割,使用最小二乘法找到最擬合的分割線,通過梯度下降法來尋找,找到以后將該學(xué)生成績帶入坐標(biāo)系中來查看結(jié)果。如圖所示:

image

可以預(yù)測(cè)該學(xué)生可以被錄取,這種算法被稱為邏輯回歸。

神經(jīng)網(wǎng)絡(luò)

還是用上面的例子,假如我們有一名同學(xué)入學(xué)成績是9分,但是在校成績書是1分,按照上面的預(yù)測(cè),該學(xué)生可以入學(xué)。但是實(shí)際上這是不合理的,因?yàn)樵谛3煽兲?,此時(shí)模型已經(jīng)不能覆蓋類似這種數(shù)據(jù)。

image

這種情況下該如何處理呢?可能實(shí)際錄取學(xué)生的數(shù)據(jù)是這樣的:

image

此時(shí)一條直線已經(jīng)不能完全將錄取和未被錄取的學(xué)生分割了,可以用兩條直線來區(qū)分這些數(shù)據(jù),這樣會(huì)分成4個(gè)區(qū)域,這樣可以根據(jù)不同的成績來將數(shù)據(jù)寫入坐標(biāo)系,然后判定數(shù)據(jù)在直線上方標(biāo)記為YES,在直線下方標(biāo)記為NO,就可以得到下圖的模型:

image

最后將該學(xué)生數(shù)據(jù)帶入模型中,入學(xué)成績?yōu)?,在校成績?yōu)?的數(shù)據(jù)應(yīng)該寫在右下方區(qū)域,分別為YES和NO。根據(jù)"和"原則,結(jié)果應(yīng)該為NO,即不能錄取。

這種判斷方式就是神經(jīng)網(wǎng)絡(luò),輸入數(shù)據(jù)根據(jù)"和"原則來判斷輸出結(jié)果為“YES”還是“NO”。

image

由于和人類的神經(jīng)處理方式極為相似,因此被稱為神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)在很多方面都有應(yīng)用,比如面部識(shí)別,語音識(shí)別,AlphaGo以及無人駕駛。

SVM(支持向量機(jī))

假設(shè)我們有幾個(gè)點(diǎn)的數(shù)據(jù),現(xiàn)在需要使用線條分割這些數(shù)據(jù),從圖中看出我們可以找到至少兩條直線都能將數(shù)據(jù)分割開來。

image

我們目標(biāo)是找到一條最優(yōu)直線,在這個(gè)過程中,首先需要去掉離直線最遠(yuǎn)的點(diǎn),這些點(diǎn)會(huì)有較大干擾。然后找到剩余的點(diǎn)到直線的距離,查看這些點(diǎn)到哪條直線的最小距離最大,我們的目標(biāo)就是讓這個(gè)最小值盡可能的大,同樣這個(gè)過程也會(huì)使用梯度下降法來找到這條最優(yōu)直線。

image

從上圖中可以看出,最終黃線的效果要比藍(lán)線的效果好,這種方式被稱為SVM(支持向量機(jī))。

題后話

機(jī)器學(xué)習(xí)并不僅僅局限于上述提到的算法,也并不像所說的那樣簡單,現(xiàn)實(shí)中會(huì)有大量的數(shù)據(jù)和各種問題需要處理,本文總結(jié)的內(nèi)容都盡量避免了數(shù)學(xué)的內(nèi)容,但想搞懂機(jī)器學(xué)習(xí)原理最終都要回歸到數(shù)學(xué)上,例如概率與統(tǒng)計(jì)學(xué),線性代數(shù),微積分這些都是少不了的(大學(xué)欠下的債遲早要還的)。

后續(xù)的文章中我會(huì)盡量用通俗的語言來總結(jié),但是如果想入門機(jī)器學(xué)習(xí),數(shù)學(xué)是一定需要的,這是理解原理必備的理論基礎(chǔ)。

最后,歡迎大家關(guān)注我的公眾號(hào),讓我們一起學(xué)習(xí)分享,努力實(shí)現(xiàn)開掛的人生!


image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 0.前言## 機(jī)器學(xué)習(xí)[Machine Learning]在當(dāng)今社會(huì)的火熱程度有目共睹,自己也一直想寫一下自己對(duì)M...
    流川楓AI閱讀 2,799評(píng)論 14 99
  • https://developers.google.com/machine-learning/crash-cour...
    iOSDevLog閱讀 2,924評(píng)論 1 11
  • 你認(rèn)為自己能夠?yàn)榇蠹姨峁┑膬r(jià)值有哪些? 第一反應(yīng)是我不知道!可能沒有 但我還是想完成這個(gè)話題,所以,我對(duì)自己說,要...
    不要垃圾閱讀 177評(píng)論 0 1
  • 在人際關(guān)系方面,用發(fā)散性思維處理問題,任何事情都是用這種方式來處理的,你掌握的越多就會(huì)處理得越得心應(yīng)手把它整理成一...
    智囊團(tuán)閱讀 231評(píng)論 0 0
  • 農(nóng)村教育需要人 近日有教育工作者撰文稱,自己跟一位農(nóng)村校校長交流,談到教學(xué)質(zhì)量不高的問題,他談了很多原因,但大都?xì)w...
    鄉(xiāng)村追夢(mèng)人閱讀 159評(píng)論 0 4

友情鏈接更多精彩內(nèi)容