目錄
機(jī)器學(xué)習(xí)概述
01 監(jiān)督學(xué)習(xí)
02 無(wú)監(jiān)督學(xué)習(xí):
03 半監(jiān)督學(xué)習(xí)
04 強(qiáng)化學(xué)習(xí)
機(jī)器學(xué)習(xí)算法介紹
1 回歸算法
01線性回歸:
02非線性回歸
03邏輯回歸
2 聚類(lèi)
01基于層次的聚類(lèi)
02基于分割(劃分)的聚類(lèi)
03基于密度的聚類(lèi)
04基于網(wǎng)格的聚類(lèi)
05基于模型的聚類(lèi)
3分類(lèi):
01 邏輯回歸
02 樸素貝葉斯分類(lèi)器
03 SVM算法:
04 KNN
05 決策樹(shù):
06 隨機(jī)森林
4降維
有監(jiān)督降維
無(wú)監(jiān)督降維
5 時(shí)間序列:
常用算法:AR腐泻、MA失驶、ARMA、ARIMA地淀、SARIMA
Prophet模型
LSTM
6深度學(xué)習(xí):
01神經(jīng)網(wǎng)絡(luò):
02反向傳播:
03前向神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks, FNN):
04卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)
05循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks ,RNN)
06遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network )
總結(jié)
機(jī)器學(xué)習(xí)是指機(jī)器通過(guò)統(tǒng)計(jì)學(xué)算法偿渡,對(duì)大量歷史數(shù)據(jù)進(jìn)行學(xué)習(xí)臼寄,進(jìn)而利用生成的經(jīng)驗(yàn)?zāi)P椭笇?dǎo)業(yè)務(wù)。它是一門(mén)多領(lǐng)域交叉學(xué)科溜宽,專(zhuān)門(mén)研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類(lèi)的學(xué)習(xí)行為吉拳,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身的性能适揉。
監(jiān)督學(xué)習(xí)是根據(jù)已有數(shù)據(jù)集留攒,知道輸入和輸出結(jié)果之間的關(guān)系,然后根據(jù)這種已知關(guān)系訓(xùn)練得到一個(gè)最優(yōu)模型嫉嘀。也就是說(shuō)稼跳,在監(jiān)督學(xué)習(xí)中,我們的訓(xùn)練數(shù)據(jù)應(yīng)該既有特征又有標(biāo)簽吃沪,然后通過(guò)訓(xùn)練汤善,使得機(jī)器能自己找到特征和標(biāo)簽之間的聯(lián)系,然后在面對(duì)沒(méi)有標(biāo)簽的數(shù)據(jù)時(shí)可以判斷出標(biāo)簽票彪。
主要分為:分類(lèi)任務(wù)红淡、回歸任務(wù)、序列標(biāo)注任務(wù)降铸。
監(jiān)督學(xué)習(xí)實(shí)例:iris數(shù)據(jù)集是用來(lái)給花做分類(lèi)的數(shù)據(jù)集在旱,每個(gè)樣本包含了花萼長(zhǎng)度、花萼寬度推掸、花瓣長(zhǎng)度桶蝎、花瓣寬度四個(gè)特征(前4列),我們需要建立一個(gè)分類(lèi)器谅畅,分類(lèi)器可以通過(guò)樣本的四個(gè)特征來(lái)判斷樣本屬于山鳶尾登渣、變色鳶尾還是維吉尼亞鳶尾(這三個(gè)名詞都是花的品種)。
無(wú)監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)最大的不同是監(jiān)督學(xué)習(xí)中數(shù)據(jù)是帶有一系列標(biāo)簽毡泻。在無(wú)監(jiān)督學(xué)習(xí)中胜茧,我們需要用某種算法去訓(xùn)練無(wú)標(biāo)簽的訓(xùn)練集從而能讓我們我們找到這組數(shù)據(jù)的潛在結(jié)構(gòu)。無(wú)監(jiān)督學(xué)習(xí)大致可以分為聚類(lèi)和降維兩大類(lèi)。
主要分為:聚類(lèi)任務(wù)呻顽、降維任務(wù)
有監(jiān)督學(xué)習(xí)方法必須要有訓(xùn)練集與測(cè)試樣本雹顺。在訓(xùn)練集中找規(guī)律,而對(duì)測(cè)試樣本使用這種規(guī)律廊遍。而非監(jiān)督學(xué)習(xí)沒(méi)有訓(xùn)練集嬉愧,只有一組數(shù)據(jù),在該組數(shù)據(jù)集內(nèi)尋找規(guī)律喉前,比如右圖實(shí)例没酣,可用過(guò)聚類(lèi)算法自動(dòng)給數(shù)據(jù)集分類(lèi)。
半監(jiān)督學(xué)習(xí)是監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)相互結(jié)合的一種學(xué)習(xí)方法被饿,通過(guò)半監(jiān)督學(xué)習(xí)的方法可以實(shí)現(xiàn)分類(lèi)四康、回歸搪搏、聚類(lèi)的結(jié)合使用狭握。
半監(jiān)督分類(lèi):是在無(wú)類(lèi)標(biāo)簽的樣例的幫助下訓(xùn)練有類(lèi)標(biāo)簽的樣本,獲得比只用有類(lèi)標(biāo)簽的樣本訓(xùn)練得到更優(yōu)的分類(lèi)疯溺;半監(jiān)督回歸:在無(wú)輸出的輸入的幫助下訓(xùn)練有輸出的輸入论颅,獲得比只用有輸出的輸入訓(xùn)練得到的回歸器性能更好的回歸;半監(jiān)督聚類(lèi):在有類(lèi)標(biāo)簽的樣本的信息幫助下獲得比只用無(wú)類(lèi)標(biāo)簽的樣例得到的結(jié)果更好的簇囱嫩,提高聚類(lèi)方法的精度恃疯;半監(jiān)督降維:在有類(lèi)標(biāo)簽的樣本的信息幫助下找到高維輸入數(shù)據(jù)的低維結(jié)構(gòu),同時(shí)保持原始高維數(shù)據(jù)和成對(duì)約束的結(jié)構(gòu)不變墨闲。半監(jiān)督學(xué)習(xí)是最近比較流行的方法今妄。
強(qiáng)化學(xué)習(xí)是一種比較復(fù)雜的機(jī)器學(xué)習(xí)方法,強(qiáng)調(diào)系統(tǒng)與外界不斷的交互反饋鸳碧,它主要是針對(duì)流程中不斷需要推理的場(chǎng)景盾鳞,比如無(wú)人汽車(chē)駕駛,它更多關(guān)注性能瞻离。它是機(jī)器學(xué)習(xí)中的熱點(diǎn)學(xué)習(xí)方法腾仅。
常用的機(jī)器學(xué)習(xí)算法:
回歸分析是一種統(tǒng)計(jì)分析方法,用于預(yù)測(cè)一個(gè)連續(xù)變量與一個(gè)或多個(gè)其他變量之間的關(guān)系套利⊥评回歸分析通過(guò)建立模型來(lái)預(yù)測(cè)因變量(被預(yù)測(cè)變量)與自變量(預(yù)測(cè)變量)之間的關(guān)系,從而預(yù)測(cè)因變量的值肉迫⊙榇牵回歸分析有多種形式,包括線性回歸喊衫、非線性回歸受神、Logistic回歸等。
線性回歸:是回歸分析的一種格侯,假設(shè)因變量與自變量之間存在線性關(guān)系鼻听,即因變量與自變量的關(guān)系可以用一條直線來(lái)描述财著。它最常見(jiàn)的應(yīng)用場(chǎng)景是預(yù)測(cè)數(shù)值型變量,如預(yù)測(cè)房?jī)r(jià)根據(jù)面積撑碴、房齡等因素撑教。
其中所有的x都是一次項(xiàng),所有的x與y都是線性關(guān)系醉拓。
線性回歸主要涉及兩個(gè)難點(diǎn):
[if !supportLists]1伟姐、[endif]參數(shù)的選擇:
最簡(jiǎn)單的方法,我把所有可能的參數(shù)值都羅列好亿卤,讓程序全部執(zhí)行嘗試計(jì)算愤兵,最終就能選擇出最優(yōu)解,但是這種方式不但耗時(shí)還占內(nèi)存排吴,所以我們就需要其他方法來(lái)進(jìn)行優(yōu)化秆乳,即參數(shù)迭代。
參數(shù)迭代一般選取梯度下降法:梯度下降法就好比是下山钻哩,下一步的方向選的是最陡的方向屹堰。梯度下降不一定能夠找到全局的最優(yōu)解,有可能是一個(gè)局部最優(yōu)解街氢。梯度下降法的計(jì)算過(guò)程就是沿梯度下降的方向求解極小值扯键。
其迭代公式為
?其中
代表梯度負(fù)方向,
表示梯度方向上的搜索步長(zhǎng)。梯度方向我們可以通過(guò)對(duì)函數(shù)求導(dǎo)得到珊肃,步長(zhǎng)的確定比較麻煩荣刑,太大了的話可能會(huì)發(fā)散,太小收斂速度又太慢伦乔。一般確定步長(zhǎng)的方法是由線性搜索算法來(lái)確定厉亏,即把下一個(gè)點(diǎn)的坐標(biāo)看做是ak+1的函數(shù),然后求滿足f(ak+1)的最小值的ak+1即可评矩。
參數(shù)迭代算法還包括牛頓迭代法叶堆、最速下降法、共軛迭代法斥杜、線性規(guī)劃虱颗、非線性規(guī)劃、遺傳算法蔗喂、模擬退火等等忘渔。
[if !supportLists]2、[endif]驗(yàn)證參數(shù)選擇的正確性:
計(jì)算參數(shù)是否最優(yōu)一般通過(guò)代價(jià)函數(shù):代價(jià)函數(shù)也稱(chēng)為損失函數(shù)缰儿,為每個(gè)真實(shí)值與預(yù)測(cè)值之前的殘差平方之和畦粮,即最小二乘法。
線性回歸實(shí)例:
預(yù)測(cè)波士頓房?jī)r(jià):
房子價(jià)格= 0.02×中心區(qū)域的距離 + 0.04×城市一氧化氮濃度 + (-0.12×自住房平均房?jī)r(jià)) + 0.254×城鎮(zhèn)犯罪率
案例來(lái)源:https://blog.csdn.net/weixin_52733693/article/details/127091657
非線性回歸:非線性回歸是線性回歸的延伸,假設(shè)因變量與自變量之間不存在線性關(guān)系宣赔,即因變量與自變量的關(guān)系不能用一條直線來(lái)描述预麸,需要用更復(fù)雜的函數(shù)模型來(lái)描述,回歸規(guī)律在圖形上表現(xiàn)為形態(tài)各異的各種曲線儒将。
線性就是每個(gè)變量的指數(shù)都是1吏祸,而非線性就是至少有一個(gè)變量的指數(shù)不是 1。該方法假設(shè)因變量和自變量之間不存在線性關(guān)系钩蚊,而是存在非線性關(guān)系贡翘。常用的曲線類(lèi)型有冪函數(shù),指數(shù)函數(shù)砰逻,拋物線函數(shù)鸣驱,對(duì)數(shù)函數(shù)和S型函數(shù)。假如我們希望預(yù)測(cè)某商家的銷(xiāo)售額蝠咆,我們可以使用非線性回歸分析踊东,并通過(guò)分析廣告費(fèi)用勺美、宣傳渠道递胧、季節(jié)等因素與銷(xiāo)售額之間的關(guān)系碑韵,從而預(yù)測(cè)出銷(xiāo)售額的變化趨勢(shì)赡茸。非線性回歸的模型可以更好地捕捉復(fù)雜的非線性關(guān)系,并對(duì)預(yù)測(cè)結(jié)果產(chǎn)生更大的影響祝闻。
非線性函式的求解一般可分為將非線性變換成線性和不能變換成線性兩大類(lèi)占卧。
可線性化問(wèn)題:處理可線性化處理的非線性回歸的基本方法是,通過(guò)變數(shù)變換联喘,將非線性回歸化為線性回歸华蜒,然后用線性回歸方法處理。
不能變換成線性:假定根據(jù)理論或經(jīng)驗(yàn)豁遭,已獲得輸出變數(shù)與輸入變數(shù)之間的非線性表達(dá)式叭喜,但表達(dá)式的係數(shù)是未知的,要根據(jù)輸入輸出的n次觀察結(jié)果來(lái)確定係數(shù)的值蓖谢。舉例非線性回歸模型:
Logisic回歸:是回歸分析的一種捂蕴,專(zhuān)門(mén)用于預(yù)測(cè)二元分類(lèi)結(jié)果(例如,預(yù)測(cè)一個(gè)人是否患有疾采劣摹)啥辨,而不是連續(xù)變量。該模型建立在Sigmoid函數(shù)基礎(chǔ)上盯腌,該函數(shù)可以將任意實(shí)數(shù)值映射到0~1范圍內(nèi)溉知,表示某個(gè)事件的概率。
在二分類(lèi)器中,經(jīng)常需要一個(gè)分界線作為區(qū)分兩類(lèi)結(jié)果级乍。再次需要一個(gè)函數(shù)進(jìn)行曲線平滑化舌劳,由此引入Sigmoid 函數(shù)進(jìn)行轉(zhuǎn)化:
經(jīng)典案例:良/惡性乳腺癌腫瘤預(yù)測(cè)
機(jī)器學(xué)習(xí)的過(guò)程中,經(jīng)常通過(guò)誤差大小來(lái)評(píng)判模型好壞玫荣,在訓(xùn)練集上的效果差蒿囤,成為欠擬合;我們?cè)谟?xùn)練集上的誤差較小崇决,但在測(cè)試集上的誤差較大則成為過(guò)擬合材诽。
欠擬合主要是由于學(xué)習(xí)不足造成的,那么我們可以通過(guò)以下方法解決此問(wèn)題
1恒傻、增加新的特征脸侥,或者衍生特征(對(duì)特征進(jìn)行變換,特征組合)
2盈厘、使用較復(fù)雜的模型睁枕,或者減少正則項(xiàng)
過(guò)擬合的形成原因主要為:
1、樣本問(wèn)題
1)樣本量太少:樣本量太少可能會(huì)使得我們選取的樣本不具有代表性沸手,從而將這些樣本獨(dú)有的性質(zhì)當(dāng)作一般性質(zhì)來(lái)建模外遇,就會(huì)導(dǎo)致模型在測(cè)試集上效果很差;
2)訓(xùn)練集契吉、測(cè)試集分布不一致:對(duì)于數(shù)據(jù)集的劃分沒(méi)有考慮業(yè)務(wù)場(chǎng)景跳仿,有可能造成我們的訓(xùn)練、測(cè)試樣本的分布不同捐晶,就會(huì)出現(xiàn)在訓(xùn)練集上效果好菲语,在測(cè)試集上效果差的現(xiàn)象;
3)樣本噪聲干擾大:如果數(shù)據(jù)的聲音較大惑灵,就會(huì)導(dǎo)致模型擬合這些噪聲山上,增加了模型復(fù)雜度;
2英支、模型問(wèn)題
1)參數(shù)太多佩憾,模型過(guò)于復(fù)雜,對(duì)于樹(shù)模型來(lái)說(shuō)干花,比如:決策樹(shù)深度較大等妄帘。
如何防止過(guò)擬合?
1)增加樣本量:樣本量越大把敢,過(guò)擬合的概率就越屑陌凇(不過(guò)有的由于業(yè)務(wù)受限,樣本量增加難以實(shí)現(xiàn))修赞;
2)減少特征:減少冗余特征婶恼;
3)加入正則項(xiàng):損失函數(shù)中加入正則項(xiàng)桑阶,懲罰模型的參數(shù),降低模型的復(fù)雜度(樹(shù)模型可以控制深度等)勾邦;
4)集成學(xué)習(xí):練多個(gè)模型蚣录,將模型的平均結(jié)果作為輸出,這樣可以弱化每個(gè)模型的異常數(shù)據(jù)影響眷篇。
聚類(lèi)是常見(jiàn)的無(wú)監(jiān)督學(xué)習(xí)算法萎河,也就是只有數(shù)據(jù),無(wú)明確答案蕉饼,即訓(xùn)練集沒(méi)有標(biāo)簽虐杯。由計(jì)算機(jī)自己找出規(guī)律,把相似屬性的樣本放在一起昧港,每個(gè)組也成為簇擎椰。
聚類(lèi)方法主要?jiǎng)澐譃槲宕箢?lèi):
原理:試圖在不同層次上對(duì)數(shù)據(jù)集進(jìn)行劃分,從而形成樹(shù)形的聚類(lèi)結(jié)構(gòu)创肥。數(shù)據(jù)集的劃分可采用“自底向上”的聚合策略和“自頂向下”的拆分策略达舒。
(1)算法流程
以下流程以自下向上為例。
a.將每個(gè)對(duì)象看作一類(lèi)叹侄,計(jì)算兩兩之間的最小距離巩搏;
b. 將距離最小的兩個(gè)類(lèi)合并成一個(gè)新類(lèi);
c. 重新計(jì)算新類(lèi)與所有類(lèi)之間的距離趾代;
d. 重復(fù)b, c, 直到所有類(lèi)最后合并成一類(lèi)贯底。(在此我們了已選擇我們需要多少個(gè)簇)
原理:首先要確定一堆散點(diǎn)最后聚成幾類(lèi),然后挑選幾個(gè)點(diǎn)作為初始中心點(diǎn)稽坤,再然后依據(jù)預(yù)先定好的啟發(fā)式算法(heuristic algorithms)給數(shù)據(jù)點(diǎn)做迭代重置(iterative relocation)丈甸,直到最后到達(dá)“類(lèi)內(nèi)的點(diǎn)都足夠近糯俗,類(lèi)間的點(diǎn)都足夠遠(yuǎn)”的目標(biāo)效果尿褪。
基于劃分的聚類(lèi)代表方法有:K-means及其變體包括k-medoids、k-modes得湘、k-medians等杖玲、CLARA、PAM等算法淘正。
k-means算法流程:
a. 隨機(jī)地選擇k個(gè)對(duì)象摆马,每個(gè)對(duì)象初始地代表了一個(gè)簇的中心;
b.對(duì)剩余的每個(gè)對(duì)象鸿吆,根據(jù)其與各簇中心的距離囤采,將它賦給最近的簇;
c.重新計(jì)算每個(gè)簇的平均值惩淳,更新為新的簇中心蕉毯;
d.不斷重復(fù)b, c, 直到準(zhǔn)則函數(shù)收斂乓搬。
原理:定一個(gè)距離半徑,最少有多少個(gè)點(diǎn)代虾,然后把可以到達(dá)的點(diǎn)都連起來(lái)进肯,判斷為同類(lèi)。
1)算法流程
a.指定合適的r(點(diǎn)的半徑)和M(在一個(gè)點(diǎn)半徑內(nèi)至少包含的點(diǎn)的個(gè)數(shù))棉磨;
b.計(jì)算所有的樣本點(diǎn)江掩,如果點(diǎn)p的r鄰域里有超過(guò)M個(gè)點(diǎn),則創(chuàng)建一個(gè)以p為核心點(diǎn)的新簇乘瓤;
c.反復(fù)尋找這些核心點(diǎn)直接密度可達(dá)的點(diǎn)环形,將其加入到相應(yīng)的簇,對(duì)于核心點(diǎn)發(fā)生"密度相連"狀況的簇衙傀,給予合并斟赚;
d.當(dāng)沒(méi)有新的點(diǎn)可以被添加到任何簇,算法結(jié)束差油。
原理:將數(shù)據(jù)空間劃分為網(wǎng)格單元拗军,將數(shù)據(jù)對(duì)象集映射到網(wǎng)格單元中,并計(jì)算每個(gè)單元的密度蓄喇。根據(jù)預(yù)設(shè)的閾值判斷每個(gè)網(wǎng)格單元是否為高密度單元斥季,密度足夠大的網(wǎng)格單元形成簇。
(1)算法流程:
a.劃分網(wǎng)格朦拖;
b.使用網(wǎng)格單元內(nèi)數(shù)據(jù)的統(tǒng)計(jì)信息對(duì)數(shù)據(jù)進(jìn)行壓縮表達(dá)古拴;
c.基于這些統(tǒng)計(jì)信息判斷高密度網(wǎng)格單元 ;
d.最后將相連的高密度網(wǎng)格單元識(shí)別為簇钱骂。
原理:為每簇假定了一個(gè)模型叔锐,尋找數(shù)據(jù)對(duì)給定模型的最佳擬合,這一類(lèi)方法主要是指基于概率模型的方法和基于神經(jīng)網(wǎng)絡(luò)模型的方法见秽,尤其以基于概率模型的方法居多愉烙。
這一類(lèi)方法主要是指基于概率模型的方法和基于神經(jīng)網(wǎng)絡(luò)模型的方法,尤其以基于概率模型的方法居多解取。
這里的概率模型主要指概率生成模型(generative Model)步责,同一”類(lèi)“的數(shù)據(jù)屬于同一種概率分布,即假設(shè)數(shù)據(jù)是根據(jù)潛在的概率分布生成的禀苦。
分類(lèi)是在一群已經(jīng)知道類(lèi)別標(biāo)號(hào)的樣本中蔓肯,訓(xùn)練一種分類(lèi)器,讓其能夠?qū)δ撤N未知的樣本進(jìn)行分類(lèi)振乏。分類(lèi)算法屬于一種有監(jiān)督的學(xué)習(xí)蔗包。分類(lèi)算法的分類(lèi)過(guò)程就是建立一種分類(lèi)模型來(lái)描述預(yù)定的數(shù)據(jù)集或概念集,通過(guò)分析由屬性描述的數(shù)據(jù)庫(kù)元組來(lái)構(gòu)造模型慧邮。分類(lèi)的目的就是使用分類(lèi)對(duì)新的數(shù)據(jù)集進(jìn)行劃分调限,其主要涉及分類(lèi)規(guī)則的準(zhǔn)確性邻储、過(guò)擬合、矛盾劃分的取舍等旧噪。
常見(jiàn)的分類(lèi)算法包括:邏輯回歸吨娜、支持向量機(jī)、樸素貝葉斯分類(lèi)器淘钟、決策樹(shù)宦赠、隨機(jī)森林、KNN米母。
邏輯回歸再回歸算法已經(jīng)做過(guò)介紹勾扭。
樸素貝葉斯分類(lèi)是一種十分簡(jiǎn)單的分類(lèi)算法,叫它樸素貝葉斯分類(lèi)是因?yàn)檫@種方法的思想真的很樸素铁瞒。樸素貝葉斯的思想基礎(chǔ)是這樣的:對(duì)于給出的待分類(lèi)項(xiàng)妙色,求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類(lèi)別出現(xiàn)的概率,哪個(gè)最大慧耍,就認(rèn)為此待分類(lèi)項(xiàng)屬于哪個(gè)類(lèi)別身辨。舉個(gè)例子,如果一種水果其具有紅芍碧,圓煌珊,直徑大概3英寸等特征,該水果可以被判定為是蘋(píng)果泌豆。盡管這些特征相互依賴(lài)或者有些特征由其他特征決定定庵,然而樸素貝葉斯分類(lèi)器認(rèn)為這些屬性在判定該水果是否為蘋(píng)果的概率分布上獨(dú)立的。
貝葉斯分類(lèi)算法的實(shí)質(zhì)就是計(jì)算條件概率的公式踪危。在事件B發(fā)生的條件下蔬浙,事件 A 發(fā)生的概率為 P(A | B)來(lái)表示
樸素貝葉斯的應(yīng)用場(chǎng)景:
垃圾文本過(guò)濾:垃圾郵件識(shí)別、社區(qū)評(píng)論信息檢測(cè).
情感判別:微博的褒貶情緒贞远、電商評(píng)論信息的情感判斷.
文本分類(lèi):新聞文檔的自動(dòng)識(shí)別畴博。
支持向量機(jī)(support vector machines, SVM)是一種二分類(lèi)模型,它的基本模型是定義在特征空間上的間隔最大的線性分類(lèi)器兴革,間隔最大使它有別于感知機(jī)绎晃。
由簡(jiǎn)至繁SVM可分類(lèi)為三類(lèi):線性可分(linear SVM in linearly separable case)的線性SVM、線性不可分的線性SVM杂曲、非線性(nonlinear)SVM。
線性SVM:通俗的講就是找到一個(gè)超平面將數(shù)據(jù)集分開(kāi)袁余。SVM學(xué)習(xí)的基本想法是求解能夠正確劃分訓(xùn)練數(shù)據(jù)集并且?guī)缀伍g隔最大的分離超平面擎勘。如下圖所示,w x + b = 0 ?即為分離超平面颖榜,對(duì)于線性可分的數(shù)據(jù)集來(lái)說(shuō)棚饵,這樣的超平面有無(wú)窮多個(gè)(即感知機(jī))煤裙,但是幾何間隔最大的分離超平面卻是唯一的。
線性不可分的線性SVM:將原來(lái)的輸入特征映射到更高維度的空間噪漾,使用更高維度的空間建立超平面進(jìn)行分割硼砰。
非線性SVM 中,核函數(shù)的選擇就是影響 SVM 最大的變量欣硼。最常用的核函數(shù)有線性核题翰、多項(xiàng)式核、高斯核诈胜、拉普拉斯核豹障、sigmoid 核,或者是這些核函數(shù)的組合焦匈。這些函數(shù)的區(qū)別在于映射方式的不同血公。通過(guò)這些核函數(shù),我們就可以把樣本空間投射到新的高維空間中缓熟。
針對(duì)非線性的數(shù)據(jù)累魔,需要用到SVC。在 SVC 中够滑,我們既可以使用到線性核函數(shù)(進(jìn)行線性劃分)薛夜,也能使用高維的核函數(shù)(進(jìn)行非線性劃分)
KNN可以說(shuō)是最簡(jiǎn)單的分類(lèi)算法之一,同時(shí)版述,它也是最常用的分類(lèi)算法之一梯澜,注意KNN算法是有監(jiān)督學(xué)習(xí)中的分類(lèi)算法,它看起來(lái)和另一個(gè)機(jī)器學(xué)習(xí)算法Kmeans有點(diǎn)像(Kmeans是無(wú)監(jiān)督學(xué)習(xí)算法)渴析,但卻是有本質(zhì)區(qū)別的晚伙。
KNN的原理就是當(dāng)預(yù)測(cè)一個(gè)新的值x的時(shí)候,根據(jù)它距離最近的K個(gè)點(diǎn)是什么類(lèi)別來(lái)判斷x屬于哪個(gè)類(lèi)別俭茧。聽(tīng)起來(lái)有點(diǎn)繞咆疗,還是看看圖吧。
一般來(lái)說(shuō)母债,KNN分類(lèi)算法的計(jì)算過(guò)程:
1)計(jì)算待分類(lèi)點(diǎn)與已知類(lèi)別的點(diǎn)之間的距離
2)按照距離遞增次序排序
3)選取與待分類(lèi)點(diǎn)距離最小的K個(gè)點(diǎn)
4)確定前K個(gè)點(diǎn)所在類(lèi)別的出現(xiàn)次數(shù)
5)返回前K個(gè)點(diǎn)出現(xiàn)次數(shù)最高的類(lèi)別作為待分類(lèi)點(diǎn)的預(yù)測(cè)分類(lèi)
決策樹(shù)是一種依托決策而建立起來(lái)的一種樹(shù)午磁。在機(jī)器學(xué)習(xí)中,決策樹(shù)是一種預(yù)測(cè)模型毡们,代表的是一種對(duì)象屬性與對(duì)象值之間的一種映射關(guān)系迅皇,每一個(gè)節(jié)點(diǎn)代表某個(gè)對(duì)象,樹(shù)中的每一個(gè)分叉路徑代表某個(gè)可能的屬性值衙熔,而每一個(gè)葉子節(jié)點(diǎn)則對(duì)應(yīng)從根節(jié)點(diǎn)到該葉子節(jié)點(diǎn)所經(jīng)歷的路徑所表示的對(duì)象的值登颓。
決策樹(shù)示意圖:
決策樹(shù)的生成算法有ID3、C4.5红氯、C5.0框咙、cart等咕痛。
ID3 使用信息熵作為選擇特征的準(zhǔn)則;
C4.5 使用信息增益比作為選擇特征的準(zhǔn)則喇嘱;
CART 使用 Gini 指數(shù)作為選擇特征的準(zhǔn)則茉贡;
構(gòu)建決策樹(shù)還需要剪枝,如果沒(méi)有剪枝的操作的話者铜,就會(huì)長(zhǎng)成每一個(gè)葉都是單獨(dú)的一類(lèi)的樣子腔丧。這樣對(duì)我們的訓(xùn)練集是完全擬合的,但是對(duì)測(cè)試集則是非常不友好的王暗,泛化能力不行悔据。因此,我們要減掉一些枝葉俗壹,使得模型泛化能力更強(qiáng)科汗。
隨機(jī)森林:構(gòu)造出n棵決策樹(shù),用n棵決策樹(shù)共同做出決策绷雏,對(duì)樣本進(jìn)行訓(xùn)練并預(yù)測(cè)的一種分類(lèi)器头滔。隨機(jī)森林有點(diǎn)類(lèi)似于三個(gè)臭皮匠等于一個(gè)諸葛亮的做法,雖然這幾百棵決策樹(shù)中的每一棵都很簡(jiǎn)單(相對(duì)于C4.5這種單決策樹(shù)來(lái)說(shuō))涎显,但是他們組合起來(lái)確是很強(qiáng)大坤检。
采樣方式:Bootstraping(有放回采樣);Bagging(有放回采集k個(gè)樣本期吓,并行構(gòu)建分類(lèi)器早歇,最終組合成一個(gè)強(qiáng)分類(lèi)器)
模型構(gòu)建(隨機(jī)):通過(guò)樣本的隨機(jī)選擇和特征的隨機(jī)選擇,建立多個(gè)決策樹(shù)讨勤。
from sklearn.ensemble import RandomForestClassifier ?#導(dǎo)入sklearn隨機(jī)森林算法包
數(shù)據(jù)降維算法是機(jī)器學(xué)習(xí)算法中的大家族箭跳,與分類(lèi)、回歸潭千、聚類(lèi)等算法不同谱姓,它的目標(biāo)是將向量投影到低維空間,以達(dá)到某種目的如可視化刨晴,或是做分類(lèi)屉来。
目前已經(jīng)存在大量的數(shù)據(jù)降維算法,可以從另個(gè)不同的維度對(duì)它們進(jìn)行分類(lèi)狈癞。
按照是否有使用樣本的標(biāo)簽值茄靠,可以將降維算法分為有監(jiān)督降維和無(wú)監(jiān)督降維;
按照降維算法使用的映射函數(shù)亿驾,可以將算法分為線性降維與非線性降維嘹黔;
有監(jiān)督的降維算法則使用了樣本標(biāo)簽值,是一種有監(jiān)督學(xué)習(xí)算法莫瞬,其典型代表是LDA(線性判別分析法)儡蔓;
LDA降維的目標(biāo):將帶有標(biāo)簽的數(shù)據(jù)降維,投影到低維空間同時(shí)滿足三個(gè)條件:
盡可能多地保留數(shù)據(jù)樣本的信息(即選擇最大的特征是對(duì)應(yīng)的特征向量所代表的的方向)疼邀。
尋找使樣本盡可能好分的最佳投影方向喂江。
投影后使得同類(lèi)樣本盡可能近,不同類(lèi)樣本盡可能遠(yuǎn)旁振。
無(wú)監(jiān)督降維算法不使用樣本標(biāo)簽值获询,因此是一種無(wú)監(jiān)督學(xué)習(xí)算法,其典型代表是:奇異值分解(SVD)拐袜、主成分分析(PCA)吉嚣、因子分析(FA)、獨(dú)立成分分析(ICA)蹬铺;
主成分分析:
PCA(Principal Component Analysis)尝哆,即主成分分析方法,是一種使用最廣泛的數(shù)據(jù)降維算法甜攀。
(1)主成分分析試圖在力保數(shù)據(jù)信息丟失最少的原則下秋泄,對(duì)多個(gè)變量進(jìn)行最佳綜合簡(jiǎn)化,即對(duì)高維變量空間進(jìn)行降維處理规阀。
(2)PCA的主要思想是將n維特征映射到k維上恒序,這k維是全新的正交特征也被稱(chēng)為主成分,是在原有n維特征的基礎(chǔ)上重新構(gòu)造出來(lái)的k維特征谁撼。
(3)PCA的工作就是從原始的空間中順序地找一組相互正交的坐標(biāo)軸歧胁,新的坐標(biāo)軸的選擇與數(shù)據(jù)本身是密切相關(guān)的。轉(zhuǎn)換坐標(biāo)系時(shí)厉碟,以方差最大的方向作為坐標(biāo)軸方向喊巍,因?yàn)閿?shù)據(jù)的最大方差給出了數(shù)據(jù)的最重要的信息阵翎。
因子分析:
(1)因子分析是從假設(shè)出發(fā),它是假設(shè)所有的自變量x出現(xiàn)的原因是因?yàn)楸澈蟠嬖谝粋€(gè)潛變量f(也就是我們所說(shuō)的因子),在這個(gè)因子的作用下舵盈,x可以被觀察到。
(2)因子分析是通過(guò)研究變量間的相關(guān)系數(shù)矩陣熄阻,把這些變量間錯(cuò)綜復(fù)雜的關(guān)系歸結(jié)成少數(shù)幾個(gè)綜合因子,并據(jù)此對(duì)變量進(jìn)行分類(lèi)的一種統(tǒng)計(jì)分析方法樱哼。
(3)因子分析就是將原始變量轉(zhuǎn)變?yōu)樾碌囊蜃樱@些因子之間的相關(guān)性較低,而因子內(nèi)部的變量相關(guān)程度較高宿亡。
因子分析可以用于降維捏雌,但因子分析的作用遠(yuǎn)不止降維跃赚。
時(shí)間序列(或稱(chēng)動(dòng)態(tài)數(shù)列)是指將同一統(tǒng)計(jì)指標(biāo)的數(shù)值按其發(fā)生的時(shí)間先后順序排列而成的數(shù)列。時(shí)間序列分析的主要目的是根據(jù)已有的歷史數(shù)據(jù)對(duì)未來(lái)進(jìn)行預(yù)測(cè)性湿。經(jīng)濟(jì)數(shù)據(jù)中大多數(shù)以時(shí)間序列的形式給出纬傲。根據(jù)觀察時(shí)間的不同,時(shí)間序列中的時(shí)間可以是年份肤频、季度叹括、月份或其他任何時(shí)間形式。
構(gòu)成要素:長(zhǎng)期趨勢(shì)宵荒,季節(jié)變動(dòng)汁雷,循環(huán)變動(dòng),不規(guī)則變動(dòng)报咳。
1)長(zhǎng)期趨勢(shì)(T)現(xiàn)象在較長(zhǎng)時(shí)期內(nèi)受某種根本性因素作用而形成的總的變動(dòng)趨勢(shì)侠讯。
2)季節(jié)變動(dòng)(S)現(xiàn)象在一年內(nèi)隨著季節(jié)的變化而發(fā)生的有規(guī)律的周期性變動(dòng)。
3)循環(huán)變動(dòng)(C)現(xiàn)象以若干年為周期所呈現(xiàn)出的波浪起伏形態(tài)的有規(guī)律的變動(dòng)暑刃。
4)不規(guī)則變動(dòng)(I)是一種無(wú)規(guī)律可循的變動(dòng)厢漩,包括嚴(yán)格的隨機(jī)變動(dòng)和不規(guī)則的突發(fā)性影響很大的變動(dòng)兩種類(lèi)型。
這4種因素的綜合模式有加法模式岩臣、乘法模式和混合模式溜嗜。若以表示時(shí)間序列(=1,2婿脸,3粱胜,…,表示采樣時(shí)刻)狐树,則加法模式的時(shí)間序列是上述4種變動(dòng)因素的相加,=(T)+(C)+(S)+(I)焙压,而乘法模式的則是上述4種變動(dòng)因素的相乘,=(T)×(C)×(S)×(I)。
常用算法:AR、MA涯曲、ARMA野哭、ARIMA、SARIMA
對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行分析和預(yù)測(cè)的常用模型包括:自回歸模型(AR模型)幻件、滑動(dòng)平均模型(MA模型)拨黔、(自回歸-滑動(dòng)平均混合模型)ARMA模型、(差分整合移動(dòng)平均自回歸模型)ARIMA模型绰沥、(季節(jié)性差分自回歸滑動(dòng)平均模型)SARIMA篱蝇。
SARIMA是一個(gè)用于預(yù)測(cè)未來(lái)趨勢(shì)的時(shí)間序列數(shù)據(jù)模型。模型是回歸分析的一種形式徽曲。
AR(Autoregression):顯示變量變化的模型零截,該變量在其自身的滯后/先驗(yàn)值上回歸。
I(Integrated):差分時(shí)間序列的原始觀測(cè)數(shù)據(jù),使其平穩(wěn)
MA(Moving average):觀察值與移動(dòng)平均模型的殘差之間的依賴(lài)關(guān)系
1秃臣、對(duì)于得到的數(shù)據(jù)涧衙,首先應(yīng)該檢查是否有突兀點(diǎn)的存在,分析這些點(diǎn)的存在是因?yàn)槿藶榈氖韬鲥e(cuò)誤還有有其它原因奥此。保證所獲得數(shù)據(jù)的準(zhǔn)確性是建立合適模型弧哎,是進(jìn)行正確分析的第一步保障。
2稚虎、時(shí)間序列的預(yù)處理時(shí)間序列的預(yù)處理:平穩(wěn)性檢驗(yàn)和白噪聲檢驗(yàn)撤嫩。能夠適用ARMA模型進(jìn)行分析預(yù)測(cè)的時(shí)間序列必須滿足的條件是平穩(wěn)非白噪聲序列。
3祥绞、模型識(shí)別模型識(shí)別即從已知的模型中選擇一個(gè)與給出的時(shí)間序列過(guò)程相吻合的模型非洲。
SARIMA案例:
https://zhuanlan.zhihu.com/p/127032260
https://zhuanlan.zhihu.com/p/383004983
Prophet由facebook開(kāi)源的基于python和R語(yǔ)言的數(shù)據(jù)預(yù)測(cè)工具。是一種基于加法模型預(yù)測(cè)時(shí)間序列數(shù)據(jù)的過(guò)程蜕径,其中非線性趨勢(shì)與年两踏、周、日季節(jié)性以及假日效應(yīng)相吻合兜喻。它最適用于具有強(qiáng)烈季節(jié)效應(yīng)和幾個(gè)季節(jié)的歷史數(shù)據(jù)的時(shí)間序列梦染。Prophet對(duì)缺失的數(shù)據(jù)和趨勢(shì)的變化是健壯的,通常能很好地處理異常值朴皆。
prophet是一個(gè)比較自動(dòng)的時(shí)間序列模型帕识,在時(shí)間足夠長(zhǎng)的情況下,可以捕捉到年周期遂铡,月周期肮疗,季度周期,一周內(nèi)的周期等扒接,以及長(zhǎng)期趨勢(shì)伪货,它可以通過(guò)圖直觀地展示各個(gè)因素對(duì)預(yù)測(cè)結(jié)果的影響们衙,也可以在單一的數(shù)據(jù)序列(例如銷(xiāo)量)之外加入其它影響序列的因素,比如說(shuō)節(jié)日的影響碱呼,我們可以給各個(gè)節(jié)日的影響強(qiáng)度自定義數(shù)字蒙挑,以及節(jié)日的前期預(yù)熱,和節(jié)日的延續(xù)時(shí)間窗愚臀。
算法模型:y(t) = g(t) + s(t) + h(t) + e(t)
模型整體由三部分組成:growth(增長(zhǎng)趨勢(shì))忆蚀、seasonality(季節(jié)趨勢(shì))、holidays(節(jié)假日對(duì)預(yù)測(cè)值的影響)姑裂。
其中:
g(t) 表示趨勢(shì)項(xiàng)馋袜,它表示時(shí)間序列在非周期上面的變化趨勢(shì);
s(t) 表示周期項(xiàng)炭分,或者稱(chēng)為季節(jié)項(xiàng)桃焕,一般來(lái)說(shuō)是以周或者年為單位;
h(t) 表示節(jié)假日項(xiàng)捧毛,表示時(shí)間序列中那些潛在的具有非固定周期的節(jié)假日對(duì)預(yù)測(cè)值造成的影響;
e(t) 即誤差項(xiàng)或者稱(chēng)為剩余項(xiàng)让网,表示模型未預(yù)測(cè)到的波動(dòng)呀忧, 服從高斯分布;
Prophet 算法就是通過(guò)擬合這幾項(xiàng)溃睹,然后最后把它們累加起來(lái)就得到了時(shí)間序列的預(yù)測(cè)值而账。
LSTM代表長(zhǎng)短期記憶。它是一種擴(kuò)展了循環(huán)神經(jīng)網(wǎng)絡(luò)記憶的模型或體系結(jié)構(gòu)因篇。通常泞辐,循環(huán)神經(jīng)網(wǎng)絡(luò)具有“短期記憶”。LSTM將長(zhǎng)期記憶引入循環(huán)神經(jīng)網(wǎng)絡(luò)竞滓。它緩解了梯度消失問(wèn)題咐吼,也就是神經(jīng)網(wǎng)絡(luò)停止學(xué)習(xí)的地方,因?yàn)榻o定神經(jīng)網(wǎng)絡(luò)內(nèi)各種權(quán)重的更新變得越來(lái)越小商佑。它通過(guò)使用一系列“門(mén)(Gate)”來(lái)實(shí)現(xiàn)這一點(diǎn)锯茄。
LSTM工作單元內(nèi)有三種類(lèi)型的門(mén):Input Gate、Output Gate茶没、Forget Gate肌幽。每個(gè)門(mén)就像一個(gè)控制讀/寫(xiě)的開(kāi)關(guān),從而將長(zhǎng)期記憶功能整合到模型中
深度學(xué)習(xí)是受到人類(lèi)大腦處理數(shù)據(jù)和創(chuàng)造用于制定決策的模式而誕生的一系列算法抓半,并拓展和提升一個(gè)叫做人工神經(jīng)網(wǎng)絡(luò)的單模型結(jié)構(gòu)喂急。
和人類(lèi)的大腦一樣,神經(jīng)網(wǎng)絡(luò)也包括了很多神經(jīng)元笛求。每個(gè)神經(jīng)元接受輸入的信號(hào)廊移,然后乘以對(duì)應(yīng)的權(quán)重讥蔽,并求和然后輸入到一個(gè)非線性函數(shù)。這些神經(jīng)元相互堆積在一起画机,并按照層進(jìn)行組織冶伞。如下圖所示:
神經(jīng)網(wǎng)絡(luò)通過(guò)大量的數(shù)據(jù)以及反向傳播這樣一個(gè)迭代算法來(lái)學(xué)習(xí)到目標(biāo)函數(shù)。我們將數(shù)據(jù)傳入網(wǎng)絡(luò)中步氏,然后它輸出結(jié)果响禽,接著我們將輸出的結(jié)果和預(yù)期結(jié)果進(jìn)行比較(通過(guò)一個(gè)損失函數(shù)),然后根據(jù)兩者的差異來(lái)調(diào)整權(quán)重荚醒。
不斷重復(fù)這個(gè)過(guò)程芋类。調(diào)整權(quán)重的辦法是通過(guò)一個(gè)非線性優(yōu)化技術(shù)--隨機(jī)梯度下降來(lái)實(shí)現(xiàn)的。
在訓(xùn)練一段時(shí)間后界阁,網(wǎng)絡(luò)將可以輸出非常好的結(jié)果侯繁,因此,訓(xùn)練到此結(jié)束泡躯。也就是說(shuō)我們得到了一個(gè)近似的函數(shù)贮竟,當(dāng)給網(wǎng)絡(luò)一個(gè)未知結(jié)果的輸入數(shù)據(jù),網(wǎng)絡(luò)會(huì)根據(jù)學(xué)習(xí)到的近似函數(shù)輸出結(jié)果较剃。
03前向神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks, FNN):
前向神經(jīng)網(wǎng)絡(luò)通常采用的都是全連接層咕别,也就是說(shuō)每一層的神經(jīng)元都和下一層的所有神經(jīng)元連接在一起。這個(gè)結(jié)構(gòu)也被叫做多層感知器写穴,最初誕生于1958 年惰拱,如下圖所示。單層的感知器只能學(xué)習(xí)到線性分離模型啊送,但是一個(gè)多層感知器能夠?qū)W習(xí)到數(shù)據(jù)之間的非線性關(guān)系偿短。
多層感知器在分類(lèi)和回歸任務(wù)上有不錯(cuò)的表現(xiàn),但相比其他的機(jī)器學(xué)習(xí)算法馋没,多層感知器并不容易收斂昔逗。另外,訓(xùn)練數(shù)據(jù)越多披泪,多層感知器的準(zhǔn)確率也越高纤子。
04卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)
卷積神經(jīng)網(wǎng)絡(luò)采用了一個(gè)卷積函數(shù)。沒(méi)有采用層與層之間的神經(jīng)元都全部進(jìn)行連接款票,卷積層只讓兩層之間部分的神經(jīng)元進(jìn)行連接(也就是感受野)控硼。
在某種程度上,CNN 是嘗試在 FNN 的基礎(chǔ)上進(jìn)行正則化來(lái)防止過(guò)擬合(也就是訓(xùn)練得到的模型泛化能力差)艾少,并且也能很好的識(shí)別數(shù)據(jù)之間的空間關(guān)系卡乾。一個(gè)簡(jiǎn)單的 CNN 的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示
因?yàn)槟軌蚝芎米R(shí)別數(shù)據(jù)之間的空間關(guān)系,所以CNN 主要用于計(jì)算機(jī)視覺(jué)方面的應(yīng)用缚够,比如圖像分類(lèi)幔妨、視頻識(shí)別鹦赎、醫(yī)學(xué)圖像分析以及自動(dòng)駕駛[7],在這些領(lǐng)域上都取得超過(guò)人類(lèi)的識(shí)別精度误堡。
此外古话,CNN 也可以和其他類(lèi)型的模型很好的結(jié)合在一起使用,比如循環(huán)神經(jīng)網(wǎng)絡(luò)和自動(dòng)編碼器锁施,其中一個(gè)應(yīng)用例子就是符號(hào)語(yǔ)言識(shí)別陪踩。
應(yīng)用于圖像識(shí)別、物體識(shí)別等計(jì)算機(jī)視覺(jué)悉抵、自然語(yǔ)言處理肩狂、物理學(xué)和遙感科學(xué)等領(lǐng)域。
05循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks ,RNN)
循環(huán)神經(jīng)網(wǎng)絡(luò)非常適合時(shí)間相關(guān)的數(shù)據(jù)姥饰,并且應(yīng)用于時(shí)間序列的預(yù)測(cè)傻谁。該網(wǎng)絡(luò)模型會(huì)采用反饋的形式,也就是將輸出返回到輸入中列粪。你可以把它看成是一個(gè)循環(huán)审磁,從輸出回到輸入,將信息傳遞回網(wǎng)絡(luò)篱竭,因此力图,網(wǎng)絡(luò)模型具有記住歷史數(shù)據(jù)并應(yīng)用到預(yù)測(cè)中的能力。
為了提高模型的性能掺逼,研究者修改了原始的神經(jīng)元,創(chuàng)造了更復(fù)雜的結(jié)構(gòu)瓤介,比如GRU 單元[9] 和 LSTM 單元[11]吕喘,分別如下圖所示。
LSTM 在自然語(yǔ)言處理的任務(wù)中應(yīng)用得非常廣泛刑桑,包括翻譯氯质、語(yǔ)音生成、從文本生成語(yǔ)音等祠斧。
06遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network )
遞歸神經(jīng)網(wǎng)絡(luò)是另一種形式的循環(huán)神經(jīng)網(wǎng)絡(luò)闻察,不同點(diǎn)在于遞歸神經(jīng)網(wǎng)絡(luò)是樹(shù)狀的結(jié)構(gòu),所以它可以在訓(xùn)練集中建模層次結(jié)構(gòu)琢锋。
一般會(huì)應(yīng)用在自然語(yǔ)言處理中的語(yǔ)音轉(zhuǎn)文本和語(yǔ)義分析辕漂,因?yàn)檫@些任務(wù)和二叉樹(shù)、上下文還有基于自然語(yǔ)言的分析相關(guān)聯(lián)吴超,但是遞歸神經(jīng)網(wǎng)絡(luò)的速度會(huì)比循環(huán)神經(jīng)網(wǎng)絡(luò)更慢钉嘹。
https://zhuanlan.zhihu.com/p/115325883
https://zhuanlan.zhihu.com/p/116875577
如何選擇合適的算法:
必須考慮下面兩個(gè)問(wèn)題:一、使用機(jī)器學(xué)習(xí)算法的目的鲸阻,想要算法完成何種任務(wù)跋涣,比如是預(yù)測(cè)明天下雨的概率還是對(duì)投標(biāo)者按照興趣分組缨睡;二、需要分析或收集的數(shù)據(jù)是什么陈辱。
首先考慮使用機(jī)器學(xué)習(xí)算法的目的奖年。如果想要預(yù)測(cè)目標(biāo)變量的值,則可以選擇監(jiān)督學(xué)習(xí)算法沛贪,否則可以選擇無(wú)監(jiān)督學(xué)習(xí)算法陋守。確定選擇監(jiān)督學(xué)習(xí)算法之后,需要進(jìn)一步確定目標(biāo)變量類(lèi)型鹏浅,如果目標(biāo)變量是離散型嗅义,如是/否、1/2/3隐砸、A/B/C等之碗,則可以選擇分類(lèi)器算法;如果目標(biāo)變量是連續(xù)型 的數(shù)值季希,如0.0~100.00褪那、-999~999等,則需要選擇回歸算法式塌。
如果不想預(yù)測(cè)目標(biāo)變量的值博敬,則可以選擇無(wú)監(jiān)督學(xué)習(xí)算法。進(jìn)一步分析是否需要將數(shù)據(jù)劃分為離散的組峰尝。如果這是唯一的需求偏窝,則使用聚類(lèi)算法;如果還需要估計(jì)數(shù)據(jù)與每個(gè)分組的相似程度武学,則需要使用密度估計(jì)算法祭往。
在大多數(shù)情況下,上面給出的選擇方法都能夠幫助選擇恰當(dāng)?shù)臋C(jī)器學(xué)習(xí)算法火窒,但這也并非一成不變硼补。
其次需要考慮的是數(shù)據(jù)問(wèn)題。我們應(yīng)該充分了解數(shù)據(jù)熏矿,對(duì)實(shí)際數(shù)據(jù)了解得越充分已骇,越容易創(chuàng)建符合實(shí)際需求的應(yīng)用程序。主要應(yīng)該了解數(shù)據(jù)的以下特性:特征值是離散型變量還是連續(xù)型變量票编,特征值中是否存在缺失的值褪储,何種原因造成缺失值,數(shù)據(jù)中是否存在異常值栏妖,某個(gè)特征發(fā)生的頻率如何(是否罕見(jiàn)得如同海底撈針)乱豆,等等。充分了解上面提到的這些數(shù)據(jù)我可以縮短選擇機(jī)器學(xué)習(xí)算法的時(shí)間吊趾。
我們只能在一定程度上縮小算法的選擇范圍宛裕,一般并不存在最好的算法或者可以給出最好結(jié)果的算法瑟啃,同時(shí)還要嘗試不同算法的執(zhí)行效果。對(duì)于所選的每種算法揩尸,都可以使用其他的機(jī)器學(xué)習(xí)技術(shù)來(lái)改進(jìn)其性能蛹屿。在處理輸入數(shù)據(jù)之后,每個(gè)算法的相對(duì)性能也可能會(huì)發(fā)生變化岩榆。一般說(shuō)來(lái)發(fā)現(xiàn)最好算法的關(guān)鍵環(huán)節(jié)是反復(fù)試錯(cuò)的迭代過(guò)程错负。
Pyhton用于機(jī)器學(xué)習(xí)和統(tǒng)計(jì)學(xué)的庫(kù):
statsmodel是python中一個(gè)很強(qiáng)大的做回歸統(tǒng)計(jì)的包。
Scikit-learn(以前稱(chēng)為scikits.learn勇边,也稱(chēng)為sklearn)是針對(duì)Python 編程語(yǔ)言的免費(fèi)軟件機(jī)器學(xué)習(xí)庫(kù)犹撒。它具有各種分類(lèi),回歸和聚類(lèi)算法粒褒,包括支持向量機(jī)识颊,隨機(jī)森林,梯度提升奕坟,k均值和DBSCAN祥款,并且旨在與Python數(shù)值科學(xué)庫(kù)NumPy和SciPy聯(lián)合使用。