自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文講解各種機(jī)器學(xué)習(xí)算法選型思路

人工智能 機(jī)器學(xué)習(xí) 算法
時(shí)間來到了2021年,神經(jīng)網(wǎng)絡(luò)從沒人考慮,到現(xiàn)在已經(jīng)開始獨(dú)領(lǐng)風(fēng)騷,各個(gè)領(lǐng)域,各個(gè)場景,NN都變得不可或缺。

前言

這是知乎上一個(gè)問題:k近鄰、貝葉斯、決策樹、svm、邏輯斯蒂回歸和最大熵模型、隱馬爾科夫、條件隨機(jī)場、adaboost、em 這些在一般工作中分別用到的頻率多大?一般用途是什么?需要注意什么?

這個(gè)問題有1.3萬關(guān)注,50個(gè)回答,我知乎賬號(hào)解封還有幾個(gè)小時(shí),先寫在公眾號(hào)上,正好前面寫過兩個(gè)問題,很多思路都是一致的,今天當(dāng)個(gè)縫合怪,這個(gè)系列就完整了。

引入

時(shí)間來到了2021年,神經(jīng)網(wǎng)絡(luò)從沒人考慮,到現(xiàn)在已經(jīng)開始獨(dú)領(lǐng)風(fēng)騷,各個(gè)領(lǐng)域,各個(gè)場景,NN都變得不可或缺。

我們把這一些算法分分類,大體可以分為有監(jiān)督和無監(jiān)督。大部分回答也是集中在有監(jiān)督的選型上,無監(jiān)督確實(shí)在實(shí)際工作應(yīng)用中,因?yàn)楦鞣N問題沒有像有監(jiān)督那樣好施展拳腳。

我們拋開他們復(fù)雜的外衣,抽絲剝繭,找到他們應(yīng)用的關(guān)鍵差異吧。沒有最牛的算法,只有最合適的場景。

我還是出那道最經(jīng)典的題目吧。

題目:請使用一個(gè)邏輯回歸的模型,建模一個(gè)身材分類器,身材分偏胖和偏瘦兩種,輸入的特征有身高和體重。

數(shù)據(jù)集大概長這樣:

我們從邏輯回歸開始講起,順便引入一個(gè)貫穿全文非常關(guān)鍵的概念,非線性。

LR

邏輯回歸解決的方法就是我拍兩個(gè)系數(shù)加權(quán),使用 sigmoid(ax+by+c)就搞定了。LR建模的過程,就是學(xué)習(xí)到a b c 三個(gè)參數(shù)的過程。

LR在早期工業(yè)界,有著舉足輕重的地位,你可能聽說過鳳巢上億特征解決個(gè)性化廣告的傳說。

那大概是LR這輩子的高光時(shí)刻吧。他就是搞了上億個(gè)這樣的參數(shù),然后算了個(gè)加權(quán)求和,通過sigmoid轉(zhuǎn)化為概率。看起來這個(gè)模型,有多少人力,就有多少智能,非常接近人工智能的本質(zhì)了,我只要能把特征搞出來,權(quán)重算出來,那問題不就迎刃而解了嗎?

事實(shí)上,我們很難單純地從身高和體重決策出一個(gè)人的身材,你說姚明體重280斤,他真的一定就胖嗎??別忘了他身高有226公分的。

這組數(shù)據(jù)可能超出了你的認(rèn)知,只看數(shù)據(jù)不看照片,一下子不好說他是胖還是瘦。(其實(shí)挺胖的哈哈)

嗯,這個(gè)你看到那組數(shù)據(jù),不好一下子說出來的感覺,就是機(jī)器學(xué)習(xí)里面非常關(guān)鍵的概念,“非線性”。

這個(gè)問題不是那么好“線性“解決的,線性解決的意思就是我拍兩個(gè)系數(shù)加權(quán)在原始特征x和y上,使用 sigmoid(ax+by+c)就搞定了。

解決的方法有兩個(gè):

1.升級(jí)模型,把線性的邏輯回歸加上kernel來增加非線性的能力。我們使用這個(gè)模型 sigmoid(ax+by+kx*y^(-2)+c),這個(gè)模型通過多項(xiàng)式核方法的升級(jí),解決了低維空間線性模型不太好解決的問題。

2.特征工程,掏出體檢報(bào)告上的BMI指數(shù),BMI=體重/(身高^2)。這樣,通過BMI指數(shù),就能非常顯然地幫助我們,刻畫一個(gè)人身材如何。甚至,你可以拋棄原始的體重和身高數(shù)據(jù)。

類似的問題還有樸素貝葉斯和SVM。

貝葉斯

大家接觸樸素貝葉斯估計(jì)都是從文本分類的任務(wù)開始的。教科書上非常常講的垃圾郵件分類例子。

樸素貝葉斯作為經(jīng)典的統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法,根正苗紅的貝葉斯原理的應(yīng)用,是最最直觀,最最樸素和最最快的算法。

還是用我上面講的例子,樸素貝葉斯解決這個(gè)問題怎么做的呢?

我只需要算一個(gè)這樣的貝葉斯公式就好了

p(類別|特征) = p(特征|類別)*p(類別)/p(特征)

特征就是身高、體重,類別就是身材。

最后三項(xiàng),對應(yīng)著用身高體重身材的等維度的統(tǒng)計(jì)概率,都是可以在數(shù)據(jù)集中統(tǒng)計(jì)出來的,貝葉斯模型訓(xùn)練的過程,就是算這些各種形式概率表達(dá)式的過程。這樣,我就把預(yù)測變成了查表連乘的過程,查表是計(jì)算機(jī)中最快的操作,意味著他也是推斷最快的模型。

樸素貝葉斯假設(shè)各特征之間的條件獨(dú)立性,即

p(身高、體重|身材) = p(身高|身材)*p(體重|身材)

也由于他的過度簡化,導(dǎo)致它幾乎只在特定場景應(yīng)用了,比如特別簡單的文本分類就比較適合樸素貝葉斯。

SVM

支持向量機(jī)也是線性的模型。

SVM應(yīng)該是學(xué)術(shù)界非常喜歡的模型,他有著分類器最美好的愿望,在特征空間里畫一個(gè)平面,把樣本點(diǎn)劃分開,這個(gè)模型算是把可視化角度可解釋性拉滿了。

往往事與愿違,很多并不是線性可分的,你沒辦法簡單的畫一個(gè)超平面。你需要畫一個(gè)很曲折的東西,才能把他們分好。

回到剛才的身材分類器的例子上,如果你沒有BMI指數(shù),和有BMI指數(shù),SVM的超平面截然不同。

有BMI指數(shù)的話,我在一維度坐標(biāo)軸上畫一個(gè)點(diǎn)就能解決。

要是沒有BMI指數(shù)的話。你也只能像LR那樣,通過核方法來解決了。在方式一我們使用了核方法給這些模型升維,方式二使用了特征方法。

要知道天下沒有免費(fèi)的午餐,在你使用核方法升維的時(shí)候,實(shí)際很難精煉出恰好是x*y^(-2)這樣的多項(xiàng)式表達(dá),你肯定是一股腦地把x*y,x^2*y, x*y^2 這些項(xiàng)都扔進(jìn)去了。

決策樹

這么暴力的操作,有兩個(gè)問題,一是共線性,二是噪聲。

第一、共線性的意思是幾個(gè)項(xiàng)表達(dá)的含義是趨同的,保持了很強(qiáng)的線性關(guān)系,對于邏輯回歸是致命的問題,因?yàn)樗麕砹藱?quán)重的不穩(wěn)定,要知道邏輯回歸權(quán)重可是暗示了特征重要性的。還會(huì)破壞樸素貝葉斯的基本假設(shè)。這些都是有副作用的。

(要是你對這段話,不好理解的話,仔細(xì)學(xué)習(xí)下邏輯回歸模型和共線性的理論,此處不單獨(dú)展開)

第二、噪聲讓你的分類器學(xué)習(xí)到了一些不好的東西,對你的決策沒有產(chǎn)生泛化的貢獻(xiàn),反而帶跑偏你的模型,學(xué)習(xí)到了一些不是知識(shí)的邊邊角角。

而有一些模型,他們天然可以解決這些問題。

典型的就像決策樹和神經(jīng)網(wǎng)絡(luò)。

決策樹的優(yōu)點(diǎn)

1.天然的魯棒性,能自動(dòng)從異常點(diǎn),缺失值學(xué)到信息。不需要?dú)w一化。直接上手一把梭哈。

2.樹可以半自動(dòng)化地完成一些特征非線性表達(dá)的工作,而且基于貪心切分+采樣等抗過擬合手段,能比較好的挖掘數(shù)據(jù)的非線性。

3.樹的可解釋性很好,能生產(chǎn)特征重要性,幫助你理解數(shù)據(jù),改善特征工程。一個(gè)經(jīng)典的套路是思考topN特征背后的邏輯,并圍繞他們進(jìn)行特征工程。

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

NN模型也有一些天然的優(yōu)點(diǎn):

1.全自動(dòng)化的特征工程和登峰造極的非線性表達(dá)能力,在數(shù)據(jù)表征范式統(tǒng)一,語義含義統(tǒng)一的稠密數(shù)據(jù)上(典型文本圖像)上,NN一個(gè)打十個(gè)。另外,典型的像ID序列這種,人很難做出花來。也就是Bag of words或者借用embedding表達(dá)一下,還有一半是NN的功勞。

2.NN模型容量極大,在數(shù)據(jù)量的加持上,放大了1的優(yōu)勢。

但是看起來樹模型的優(yōu)點(diǎn)在其他模型也有,他們跟SVM和LR這些模型比又有啥區(qū)別呢?

1.第一,這些模型獲取非線性的方式太粗暴了,有種大炮打蚊子的感覺。依靠kernel強(qiáng)行把VC維提高,帶來的噪聲特別多,有用信息很少。第二,kernal是有先驗(yàn)的,很容易被人設(shè)的參數(shù)帶跑偏。這在實(shí)際業(yè)務(wù)數(shù)據(jù)中是非常致命的。

2.理論上LR+完美的特征工程可以很強(qiáng),但是太難了,又不是人人都是特征工程大師。早期鳳巢億級(jí)特征跑LR效果特別好逐漸成為傳說。

給你們整個(gè)表吧

  優(yōu)勢 劣勢
LR等

速度極快,可解釋性普遍很高。

無非線性,依賴kernel,

人工特征工程。

決策樹 1.魯棒,異常點(diǎn),缺失值都是可以學(xué)習(xí)的信息
2.適中的非線性能力,在一定范圍內(nèi)是優(yōu)勢3.可解釋性很好,可以幫你優(yōu)化特征工程
1.非線性表達(dá)能力有限,很難在文本圖像上有用。
2.數(shù)據(jù)量帶來的邊際增益不大,容易觸及天花板。
NN 1.全自動(dòng)化的特征工程
2.模型容量大,可以利用數(shù)據(jù)量的優(yōu)勢
1.異常值敏感,依賴手動(dòng)處理
2.不可解釋,改進(jìn)迭代的措施和結(jié)果的路徑太遠(yuǎn)。3.過強(qiáng)的非線性中隱含過擬合和噪音。
 

橫向?qū)Ρ?/h3>

我把之前用過的圖再改進(jìn)一下。

這個(gè)圖表達(dá)意思是,y軸是人的認(rèn)知可解程度,對應(yīng)著就是特征工程的難度和可行性。x軸是數(shù)據(jù)的非線性。

經(jīng)常調(diào)侃的人工智能,就是有多少人工,就有多少智能,就是線性模型因人工特征工程發(fā)揮的空間。隨著數(shù)據(jù)非線性的提高,特征工程難度的增大,LR線性模型的用武之地就越來越小。反而逐漸決策樹,神經(jīng)網(wǎng)絡(luò)等非線性模型開始大展身手。

回到問題,這些模型使用的頻率,大概也和各自的圖中面積差不多一致了。神經(jīng)網(wǎng)絡(luò)在工業(yè)界,已經(jīng)占據(jù)了半邊天,決策樹占據(jù)了剩下的絕大部分,還有一點(diǎn)點(diǎn)場景,因?yàn)樘厥庑?,仍舊用著LR等模型。

 

責(zé)任編輯:武曉燕 來源: 包包算法筆記
相關(guān)推薦

2024-04-26 14:18:43

機(jī)器學(xué)習(xí)人工智能

2023-05-11 15:24:12

2017-07-21 10:42:27

自動(dòng)駕駛應(yīng)用機(jī)器學(xué)習(xí)

2020-11-08 13:33:05

機(jī)器學(xué)習(xí)數(shù)據(jù)中毒人工智能

2017-10-24 11:19:16

深度學(xué)習(xí)機(jī)器學(xué)習(xí)數(shù)據(jù)

2018-10-18 11:00:50

人工智能機(jī)器學(xué)習(xí)模型偏差

2022-04-15 08:03:41

SaaS應(yīng)用管理市場

2017-05-31 09:12:51

機(jī)器學(xué)習(xí)算法數(shù)據(jù)

2022-04-26 10:27:52

機(jī)器算法KNN數(shù)據(jù)

2021-07-15 10:49:08

數(shù)據(jù)平臺(tái)企業(yè)

2023-04-18 08:45:28

MongoDB部署模式

2024-05-31 08:05:29

2017-05-15 11:10:10

大數(shù)據(jù)聚類算法

2023-02-27 07:33:14

MySQL數(shù)據(jù)庫服務(wù)器

2024-05-21 09:45:40

機(jī)器學(xué)習(xí)人工智能XAI

2024-03-01 19:26:22

2023-08-01 08:27:15

Java I/ONIO

2017-03-28 08:53:22

2021-10-26 16:10:50

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

2019-03-27 09:00:00

人工智能AI算法
點(diǎn)贊
收藏

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