丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能 正文
發(fā)私信給晟煒
發(fā)送

0

新手必看的十種機器學習算法

本文作者: 晟煒 編輯:楊曉凡 2018-02-21 22:51
導語:深度學習當然不是全部,不過眾多的機器學習算法要怎么選呢?

雷鋒網(wǎng) AI 科技評論按:在神經(jīng)網(wǎng)絡(luò)的成功的帶動下,越來越多的研究人員和開發(fā)人員都開始重新審視機器學習,開始嘗試用某些機器學習方法自動解決可以輕松采集數(shù)據(jù)的問題。然而,在眾多的機器學習算法中,哪些是又上手快捷又功能強大、適合新手學習的呢?Towards Data Science 上一篇文章就介紹了十種新手必看的機器學習算法,雷鋒網(wǎng) AI 科技評論全文編譯如下。

新手必看的十種機器學習算法

機器學習領(lǐng)域有一條“沒有免費的午餐”定理。簡單解釋下的話,它是說沒有任何一種算法能夠適用于所有問題,特別是在監(jiān)督學習中。

例如,你不能說神經(jīng)網(wǎng)絡(luò)就一定比決策樹好,反之亦然。要判斷算法優(yōu)劣,數(shù)據(jù)集的大小和結(jié)構(gòu)等眾多因素都至關(guān)重要。所以,你應(yīng)該針對你的問題嘗試不同的算法。然后使用保留的測試集對性能進行評估,選出較好的算法。

當然,算法必須適合于你的問題。就比如說,如果你想清掃你的房子,你需要吸塵器,掃帚,拖把。而不是拿起鏟子去開始挖地。

大的原則

不過,對于預測建模來說,有一條通用的原則適用于所有監(jiān)督學習算法。

機器學習算法可以描述為學習一個目標函數(shù) f,它能夠最好地映射出輸入變量 X 到輸出變量 Y。有一類普遍的學習任務(wù)。我們要根據(jù)輸入變量 X 來預測出 Y。我們不知道目標函數(shù) f 是什么樣的。如果早就知道,我們就可以直接使用它,而不需要再通過機器學習算法從數(shù)據(jù)中進行學習了。

最常見的機器學習就是學習 Y=f(X) 的映射,針對新的 X 預測 Y。這叫做預測建?;蝾A測分析。我們的目標就是讓預測更加精確。

針對希望對機器學習有個基本了解的新人來說,下面將介紹數(shù)據(jù)科學家們最常使用的 10 種機器學習算法。

1. 線性回歸

線性回歸可能是統(tǒng)計和機器學習領(lǐng)域最廣為人知的算法之一。

以犧牲可解釋性為代價,預測建模的首要目標是減小模型誤差或?qū)㈩A測精度做到最佳。我們從統(tǒng)計等不同領(lǐng)域借鑒了多種算法,來達到這個目標。

線性回歸通過找到一組特定的權(quán)值,稱為系數(shù) B。通過最能符合輸入變量 x 到輸出變量 y 關(guān)系的等式所代表的線表達出來。

新手必看的十種機器學習算法


線性回歸

例如:y = B0 + B1 * x 。我們針對給出的輸入 x 來預測 y。線性回歸學習算法的目標是找到 B0 和 B1 的值。

不同的技巧可以用于線性回歸模型。比如線性代數(shù)的普通最小二乘法,以及梯度下降優(yōu)化算法。線性回歸已經(jīng)有超過 200 年的歷史,已經(jīng)被廣泛地研究。根據(jù)經(jīng)驗,這種算法可以很好地消除相似的數(shù)據(jù),以及去除數(shù)據(jù)中的噪聲。它是快速且簡便的首選算法。

2. 邏輯回歸

邏輯回歸是另一種從統(tǒng)計領(lǐng)域借鑒而來的機器學習算法。

與線性回歸相同。它的目的是找出每個輸入變量的對應(yīng)參數(shù)值。不同的是,預測輸出所用的變換是一個被稱作 logistic 函數(shù)的非線性函數(shù)。

logistic 函數(shù)像一個大 S。它將所有值轉(zhuǎn)換為 0 到 1 之間的數(shù)。這很有用,我們可以根據(jù)一些規(guī)則將 logistic 函數(shù)的輸出轉(zhuǎn)換為 0 或 1(比如,當小于 0.5 時則為 1)。然后以此進行分類。

新手必看的十種機器學習算法

邏輯回歸

正是因為模型學習的這種方式,邏輯回歸做出的預測可以被當做輸入為 0 和 1 兩個分類數(shù)據(jù)的概率值。這在一些需要給出預測合理性的問題中非常有用。

就像線性回歸,在需要移除與輸出變量無關(guān)的特征以及相似特征方面,邏輯回歸可以表現(xiàn)得很好。在處理二分類問題上,它是一個快速高效的模型。

3. 線性判別分析

邏輯回歸是一個二分類問題的傳統(tǒng)分類算法。如果需要進行更多的分類,線性判別分析算法(LDA)是一個更好的線性分類方法。

對 LDA 的解釋非常直接。它包括針對每一個類的輸入數(shù)據(jù)的統(tǒng)計特性。對于單一輸入變量來說包括:

  1. 類內(nèi)樣本均值

  2. 總體樣本變量

新手必看的十種機器學習算法


線性判別分析

通過計算每個類的判別值,并根據(jù)最大值來進行預測。這種方法假設(shè)數(shù)據(jù)服從高斯分布(鐘形曲線)。所以它可以較好地提前去除離群值。它是針對分類模型預測問題的一種簡單有效的方法。

4. 分類與回歸樹分析

決策樹是機器學習預測建模的一類重要算法。

可以用二叉樹來解釋決策樹模型。這是根據(jù)算法和數(shù)據(jù)結(jié)構(gòu)建立的二叉樹,這并不難理解。每個節(jié)點代表一個輸入變量以及變量的分叉點(假設(shè)是數(shù)值變量)

新手必看的十種機器學習算法

決策樹

樹的葉節(jié)點包括用于預測的輸出變量 y。通過樹的各分支到達葉節(jié)點,并輸出對應(yīng)葉節(jié)點的分類值。

樹可以進行快速的學習和預測。通常并不需要對數(shù)據(jù)做特殊的處理,就可以使用這個方法對多種問題得到準確的結(jié)果。

5. 樸素貝葉斯

樸素貝葉斯(Naive Bayes)是一個簡單,但是異常強大的預測建模算法。

這個模型包括兩種概率。它們可以通過訓練數(shù)據(jù)直接計算得到:1)每個類的概率;2)給定 x 值情況下每個類的條件概率。根據(jù)貝葉斯定理,一旦完成計算,就可以使用概率模型針對新的數(shù)據(jù)進行預測。當你的數(shù)據(jù)為實數(shù)時,通常假設(shè)服從高斯分布(鐘形曲線)。這樣你可以很容易地預測這些概率。

新手必看的十種機器學習算法

貝葉斯定理

之所以被稱作樸素貝葉斯,是因為我們假設(shè)每個輸入變量都是獨立的。這是一個強假設(shè),在真實數(shù)據(jù)中幾乎是不可能的。但對于很多復雜問題,這種方法非常有效。

6. K 最近鄰算法

K 最近鄰算法(KNN)是一個非常簡單有效的算法。KNN 的模型表示就是整個訓練數(shù)據(jù)集。很簡單吧?

對于新數(shù)據(jù)點的預測則是,尋找整個訓練集中 K 個最相似的樣本(鄰居),并把這些樣本的輸出變量進行總結(jié)。對于回歸問題可能意味著平均輸出變量。對于分類問題則可能意味著類值的眾數(shù)(最常出現(xiàn)的那個值)。

訣竅是如何在數(shù)據(jù)樣本中找出相似性。最簡單的方法就是,如果你的特征都是以相同的尺度(比如說都是英寸)度量的,你就可以直接計算它們互相之間的歐式距離。

新手必看的十種機器學習算法

K 最近鄰算法

KNN 需要大量空間來存儲所有的數(shù)據(jù)。但只是在需要進行預測的時候才開始計算(學習)。你可以隨時更新并組織訓練樣本以保證預測的準確性。

在維數(shù)很高(很多輸入變量)的情況下,這種通過距離或相近程度進行判斷的方法可能失敗。這會對算法的性能產(chǎn)生負面的影響。這被稱作維度災(zāi)難。我建議你只有當輸入變量與輸出預測變量最具有關(guān)聯(lián)性的時候使用這種算法。

7. 學習矢量量化

K 最近鄰算法的缺點是你需要存儲所有訓練數(shù)據(jù)集。而學習矢量量化(縮寫為 LVQ)是一個人工神經(jīng)網(wǎng)絡(luò)算法。它允許你選擇需要保留的訓練樣本個數(shù),并且學習這些樣本看起來應(yīng)該具有何種模式。

新手必看的十種機器學習算法


學習矢量量化

LVQ 可以表示為一組碼本向量的集合。在開始的時候進行隨機選擇。通過多輪學習算法的迭代,最后得到與訓練數(shù)據(jù)集最相配的結(jié)果。通過學習,碼本向量可以像 K 最近鄰算法那樣進行預測。通過計算新數(shù)據(jù)樣本與碼本向量之間的距離找到最相似的鄰居(最符合碼本向量)。將最佳的分類值(或回歸問題中的實數(shù)值)返回作為預測值。如果你將數(shù)據(jù)調(diào)整到相同的尺度,比如 0 和 1,則可以得到最好的結(jié)果。

如果你發(fā)現(xiàn)對于你的數(shù)據(jù)集,KNN 有較好的效果,可以嘗試一下 LVQ 來減少存儲整個數(shù)據(jù)集對存儲空間的依賴。

8. 支持向量機

支持向量機(SVM)可能是最常用并且最常被談到的機器學習算法。

超平面是一條劃分輸入變量空間的線。在 SVM 中,選擇一個超平面,它能最好地將輸入變量空間劃分為不同的類,要么是 0,要么是 1。在 2 維情況下,可以將它看做一根線,并假設(shè)所有輸入點都被這根線完全分開。SVM 通過學習算法,找到最能完成類劃分的超平面的一組參數(shù)。新手必看的十種機器學習算法

支持向量機

超平面和最接近的數(shù)據(jù)點的距離看做一個差值。最好的超平面可以把所有數(shù)據(jù)劃分為兩個類,并且這個差值最大。只有這些點與超平面的定義和分類器的構(gòu)造有關(guān)。這些點被稱作支持向量。是它們定義了超平面。在實際使用中,優(yōu)化算法被用于找到一組參數(shù)值使差值達到最大。

SVM 可能是一種最為強大的分類器,它值得你一試。

9. Bagging 和隨機森林

隨機森林是一個常用并且最為強大的機器學習算法。它是一種集成機器學習算法,稱作自舉匯聚或 bagging。

bootstrap 是一種強大的統(tǒng)計方法,用于數(shù)據(jù)樣本的估算。比如均值。你從數(shù)據(jù)中采集很多樣本,計算均值,然后將所有均值再求平均。最終得到一個真實均值的較好的估計值。

在 bagging 中用了相似的方法。但是通常用決策樹來代替對整個統(tǒng)計模型的估計。從訓練集中采集多個樣本,針對每個樣本構(gòu)造模型。當你需要對新的數(shù)據(jù)進行預測,每個模型做一次預測,然后把預測值做平均得到真實輸出的較好的預測值。

新手必看的十種機器學習算法

隨機森林

這里的不同在于在什么地方創(chuàng)建樹,與決策樹選擇最優(yōu)分叉點不同,隨機森林通過加入隨機性從而產(chǎn)生次優(yōu)的分叉點。

每個數(shù)據(jù)樣本所創(chuàng)建的模型與其他的都不相同。但在唯一性和不同性方面仍然準確。結(jié)合這些預測結(jié)果可以更好地得到真實的輸出估計值。

如果在高方差的算法(比如決策樹)中得到較好的結(jié)果,你通常也可以通過袋裝這種算法得到更好的結(jié)果。

10. Boosting 和 AdaBoost

Boosting 是一種集成方法,通過多種弱分類器創(chuàng)建一種強分類器。它首先通過訓練數(shù)據(jù)建立一個模型,然后再建立第二個模型來修正前一個模型的誤差。在完成對訓練集完美預測之前,模型和模型的最大數(shù)量都會不斷添加。

AdaBoost 是第一種成功的針對二分類的 boosting 算法。它是理解 boosting 的最好的起點?,F(xiàn)代的 boosting 方法是建立在 AdaBoost 之上。多數(shù)都是隨機梯度 boosting 機器。

新手必看的十種機器學習算法

AdaBoost

AdaBoost 與短決策樹一起使用。當?shù)谝豢脴鋭?chuàng)建之后,每個訓練樣本的樹的性能將用于決定,針對這個訓練樣本下一棵樹將給與多少關(guān)注。難于預測的訓練數(shù)據(jù)給予較大的權(quán)值,反之容易預測的樣本給予較小的權(quán)值。模型按順序被建立,每個訓練樣本權(quán)值的更新都會影響下一棵樹的學習效果。完成決策樹的建立之后,進行對新數(shù)據(jù)的預測,訓練數(shù)據(jù)的精確性決定了每棵樹的性能。

因為重點關(guān)注修正算法的錯誤,所以移除數(shù)據(jù)中的離群值非常重要。

結(jié)語

當面對各種機器學習算法,一個新手最常問的問題是「我該使用哪個算法」。要回答這個問題需要考慮很多因素:(1)數(shù)據(jù)的大小,質(zhì)量和類型;(2)完成計算所需要的時間;(3)任務(wù)的緊迫程度;(4)你需要對數(shù)據(jù)做什么處理。

在嘗試不同算法之前,就算一個經(jīng)驗豐富的數(shù)據(jù)科學家也不可能告訴你哪種算法性能最好。雖然還有很多其他的機器學習算法,但這里列舉的是最常用的幾種。如果你是一個機器學習的新手,這幾種是最好的學習起點。

via towardsdatascience.com,雷鋒網(wǎng) AI 科技評論編譯

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

新手必看的十種機器學習算法

分享:
相關(guān)文章

知情人士

當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說