机器学习各算法思想(极简版)
讀到的一篇不錯(cuò)的文章,拿來和大家分享一下。
轉(zhuǎn)自–頭條公眾號–極數(shù)蝸牛
(1)線性回歸
回歸最早是由高爾頓研究子女身高與父母身高遺傳關(guān)系提出的,發(fā)現(xiàn)子女平均身高總是向中心回歸而得名。其實(shí)“一分辛苦一分才”中就蘊(yùn)含了線性回歸算法思想,比較簡單表現(xiàn)出才能與辛苦是正比關(guān)系。另外,經(jīng)常聽說“成功=3分才能+6分機(jī)會+1分貴人幫”,這是標(biāo)準(zhǔn)的線性回歸方程,其中成功是因變量;才能、機(jī)會和貴人是自變量;而自變量前邊的3、6和1是權(quán)重。
(2)K-聚類
中國有句古話是“物以類聚,人以群分”,其實(shí)已經(jīng)蘊(yùn)含了聚類算法的基本思想。比如說人,可以根據(jù)年齡分70后、80后、90后等;根據(jù)區(qū)域分北京、上海、廣東等;根據(jù)性別分男和女。人可以根據(jù)不同特征屬性進(jìn)行劃分,而在聚類算法中是根據(jù)不同方式來計(jì)算兩個(gè)事物的距離,如歐氏距離、皮爾森相似度等。
假如根據(jù)年齡可以每10年份劃分為70后、80后、90后等,也可以根據(jù)成長周期分童年、少年、青年、中年和老年。因此特征刻度大小決定了群體的范圍,這反映在聚類算法中就是通過不同方法處理事物間距離,來確定事物屬于哪個(gè)群體,如根據(jù)平均值、最大值等。
其中K值是表示劃分群體的大小,如以區(qū)域?yàn)槔?#xff0c;K=34,則劃分為全國省份;K=7,則劃分為東北,中原,華東,華北,華南,西北和西部等;K=2,則劃分為南方和北方。
(3)K-鄰近
中國還有句古話是“近朱者赤近墨者黑”,該句也蘊(yùn)含了K-鄰近算法的思想。比如判斷一個(gè)人是否是有錢人,可以根據(jù)其最近聯(lián)系的人群中,有錢人的比例來推測。這就需要解決兩個(gè)問題,一是如何確定最近聯(lián)系人,二是如何計(jì)算有錢人比例。這反映在K-鄰近算法中就是首先確定不同事物樣本的距離,然后確定K值的大小,根據(jù)K值內(nèi)的有錢人占比,來預(yù)測未知用戶的狀態(tài)。
K值的大小將會直接決定預(yù)測結(jié)果,假如你有5個(gè)有錢人朋友,當(dāng)K=8時(shí),判定你為有錢人;但當(dāng)K=12時(shí),則判定你不是有錢人。因此在該算法中K的選擇至關(guān)重要。
(4)樸素貝葉斯
“吃一虧長一智”反映了樸素貝葉斯算法思維,就是通過后驗(yàn)經(jīng)驗(yàn)法,來對未知的預(yù)測。假如你經(jīng)常買水果,發(fā)現(xiàn)10個(gè)青蘋果里邊8個(gè)都是酸的,而10個(gè)紅蘋果里有7個(gè)都是甜的,這種經(jīng)驗(yàn)告訴以后再挑選蘋果時(shí),紅蘋果7/10是甜的,青蘋果2/10是甜的,如果你喜歡甜的,那就選紅蘋果吧。
(5)決策樹
在婚戀相親時(shí)經(jīng)常被問到“你有車嗎?你有房嗎?你有錢嗎?”,這和決策樹的思維過程極其相似。決策樹是由樹枝,樹葉,節(jié)點(diǎn)組成的樹型結(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)就是一個(gè)問題或特征(如你有車嗎?),每個(gè)樹枝是問題的走向(如有),每個(gè)節(jié)點(diǎn)就是答案(相親成功)。
(6)主成分分析
經(jīng)常在網(wǎng)上看到兩個(gè)字“干貨”。那怎么定義“干貨”,我覺得應(yīng)該包括兩方面:一是信息量大,二是沒有廢話。其實(shí)如何將“水貨”制作成干貨的過程,與主成分分析有異曲同工之妙。“干貨”能夠使原文到達(dá)“短小精悍”,而主成分分析能夠?qū)崿F(xiàn)數(shù)據(jù)集降維,即用較少維度表示原有樣本含有的信息,兩則都是通過其它語言或轉(zhuǎn)變維度來表達(dá)原有信息。
“水貨”變成“干貨”就是將意思相近或相似的句子進(jìn)行濃縮或提煉,也就是將“水貨”里的的水分?jǐn)Q干;而主成分分析是根據(jù)樣本集的協(xié)方差矩陣,通過線性變換將原數(shù)據(jù)映射到新的坐標(biāo)系統(tǒng),并將差異性較大特征值的保留,以到達(dá)降維目的。
(7)隨機(jī)森林
“三個(gè)臭皮匠賽過諸葛亮”與隨機(jī)森林算法內(nèi)核類似。隨機(jī)森林是是由一棵棵的決策樹構(gòu)成的,每決策樹的形成都是隨機(jī)的,它可以避免單一決策樹過擬合和偏向的毛病。
再以相親為例,對相親對象要求,你可能看重“有房”“有車”“有錢”;你媽看重“有房”“孝順”;你爸看重“事業(yè)”“顧家”“有車”等。其實(shí)你們每個(gè)人都是一個(gè)決策樹,可根據(jù)自己判斷標(biāo)準(zhǔn)決策出相親對手是否“滿意”,最后集合每個(gè)人的決策結(jié)果,來判斷最后是否相親成功。一個(gè)人相親是決策樹,全家人相親就是隨機(jī)森林。
(8)最大熵模型
“不要把雞蛋放在一個(gè)籃子里”是最大熵模型比較樸素的說法,也反映了該算法的本質(zhì),就是對不確定的或未知的,盡量保持隨機(jī)和均勻分布,能夠?qū)L(fēng)險(xiǎn)降到最低。其實(shí)在生活中大家應(yīng)該都不自覺的應(yīng)用了該模型。比如,去年P(guān)2P較火的時(shí)候,很多人被其高收益吸引,但由于P2P魚龍混雜,又擔(dān)心跑路;因此采取比較保險(xiǎn)的舉措,就是多投幾家公司。
其實(shí),熵是對無序狀態(tài)的描述,而最大熵就是表示樣本是均勻分布,可能性概率相同。
(9)AdaBoost
在學(xué)生時(shí)代,考試有個(gè)技巧就是構(gòu)建自己的“錯(cuò)題本”,每次考試前都加強(qiáng)對“錯(cuò)題本”學(xué)習(xí),通過不斷強(qiáng)化“錯(cuò)題本”上題目,最終可能獲得較高分?jǐn)?shù)。其實(shí)這個(gè)學(xué)習(xí)過程與AdaBoost是算法邏輯是相同的。
假設(shè)每次考試作為一次模型訓(xùn)練,每道題目作為一個(gè)樣本,分?jǐn)?shù)作為預(yù)測準(zhǔn)確率,而“錯(cuò)題本”就是預(yù)測錯(cuò)誤的樣本;當(dāng)再次進(jìn)行預(yù)測訓(xùn)練考試的時(shí)候,AdaBoost算法策略就是會對上次預(yù)測“錯(cuò)誤的樣本”加大權(quán)重,并以此不斷迭代,通過多次訓(xùn)練,最后能夠組合成一個(gè)較強(qiáng)的分類器(即考試高分)。
(10)關(guān)聯(lián)規(guī)則
是否耳熟“我看你天賦異稟、骨骼驚奇,想來是百年難得一見的練武奇才”“貧道夜觀天象,發(fā)現(xiàn)北斗星南移,天狼星耀青光,帝王星顯現(xiàn)”等臺詞。其實(shí)這里邊就蘊(yùn)含了關(guān)聯(lián)規(guī)則,通過經(jīng)驗(yàn)積累發(fā)現(xiàn)骨骼與練武,北斗星與帝王等之間關(guān)聯(lián)。
“用生辰八字來算命”雖然被成為偽科學(xué),但偶爾能算準(zhǔn),這是這么回事?用關(guān)聯(lián)規(guī)則算法就容易解釋,首先理解兩個(gè)概念支持度和置信度。
支持度是指A(某生辰八字)和B(某命運(yùn))同時(shí)發(fā)生的占比,如某生辰對應(yīng)某命運(yùn)的人數(shù)占總?cè)藬?shù)比值;置信度是指A發(fā)生后B發(fā)生的概率,如某生辰中當(dāng)官的人數(shù)/某生辰總?cè)藬?shù)。如果置信度是100%,如果A發(fā)生,那么B一定發(fā)生。算命先生就將生辰和命運(yùn)的置信度定為100%。
如果算命先生學(xué)過機(jī)器學(xué)習(xí)算法,就不會很肯定指出你將來一定當(dāng)官,而是說你將來當(dāng)官的支持度為20%,置信度為30%。
(11)邏輯回歸
邏輯回歸與線性回歸都是廣義線性模型,只所以在回歸前加上“邏輯”,是因?yàn)?strong>他在線性回歸的基礎(chǔ)上穿上了一件馬甲(轉(zhuǎn)變函數(shù))。比如人的成功公式: “成功=3分才能+6分機(jī)會+1分貴人幫”,但通過計(jì)算可能得出如1,5,99,200等各種數(shù)字,如果就想知道是否是成功人士,你就需要一個(gè)“成功評委”來對結(jié)果進(jìn)行評價(jià),最終輸出量化指標(biāo),如成功率是80%,其中越接近100%,說明越成功。而這個(gè)“成功評委”就是一個(gè)轉(zhuǎn)變函數(shù)。
(12)因子分析
中國有句古話是“三歲看老”和“性格決定命運(yùn)”,這與因子分析的思維類似,就是將影響或決定事物的本質(zhì)東西總結(jié)出來。網(wǎng)絡(luò)上將有喝綠茶飲料,穿361運(yùn)動鞋,周末在家打游戲,留著平頭等特征行為的人,稱為具有“屌絲”氣質(zhì)。因子分析過程也類似,就是對具有關(guān)聯(lián)行為或相似事件,進(jìn)行共性因子提取,將具有共同本質(zhì)的特征行為歸為一個(gè)因子。像土豪,即使有錢了,依然沒有改變“土”的因子。
(13)人工神經(jīng)網(wǎng)絡(luò)
其實(shí)全國人民大會代表選舉過程與人工神經(jīng)網(wǎng)絡(luò)運(yùn)算流程是類似。首先由基層人民選取鄉(xiāng)/縣級人民代表,再有縣級選舉市級,由市級選舉省級,最后產(chǎn)生全國人民代表。其實(shí),在選舉過程中,每個(gè)人/代表相當(dāng)于人工神經(jīng)網(wǎng)絡(luò)的一個(gè)神經(jīng)元,而縣、市、省等行政級別,相當(dāng)于人工神經(jīng)網(wǎng)絡(luò)的層級,最后選取的代表相當(dāng)于輸出結(jié)果。層級越多代表越復(fù)雜,深度學(xué)習(xí)就是多層神經(jīng)網(wǎng)絡(luò)。現(xiàn)在終于明白國家領(lǐng)導(dǎo)人考察農(nóng)村,叫做深入基層。
(14)SVM(支持向量機(jī))
以相親為例,假如你根據(jù)學(xué)歷,身高,年齡,相貌等指標(biāo),綜合評估下來依然有較多候選人,你不知道這么辦?這時(shí)候你閨蜜告訴你個(gè)方法:“就是看看他的父母和朋友情況”,這時(shí)候你豁然開朗,根據(jù)他的父母健康并是高官,朋友都年輕有為等指標(biāo),很快就確定了候選者。其實(shí)這個(gè)過程與SVM模型的思維邏輯相同的。SVM的核心思維就是將低維數(shù)據(jù)(一個(gè)人)映射到高維空間(多個(gè)人),從而實(shí)現(xiàn)數(shù)據(jù)可分(可選擇);你閨蜜的方法在SVM中就是核函數(shù)。這是一個(gè)拼“爹”的時(shí)代。
總結(jié)
以上是生活随笔為你收集整理的机器学习各算法思想(极简版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows应用商店下载安装Ubunt
- 下一篇: php_curl-5.4.3-VC9-x