機器學習算法的特性總結(jié)

決策樹

一倘待、 決策樹優(yōu)點
1疮跑、決策樹易于理解和解釋,可以可視化分析凸舵,容易提取出規(guī)則祖娘。
2、可以同時處理標稱型和數(shù)值型數(shù)據(jù)。
3渐苏、測試數(shù)據(jù)集時掀潮,運行速度比較快。
4琼富、決策樹可以很好的擴展到大型數(shù)據(jù)庫中仪吧,同時它的大小獨立于數(shù)據(jù)庫大小。

二鞠眉、決策樹缺點
1薯鼠、對缺失數(shù)據(jù)處理比較困難。
2械蹋、容易出現(xiàn)過擬合問題出皇。
3、忽略數(shù)據(jù)集中屬性的相互關(guān)聯(lián)哗戈。
4郊艘、ID3(貪心)算法計算信息增益時結(jié)果偏向數(shù)值比較多的特征。

三唯咬、改進措施
1纱注、對決策樹進行剪枝「笨剩可以采用交叉驗證法和加入正則化的方法奈附。
2、使用基于決策樹的combination算法煮剧,如bagging算法斥滤,randomforest算法,可以解決過擬合的問題勉盅。

KNN算法

一佑颇、KNN算法的優(yōu)點
1、KNN是一種在線技術(shù)草娜,新數(shù)據(jù)可以直接加入數(shù)據(jù)集而不必進行重新訓練
2挑胸、KNN理論簡單,容易實現(xiàn)

二宰闰、KNN算法的缺點
1茬贵、對于樣本容量大的數(shù)據(jù)集計算量比較大。
2移袍、樣本不平衡時解藻,預測偏差比較大。如:某一類的樣本比較少葡盗,而其它類樣本比較多螟左。
3、KNN每一次分類都會重新進行一次全局運算。
4胶背、k值大小的難以選擇巷嚣。

三、KNN算法應用領(lǐng)域
文本分類钳吟、模式識別廷粒、聚類分析,多分類領(lǐng)域

支持向量機(SVM)

一砸抛、 SVM優(yōu)點
1评雌、解決小樣本下機器學習問題。
2直焙、解決非線性問題景东。
3、無局部極小值問題奔誓。(相對于神經(jīng)網(wǎng)絡等算法)
4斤吐、可以很好的處理高維數(shù)據(jù)集。
5厨喂、泛化能力比較強和措。

二、SVM缺點
1蜕煌、對于核函數(shù)的高維映射解釋力不強派阱,尤其是徑向基函數(shù)。
2斜纪、對缺失數(shù)據(jù)敏感贫母。

三、SVM應用領(lǐng)域
文本分類盒刚、圖像識別腺劣、主要二分類領(lǐng)域

AdaBoost算法

一、 AdaBoost算法優(yōu)點
1因块、很好的利用了弱分類器進行級聯(lián)橘原。
2、可以將不同的分類算法作為弱分類器涡上。
3趾断、AdaBoost具有很高的精度。
4吩愧、相對于bagging算法和Random Forest算法芋酌,AdaBoost充分考慮的每個分類器的權(quán)重。

二耻警、Adaboost算法缺點
1、AdaBoost迭代次數(shù)也就是弱分類器數(shù)目不太好設定,可以使用交叉驗證來進行確定甘穿。
2腮恩、數(shù)據(jù)不平衡導致分類精度下降。
3温兼、訓練比較耗時秸滴,每次重新選擇當前分類器最好切分點。

三募判、AdaBoost應用領(lǐng)域
模式識別荡含、計算機視覺領(lǐng)域,用于二分類和多分類場景

樸素貝葉斯算法

一届垫、 樸素貝葉斯算法優(yōu)點
1释液、對大數(shù)量訓練和查詢時具有較高的速度。即使使用超大規(guī)模的訓練集装处,針對每個項目通常也只會有相對較少的特征數(shù)误债,并且對項目的訓練和分類也僅僅是特征概率的數(shù)學運算而已。
2妄迁、支持增量式運算寝蹈。即可以實時的對新增的樣本進行訓練。
3登淘、樸素貝葉斯對結(jié)果解釋容易理解箫老。

二、樸素貝葉斯缺點
1黔州、由于使用了樣本屬性獨立性的假設耍鬓,所以如果樣本屬性有關(guān)聯(lián)時其效果不好。

三辩撑、樸素貝葉斯應用領(lǐng)域
文本分類界斜、欺詐檢測中使用較多

Logistic回歸算法

一、logistic回歸優(yōu)點
1合冀、計算代價不高各薇,易于理解和實現(xiàn)

二、logistic回歸缺點
1君躺、容易產(chǎn)生欠擬合峭判。
2、分類精度不高棕叫。

三林螃、logistic回歸應用領(lǐng)域
用于二分類領(lǐng)域,可以得出概率值俺泣,適用于根據(jù)分類概率排名的領(lǐng)域疗认,如搜索排名等完残。
Logistic回歸的擴展softmax可以應用于多分類領(lǐng)域,如手寫字識別等横漏。

人工神經(jīng)網(wǎng)絡

一谨设、 神經(jīng)網(wǎng)絡優(yōu)點
1、分類準確度高缎浇,學習能力極強扎拣。
2、對噪聲數(shù)據(jù)魯棒性和容錯性較強素跺。
3二蓝、有聯(lián)想能力,能逼近任意非線性關(guān)系指厌。

二刊愚、神經(jīng)網(wǎng)絡缺點
1、神經(jīng)網(wǎng)絡參數(shù)較多仑乌,權(quán)值和閾值百拓。
2、黑盒過程晰甚,不能觀察中間結(jié)果衙传。
3、學習過程比較長厕九,有可能陷入局部極小值蓖捶。

三、人工神經(jīng)網(wǎng)絡應用領(lǐng)域
目前深度神經(jīng)網(wǎng)絡已經(jīng)應用與計算機視覺扁远,自然語言處理俊鱼,語音識別等領(lǐng)域并取得很好的效果。

隨機森林

優(yōu)點:a. 對于很多數(shù)據(jù)集表現(xiàn)良好畅买,精確度比較高并闲;b. 不容易過擬合;c. 可以得到變量的重要性排序谷羞;d. 既能處理離散型數(shù)據(jù)帝火,也能處理連續(xù)型數(shù)據(jù),且不需要進行歸一化處理湃缎; e. 能夠很好的處理缺失數(shù)據(jù)犀填;f. 容易并行化


機器學習方法非常多,也很成熟嗓违。下面我挑幾個說九巡。

首先是SVM。因為我做的文本處理比較多蹂季,所以比較熟悉SVM冕广。SVM也叫支持向量機疏日,其把數(shù)據(jù)映射到多維空間中以點的形式存在,然后找到能夠分類的最優(yōu)超平面撒汉,最后根據(jù)這個平面來分類制恍。SVM能對訓練集之外的數(shù)據(jù)做很好的預測、泛化錯誤率低神凑、計算開銷小、結(jié)果易解釋何吝,但其對參數(shù)調(diào)節(jié)和核函數(shù)的參數(shù)過于敏感溉委。個人感覺SVM是二分類的最好的方法,但也僅限于二分類爱榕。如果要使用SVM進行多分類瓣喊,也是在向量空間中實現(xiàn)多次二分類。
SVM有一個核心函數(shù)SMO黔酥,也就是序列最小最優(yōu)化算法藻三。SMO基本是最快的二次規(guī)劃優(yōu)化算法,其核心就是找到最優(yōu)參數(shù)α跪者,計算超平面后進行分類棵帽。SMO方法可以將大優(yōu)化問題分解為多個小優(yōu)化問題求解,大大簡化求解過程渣玲。某些條件下逗概,把原始的約束問題通過拉格朗日函數(shù)轉(zhuǎn)化為無約束問題,如果原始問題求解棘手忘衍,在滿足KKT的條件下用求解對偶問題來代替求解原始問題逾苫,使得問題求解更加容易。 SVM還有一個重要函數(shù)是核函數(shù)枚钓。核函數(shù)的主要作用是將數(shù)據(jù)從低位空間映射到高維空間铅搓。詳細的內(nèi)容我就不說了,因為內(nèi)容實在太多了搀捷⌒顷總之,核函數(shù)可以很好的解決數(shù)據(jù)的非線性問題指煎,而無需考慮映射過程蹋偏。

第二個是KNN。KNN將測試集的數(shù)據(jù)特征與訓練集的數(shù)據(jù)進行特征比較至壤,然后算法提取樣本集中特征最近鄰數(shù)據(jù)的分類標簽威始,即KNN算法采用測量不同特征值之間的距離的方法進行分類。KNN的思路很簡單像街,就是計算測試數(shù)據(jù)與類別中心的距離黎棠。KNN具有精度高晋渺、對異常值不敏感、無數(shù)據(jù)輸入假定脓斩、簡單有效的特點木西,但其缺點也很明顯,計算復雜度太高随静。要分類一個數(shù)據(jù)八千,卻要計算所有數(shù)據(jù),這在大數(shù)據(jù)的環(huán)境下是很可怕的事情燎猛。而且恋捆,當類別存在范圍重疊時,KNN分類的精度也不太高重绷。所以沸停,KNN比較適合小量數(shù)據(jù)且精度要求不高的數(shù)據(jù)。
KNN有兩個影響分類結(jié)果較大的函數(shù)昭卓,一個是數(shù)據(jù)歸一化愤钾,一個是距離計算。如果數(shù)據(jù)不進行歸一化候醒,當多個特征的值域差別很大的時候能颁,最終結(jié)果就會受到較大影響;第二個是距離計算倒淫。這應該算是KNN的核心了劲装。目前用的最多的距離計算公式是歐幾里得距離,也就是我們常用的向量距離計算方法昌简。
個人感覺占业,KNN最大的作用是可以隨時間序列計算,即樣本不能一次性獲取只能隨著時間一個一個得到的時候纯赎,KNN能發(fā)揮它的價值谦疾。至于其他的特點,它能做的犬金,很多方法都能做念恍;其他能做的它卻做不了。

第三個就是Naive Bayes了晚顷。Naive Bayes簡稱NB(牛X)峰伙,為啥它牛X呢,因為它是基于Bayes概率的一種分類方法该默。貝葉斯方法可以追溯到幾百年前瞳氓,具有深厚的概率學基礎(chǔ),可信度非常高栓袖。Naive Baye中文名叫樸素貝葉斯匣摘,為啥叫“樸素”呢店诗?因為其基于一個給定假設:給定目標值時屬性之間相互條件獨立。比如我說“我喜歡你”音榜,該假設就會假定“我”庞瘸、“喜歡”、“你”三者之間毫無關(guān)聯(lián)赠叼。仔細想想擦囊,這幾乎是不可能的。馬克思告訴我們:事物之間是有聯(lián)系的嘴办。同一個事物的屬性之間就更有聯(lián)系了霜第。所以,單純的使用NB算法效率并不高户辞,大都是對該方法進行了一定的改進,以便適應數(shù)據(jù)的需求癞谒。
NB算法在文本分類中用的非常多底燎,因為文本類別主要取決于關(guān)鍵詞,基于詞頻的文本分類正中NB的下懷弹砚。但由于前面提到的假設双仍,該方法對中文的分類效果不好,因為中文顧左右而言他的情況太多桌吃,但對直來直去的老美的語言朱沃,效果良好。至于核心算法嘛茅诱,主要思想全在貝葉斯里面了逗物,沒啥可說的。

第四個是回歸瑟俭◆嶙浚回歸有很多,Logistic回歸啊摆寄、嶺回歸啊什么的失暴,根據(jù)不同的需求可以分出很多種。這里我主要說說Logistic回歸微饥。為啥呢逗扒?因為Logistic回歸主要是用來分類的,而非預測欠橘【丶纾回歸就是將一些數(shù)據(jù)點用一條直線對這些點進行擬合。而Logistic回歸是指根據(jù)現(xiàn)有數(shù)據(jù)對分類邊界線建立回歸公式肃续,以此進行分類蛮拔。該方法計算代價不高述暂,易于理解和實現(xiàn),而且大部分時間用于訓練建炫,訓練完成后分類很快畦韭;但它容易欠擬合,分類精度也不高肛跌。主要原因就是Logistic主要是線性擬合艺配,但現(xiàn)實中很多事物都不滿足線性的。即便有二次擬合衍慎、三次擬合等曲線擬合转唉,也只能滿足小部分數(shù)據(jù),而無法適應絕大多數(shù)數(shù)據(jù)稳捆,所以回歸方法本身就具有局限性赠法。但為什么還要在這里提出來呢?因為回歸方法雖然大多數(shù)都不合適乔夯,但一旦合適砖织,效果就非常好。
Logistic回歸其實是基于一種曲線的末荐,“線”這種連續(xù)的表示方法有一個很大的問題侧纯,就是在表示跳變數(shù)據(jù)時會產(chǎn)生“階躍”的現(xiàn)象,說白了就是很難表示數(shù)據(jù)的突然轉(zhuǎn)折甲脏。所以用Logistic回歸必須使用一個稱為“海維塞德階躍函數(shù)”的Sigmoid函數(shù)來表示跳變眶熬。通過Sigmoid就可以得到分類的結(jié)果。
為了優(yōu)化Logistic回歸參數(shù)块请,需要使用一種“梯度上升法”的優(yōu)化方法娜氏。該方法的核心是,只要沿著函數(shù)的梯度方向搜尋墩新,就可以找到函數(shù)的最佳參數(shù)牍白。但該方法在每次更新回歸系數(shù)時都需要遍歷整個數(shù)據(jù)集,對于大數(shù)據(jù)效果還不理想抖棘。所以還需要一個“隨機梯度上升算法”對其進行改進茂腥。該方法一次僅用一個樣本點來更新回歸系數(shù),所以效率要高得多切省。

第五個是決策樹最岗。據(jù)我了解,決策樹是最簡單朝捆,也是曾經(jīng)最常用的分類方法了般渡。決策樹基于樹理論實現(xiàn)數(shù)據(jù)分類,個人感覺就是數(shù)據(jù)結(jié)構(gòu)中的B+樹。決策樹是一個預測模型驯用,他代表的是對象屬性與對象值之間的一種映射關(guān)系脸秽。決策樹計算復雜度不高、輸出結(jié)果易于理解蝴乔、對中間值缺失不敏感记餐、可以處理不相關(guān)特征數(shù)據(jù)。其比KNN好的是可以了解數(shù)據(jù)的內(nèi)在含義薇正。但其缺點是容易產(chǎn)生過度匹配的問題片酝,且構(gòu)建很耗時。決策樹還有一個問題就是挖腰,如果不繪制樹結(jié)構(gòu)雕沿,分類細節(jié)很難明白。所以猴仑,生成決策樹审轮,然后再繪制決策樹,最后再分類辽俗,才能更好的了解數(shù)據(jù)的分類過程疾渣。
決策樹的核心樹的分裂。到底該選擇什么來決定樹的分叉是決策樹構(gòu)建的基礎(chǔ)榆苞。最好的方法是利用信息熵實現(xiàn)。熵這個概念很頭疼霞捡,很容易讓人迷糊坐漏,簡單來說就是信息的復雜程度。信息越多碧信,熵越高赊琳。所以決策樹的核心是通過計算信息熵劃分數(shù)據(jù)集。

我還得說一個比較特殊的分類方法:AdaBoost砰碴。AdaBoost是boosting算法的代表分類器躏筏。boosting基于元算法(集成算法)。即考慮其他方法的結(jié)果作為參考意見呈枉,也就是對其他算法進行組合的一種方式趁尼。說白了,就是在一個數(shù)據(jù)集上的隨機數(shù)據(jù)使用一個分類訓練多次猖辫,每次對分類正確的數(shù)據(jù)賦權(quán)值較小酥泞,同時增大分類錯誤的數(shù)據(jù)的權(quán)重,如此反復迭代啃憎,直到達到所需的要求芝囤。AdaBoost泛化錯誤率低、易編碼、可以應用在大部分分類器上悯姊、無參數(shù)調(diào)整羡藐,但對離群點敏感。該方法其實并不是一個獨立的方法悯许,而是必須基于元方法進行效率提升仆嗦。個人認為,所謂的“AdaBoost是最好的分類方法”這句話是錯誤的岸晦,應該是“AdaBoost是比較好的優(yōu)化方法”才對欧啤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市启上,隨后出現(xiàn)的幾起案子邢隧,更是在濱河造成了極大的恐慌,老刑警劉巖冈在,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倒慧,死亡現(xiàn)場離奇詭異,居然都是意外死亡包券,警方通過查閱死者的電腦和手機纫谅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來溅固,“玉大人付秕,你說我怎么就攤上這事∈坦” “怎么了询吴?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亮元。 經(jīng)常有香客問我猛计,道長,這世上最難降的妖魔是什么爆捞? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任奉瘤,我火速辦了婚禮,結(jié)果婚禮上煮甥,老公的妹妹穿的比我還像新娘盗温。我一直安慰自己,他們只是感情好成肘,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布肌访。 她就那樣靜靜地躺著,像睡著了一般艇劫。 火紅的嫁衣襯著肌膚如雪吼驶。 梳的紋絲不亂的頭發(fā)上惩激,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音蟹演,去河邊找鬼风钻。 笑死,一個胖子當著我的面吹牛酒请,可吹牛的內(nèi)容都是我干的骡技。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼羞反,長吁一口氣:“原來是場噩夢啊……” “哼布朦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昼窗,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤是趴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后澄惊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唆途,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年掸驱,在試婚紗的時候發(fā)現(xiàn)自己被綠了肛搬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡毕贼,死狀恐怖温赔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鬼癣,我是刑警寧澤陶贼,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站扣溺,受9級特大地震影響骇窍,放射性物質(zhì)發(fā)生泄漏瓜晤。R本人自食惡果不足惜锥余,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痢掠。 院中可真熱鬧驱犹,春花似錦、人聲如沸足画。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淹辞。三九已至医舆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蔬将。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工爷速, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人霞怀。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓惫东,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毙石。 傳聞我的和親對象是個殘疾皇子廉沮,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容