偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

【干貨】上手機(jī)器學(xué)習(xí),從搞懂這十大經(jīng)典算法開始

人工智能 機(jī)器學(xué)習(xí) 算法
在機(jī)器學(xué)習(xí)領(lǐng)域,“沒有免費(fèi)的午餐”是一個(gè)不變的定理。簡(jiǎn)而言之,沒有一種算法是完美的,可以作為任何問(wèn)題的最佳解決方案。認(rèn)清這一點(diǎn),對(duì)于解決監(jiān)督學(xué)習(xí)問(wèn)題(如預(yù)測(cè)建模問(wèn)題)尤其重要。

[[219151]]

在機(jī)器學(xué)習(xí)領(lǐng)域,“沒有免費(fèi)的午餐”是一個(gè)不變的定理。簡(jiǎn)而言之,沒有一種算法是***的,可以作為任何問(wèn)題的***解決方案。認(rèn)清這一點(diǎn),對(duì)于解決監(jiān)督學(xué)習(xí)問(wèn)題(如預(yù)測(cè)建模問(wèn)題)尤其重要。

我們不能總說(shuō)神經(jīng)網(wǎng)絡(luò)就是比決策樹好,反之亦然。影響算法性能的因素有很多,比如數(shù)據(jù)集的大小和結(jié)構(gòu)。

因此,對(duì)于自己的問(wèn)題,要嘗試多種不同的算法,并使用測(cè)試數(shù)據(jù)集來(lái)評(píng)估各個(gè)算法的性能,以選出效果***的那一個(gè)。

當(dāng)然,前面所嘗試的算法必須要適合自己的問(wèn)題,這也正是你要選對(duì)正確的機(jī)器學(xué)習(xí)任務(wù)的地方。比如,需要打掃房子的時(shí)候,你會(huì)使用真空吸塵器、掃帚或拖把,但絕不應(yīng)該用鏟子在屋內(nèi)挖坑。

▌重要的原則

話雖如此,但所有用于預(yù)測(cè)建模的有監(jiān)督機(jī)器學(xué)習(xí)算法卻有一個(gè)共同的原則:

機(jī)器學(xué)習(xí)算法的本質(zhì)是找到一個(gè)目標(biāo)函數(shù)(f),使其成為輸入變量(X)到輸出變量(Y)之間的***映射:Y = f(X)

這是最常見的學(xué)習(xí)任務(wù),給定任意新的輸入變量(X),我們就能預(yù)測(cè)出輸出變量(Y)的值。因?yàn)槲覀儾恢滥繕?biāo)函數(shù)(f)的形式或樣子,所以才要機(jī)器去把它找出來(lái)。不然的話,我們就可以直接用目標(biāo)函數(shù)來(lái)進(jìn)行預(yù)測(cè)了,而非還要用機(jī)器學(xué)習(xí)算法來(lái)學(xué)習(xí)數(shù)據(jù)了。

最常見的機(jī)器學(xué)習(xí)類型就是找到***映射Y = f(X),并以此來(lái)預(yù)測(cè)新X所對(duì)應(yīng)的Y值。這一過(guò)程被稱為預(yù)測(cè)建?;蝾A(yù)測(cè)分析,目標(biāo)是盡可能到出最為準(zhǔn)確的預(yù)測(cè)。

對(duì)于渴望理解機(jī)器學(xué)習(xí)基本概念的各位新手,我們特地整理出數(shù)據(jù)科學(xué)家最常用的十大機(jī)器學(xué)習(xí)算法,便于大家快速上手。

▌ 1- 線性回歸

線性回歸可能是統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)中最為知名、最易于理解的一個(gè)算法。

預(yù)測(cè)建模主要關(guān)注的是如何最小化模型的誤差,或是如何在一個(gè)可解釋性代價(jià)的基礎(chǔ)上做出最為準(zhǔn)確的預(yù)測(cè)。我們將借用、重用和竊取包括統(tǒng)計(jì)學(xué)在內(nèi)的多個(gè)不同領(lǐng)域的算法,并將其用于這些目的。

線性回歸所表示的是描述一條直線的方程,通過(guò)輸入變量的特定權(quán)重系數(shù)(B)來(lái)找出輸入變量(x)和輸出變量(y)之間最適合的映射關(guān)系。

線性回歸

例如:y = B0 + B1 * x

給定輸入x,我們可以預(yù)測(cè)出y的值。線性回歸學(xué)習(xí)算法的目標(biāo)是找到系數(shù)B0和B1的值。

找出數(shù)據(jù)的線性回歸模型有多種不同的技巧,例如將線性代數(shù)解用于普通最小二乘法和梯度下降優(yōu)化問(wèn)題。

線性回歸業(yè)已存在200多年,并已被廣泛研究過(guò)。使用該算法的一些竅門,是盡可能地去除非常相似的相關(guān)變量以及數(shù)據(jù)中的噪聲。這是一個(gè)快速、簡(jiǎn)單而又好用的算法。

▌ 2 - 邏輯回歸

邏輯回歸是機(jī)器學(xué)習(xí)借自統(tǒng)計(jì)領(lǐng)域的另一項(xiàng)技術(shù),用于解決二元分類問(wèn)題(有兩個(gè)類值的問(wèn)題)。

邏輯回歸就像線性回歸,因?yàn)樗哪繕?biāo)是找出每個(gè)輸入變量的加權(quán)系數(shù)值。與線性回歸不同的是,邏輯回歸預(yù)測(cè)輸出值的函數(shù)是非線性的,也被稱為邏輯函數(shù)。

邏輯回歸的函數(shù)圖像看起來(lái)是一個(gè)大的S形,并將任何值轉(zhuǎn)換至0到1的區(qū)間。這種形式非常有用,因?yàn)槲覀兛梢杂靡粋€(gè)規(guī)則把邏輯函數(shù)的值轉(zhuǎn)化成0和1(例如,如果函數(shù)值小于0.5,則輸出1),從而預(yù)測(cè)類別。

邏輯回歸

基于模型學(xué)習(xí)的方式,邏輯回歸的輸出值也可以用來(lái)預(yù)測(cè)給定數(shù)據(jù)實(shí)例屬于類別0和類別1的概率。當(dāng)你的預(yù)測(cè)需要更多依據(jù)時(shí),這一點(diǎn)會(huì)非常有用。

跟線性回歸一樣,當(dāng)你剔除與輸出變量無(wú)關(guān)或與之除非常相似(相關(guān))的屬性后,邏輯回歸的效果會(huì)更好。對(duì)于二元分類問(wèn)題,它是一個(gè)易于上手、快速而又有效的模型。

▌ 3 - 線性判別分析

一般來(lái)說(shuō),邏輯回歸僅限于二元分類問(wèn)題。 但如果分類類別超過(guò)兩個(gè),線性判別分析就成為你***的線性分類算法。

線性判別分析的表達(dá)式非常簡(jiǎn)單。 它由數(shù)據(jù)的統(tǒng)計(jì)屬性組成,并計(jì)算每個(gè)類別的屬性值。對(duì)于單個(gè)輸入變量,它包括:

  • 每個(gè)類別的平均值。
  • 所有類別的方差。

 

線性判別分析

線性判別分析通過(guò)計(jì)算每個(gè)類別的差別值,并對(duì)擁有***值的類別進(jìn)行預(yù)測(cè)。 該方法假定數(shù)據(jù)服從高斯分布(鐘形曲線),因此預(yù)測(cè)前從數(shù)據(jù)中移除異常值會(huì)是一個(gè)很好的習(xí)慣。對(duì)于分類預(yù)測(cè)問(wèn)題來(lái)說(shuō),它是一個(gè)簡(jiǎn)單而又強(qiáng)大的方法。

▌ 4 - 分類和回歸樹

決策樹是用于預(yù)測(cè)建模的一種重要機(jī)器學(xué)習(xí)算法。

決策樹模型的表現(xiàn)形式為二叉樹,也就是來(lái)自算法和數(shù)據(jù)結(jié)構(gòu)方面的二叉樹,沒有什么特別。樹上每個(gè)節(jié)點(diǎn)代表一個(gè)輸入變量(x)與一個(gè)基于該變量的分離點(diǎn)(假定這個(gè)變量是數(shù)字)。

決策樹

葉節(jié)點(diǎn)包含了用于預(yù)測(cè)的輸出變量(y)。預(yù)測(cè)是通過(guò)遍歷樹的分離點(diǎn)開始,直到抵達(dá)每一個(gè)葉節(jié)點(diǎn),并輸出該葉節(jié)點(diǎn)的分類值。

決策樹算法學(xué)習(xí)起來(lái)很快,預(yù)測(cè)速度也很快。決策樹對(duì)于各種各樣的問(wèn)題都能做出準(zhǔn)確的預(yù)測(cè),并且無(wú)需對(duì)數(shù)據(jù)做任何特殊的預(yù)處理。

▌ 5 - 樸素貝葉斯

樸素貝葉斯是一種簡(jiǎn)單而又強(qiáng)大的預(yù)測(cè)建模算法。

該模型由兩種概率組成,它們都能從訓(xùn)練數(shù)據(jù)中直接計(jì)算出來(lái):1)每個(gè)類別的概率; 2)對(duì)于給定的x值,每個(gè)類別的條件概率。 一旦計(jì)算出來(lái),概率模型就可以用于使用貝葉斯定理對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測(cè)。 當(dāng)你的數(shù)據(jù)是實(shí)值時(shí),通常會(huì)假定一個(gè)高斯分布(鐘形曲線),這樣你就很容易計(jì)算出這些數(shù)據(jù)的概率。

樸素貝葉斯

樸素貝葉斯假定每個(gè)輸入變量都是獨(dú)立,所以被稱為“樸素的”。這是一個(gè)強(qiáng)假設(shè),對(duì)真實(shí)數(shù)據(jù)而言有點(diǎn)不切實(shí)際,但該方法在大范圍的復(fù)雜問(wèn)題上非常有效。

▌ 6 - K-最近鄰算法

K-最近鄰算法是一種非常簡(jiǎn)單和有效。它的模型所表示是整個(gè)訓(xùn)練數(shù)據(jù)集,看上去很簡(jiǎn)單,對(duì)吧?

對(duì)于給定的訓(xùn)練數(shù)據(jù),通過(guò)搜索整個(gè)數(shù)據(jù)集中K個(gè)最相似的實(shí)例(鄰居),匯總這K個(gè)實(shí)例的輸出變量可以預(yù)測(cè)新的數(shù)據(jù)點(diǎn)。對(duì)于回歸問(wèn)題,它可能是輸出變量的平均值;對(duì)于分類問(wèn)題,它可能是模式(或最常見的)類別值。

使用K-最近鄰算法的訣竅,是在于如何確定數(shù)據(jù)實(shí)例之間的相似性。最簡(jiǎn)單的方法,如果你的屬性在歐幾里德距離上尺度相同(例如均以英寸為單位),那么基于每個(gè)輸入變量之間的差異,你就可以直接計(jì)算其數(shù)值來(lái)確定相似性。

K-最近鄰算法可能需要大量的內(nèi)存或存儲(chǔ)空間來(lái)儲(chǔ)存所有數(shù)據(jù),但只有在預(yù)測(cè)時(shí)才會(huì)執(zhí)行計(jì)算(或?qū)W習(xí))。你也可以隨時(shí)更新和管理你的訓(xùn)練實(shí)例,以保持預(yù)測(cè)的準(zhǔn)確性。

距離或緊密度的概念在非常高的維度(大量的輸入變量)中可能會(huì)失效,因?yàn)檩斎胱兞康臄?shù)量對(duì)于算法性能有著很大的負(fù)面影響。這就是維度災(zāi)難。這就要求你只使用那些與預(yù)測(cè)輸出變量最相關(guān)的輸入變量。

▌ 7 - 學(xué)習(xí)向量量化

K-最近鄰算法的一個(gè)缺點(diǎn)是你需要使用整個(gè)訓(xùn)練數(shù)據(jù)集。而作為人工神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)向量量化算法(簡(jiǎn)稱LVQ)允許你選擇訓(xùn)練實(shí)例的數(shù)量,并能準(zhǔn)確地學(xué)習(xí)這些實(shí)例所應(yīng)有的特征。

學(xué)習(xí)向量量化

學(xué)習(xí)向量量化算法所表示的是碼本向量的集合。這些向量在初始化的時(shí)候隨機(jī)選擇出來(lái),并在學(xué)習(xí)算法的多次迭代中優(yōu)化成最能概括訓(xùn)練數(shù)據(jù)集的集合。在學(xué)習(xí)完成后,碼本向量可以像K-最近鄰算法一樣進(jìn)行預(yù)測(cè)。通過(guò)計(jì)算每個(gè)碼本向量和新數(shù)據(jù)實(shí)例之間的距離來(lái)找到最相似的鄰居(***匹配碼本向量),然后返回***匹配單元的類別值或(在回歸情況下的實(shí)際值)作為預(yù)測(cè)。如果能重新調(diào)整數(shù)據(jù)使其處于相同的區(qū)間(如0到1之間),則可以獲得***的預(yù)測(cè)結(jié)果。

如果K-最近鄰算法在你的數(shù)據(jù)集上已經(jīng)給出了很好的預(yù)測(cè)結(jié)果,那么可以嘗試用學(xué)習(xí)向量量化算法來(lái)減少整個(gè)訓(xùn)練數(shù)據(jù)集的內(nèi)存存儲(chǔ)需求。

▌ 8 - 支持向量機(jī)

支持向量機(jī)可能是***、討論最為廣泛的機(jī)器學(xué)習(xí)算法之一。

超平面是輸入變量空間內(nèi)的一條分割線。在支持向量機(jī)中,超平面可以通過(guò)類別(0類或1類)***分割輸入變量空間。在二維空間內(nèi),超平面可被視為一條線,我們假設(shè)所有的輸入點(diǎn)都可以被該線完全分開。支持向量機(jī)的目標(biāo)是找到一個(gè)分離系數(shù),讓一個(gè)超平面能夠?qū)Σ煌悇e的數(shù)據(jù)進(jìn)行***分割。

支持向量機(jī)

 

超平面與最近的數(shù)據(jù)點(diǎn)之間的距離被稱為邊距。在分離兩個(gè)類上具有***邊距的超平面被稱為***超平面。超平面的確定只跟這些點(diǎn)及分類器的構(gòu)造有關(guān)。這些點(diǎn)被稱為支持向量,它們支持并定義超平面。在實(shí)踐中,可以使用優(yōu)化算法來(lái)找到能夠***化邊距的系數(shù)。

支持向量機(jī)可能是最為強(qiáng)大的“開箱即用”分類器之一,值得你嘗試。

▌ 9 - bagging算法和隨機(jī)森林

隨機(jī)森林是***、***大的機(jī)器學(xué)習(xí)算法之一。它是一種被稱為Bootstrap Aggregation或Bagging的機(jī)器學(xué)習(xí)集成算法。

Bootstrap是一種從數(shù)據(jù)樣本中估算數(shù)量的強(qiáng)大統(tǒng)計(jì)方法。換句話說(shuō),你需要抽取大量的數(shù)據(jù)樣本、計(jì)算平均值,然后再計(jì)算所有均值的平均,以便更好地估計(jì)整體樣本的真實(shí)平均值。

bagging算法也使用相同的方式,但用于估計(jì)整個(gè)統(tǒng)計(jì)模型的最常見方法是決策樹。訓(xùn)練數(shù)據(jù)中的多個(gè)樣本將被取樣,然后對(duì)每個(gè)數(shù)據(jù)樣本建模。對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí),每個(gè)模型都會(huì)進(jìn)行預(yù)測(cè),并對(duì)每個(gè)預(yù)測(cè)結(jié)果進(jìn)行平均,以更好地估計(jì)真實(shí)的輸出值。

隨機(jī)森林

隨機(jī)森林是對(duì)bagging算法的一種調(diào)整,它不是選擇***分割點(diǎn)來(lái)創(chuàng)建決策樹,而是通過(guò)引入隨機(jī)性來(lái)得到次優(yōu)分割點(diǎn)。

因此,針對(duì)每個(gè)數(shù)據(jù)樣本所創(chuàng)建的模型,會(huì)與其他方式有所不同,但仍能以其獨(dú)特和不同的方式準(zhǔn)確預(yù)測(cè)。結(jié)合所有模型的預(yù)測(cè),可以更好地估計(jì)潛在的真實(shí)輸出。

如果用方差較高的算法(如決策樹)能夠獲得較好的結(jié)果,那么通過(guò)bagging算法通??梢垣@得更好的結(jié)果。

▌ 10 - Boosting和AdaBoost算法

Boosting是一項(xiàng)從多個(gè)弱分類器中構(gòu)建強(qiáng)分類器的集成預(yù)測(cè)技術(shù)。它從訓(xùn)練數(shù)據(jù)中構(gòu)建模型,然后通過(guò)修正前一個(gè)模型的錯(cuò)誤創(chuàng)造出第二個(gè)模型。以此類推,模型不斷疊加,直至能夠***預(yù)測(cè)訓(xùn)練數(shù)據(jù)集,或達(dá)到可添加的模型的數(shù)量上限。

在針對(duì)二元分類所開發(fā)的boosting算法中,AdaBoost是***個(gè)成功的。它是理解boosting算法的***起點(diǎn)。現(xiàn)代boosting方法基于AdaBoost而構(gòu)建,最典型的例子是隨機(jī)梯度加速器。

通常,AdaBoost算法與決策樹一起工作。***個(gè)決策樹創(chuàng)建后,決策樹在每個(gè)訓(xùn)練實(shí)例上的性能,都被用來(lái)衡量下一個(gè)決策樹針對(duì)該實(shí)例所應(yīng)分配的關(guān)注程度。難以預(yù)測(cè)的訓(xùn)練數(shù)據(jù)被賦予更大的權(quán)重,而容易預(yù)測(cè)的數(shù)據(jù)則被賦予更小的權(quán)重。模型依次被創(chuàng)建,每次更新訓(xùn)練實(shí)例的權(quán)重,都會(huì)影響到序列中下一個(gè)決策樹學(xué)習(xí)性能。所有決策樹完成后,即可對(duì)新輸入的數(shù)據(jù)進(jìn)行預(yù)測(cè),而每個(gè)決策樹的性能將由它在訓(xùn)練數(shù)據(jù)上的準(zhǔn)確度所決定。

由于模型注意力都集中于糾正上一個(gè)算法的錯(cuò)誤,所以必須確保數(shù)據(jù)是干凈無(wú)異常的。

▌ ***的建議

初學(xué)者常常會(huì)被眼花繚亂的機(jī)器學(xué)習(xí)算法所困擾,提出“我該使用哪種算法?”這樣的問(wèn)題。

此問(wèn)題的答案取決于許多因素,包括:

(1)數(shù)據(jù)的大小、質(zhì)量和性質(zhì);

(2)可用的計(jì)算時(shí)間;

(3)任務(wù)的緊迫性;

(4)你想要用數(shù)據(jù)來(lái)做什么。

即使是一位經(jīng)驗(yàn)豐富的數(shù)據(jù)科學(xué)家,在嘗試不同的算法之前,也無(wú)法回答哪種算法的性能會(huì)是***的。機(jī)器學(xué)習(xí)的算法還有很多,但以上這些是***的算法。如果你剛?cè)腴T機(jī)器學(xué)習(xí),這將是一個(gè)很好的學(xué)習(xí)起點(diǎn)。

原文鏈接:https://towardsdatascience.com/a-tour-of-the-top-10-algorithms-for-machine-learning-newbies-dde4edffae11 

責(zé)任編輯:龐桂玉 來(lái)源: AI科技大本營(yíng)
相關(guān)推薦

2021-11-08 15:12:48

排序算法面試

2016-01-29 11:00:55

數(shù)據(jù)挖掘算法大數(shù)據(jù)

2021-10-31 07:38:37

排序算法代碼

2017-07-18 10:50:38

前端JavaScript排序算法

2022-03-10 12:03:33

Python算法代碼

2013-02-25 09:46:35

數(shù)據(jù)挖掘算法ICDM

2010-08-31 14:01:48

CSS

2011-01-26 09:14:43

數(shù)據(jù)挖掘

2018-11-14 09:40:05

排序算法Java編程語(yǔ)言

2019-08-28 11:08:51

排序算法Java

2018-10-27 15:47:35

CART算法決策樹

2022-05-11 15:20:31

機(jī)器學(xué)習(xí)算法預(yù)測(cè)

2024-09-06 17:57:35

2013-07-09 13:56:48

微信

2022-08-26 14:46:31

機(jī)器學(xué)習(xí)算法線性回歸

2016-12-01 07:41:37

機(jī)器學(xué)習(xí)常用算法

2024-05-30 07:34:42

2021-01-26 05:33:07

排序算法快速

2022-09-04 19:38:11

機(jī)器學(xué)習(xí)算法

2024-09-11 08:32:07

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)