機(jī)器學(xué)習(xí)概述(1)

基礎(chǔ)概念


機(jī)器學(xué)習(xí)主要分為監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等四種學(xué)習(xí)方式

  1. 監(jiān)督學(xué)習(xí)

通過已有的一部分輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的對應(yīng)關(guān)系(訓(xùn)練集),生成一個函數(shù)模型,將輸入映射到合適的輸出(測試集)。

 訓(xùn)練集:包括輸入(特征)和輸出(目標(biāo)),是由人為標(biāo)記的。
 測試集:評估模型的精確度。
 驗(yàn)證集:主要用來進(jìn)一步確定模型的參數(shù)。

監(jiān)督式學(xué)習(xí)的常見應(yīng)用場景是分類問題回歸問題。分類算法中目標(biāo)變量的類型通常是離散的;而在回歸算法中是連續(xù)的。

  1. 非監(jiān)督學(xué)習(xí)

在非監(jiān)督學(xué)習(xí)中,數(shù)據(jù)沒有類別的信息,也不會給定目標(biāo)值(沒有訓(xùn)練集),而是直接對輸入的數(shù)據(jù)進(jìn)行建模。
非監(jiān)督學(xué)習(xí)常見的應(yīng)用場景是聚類關(guān)聯(lián)規(guī)則的學(xué)習(xí)

  1. 半監(jiān)督學(xué)習(xí)

簡單來說就是介于監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)中間的一種學(xué)習(xí)方式,采用有類別標(biāo)注的數(shù)據(jù)和沒有類比標(biāo)注的數(shù)據(jù)相結(jié)合的學(xué)習(xí)方式。

主要考慮如何利用少量的樣本標(biāo)注和大量的未標(biāo)注樣本進(jìn)行訓(xùn)練和分類  的問題,這樣可以減少標(biāo)注代價。

應(yīng)用場景包括分類和回歸,算法包括一些對常用監(jiān)督式學(xué)習(xí)算法的延伸。

  1. 強(qiáng)化學(xué)習(xí)(主動學(xué)習(xí))

輸入數(shù)據(jù)作為對模型的反饋,而模型也必須針對反饋立刻做出調(diào)整。

監(jiān)督學(xué)習(xí)中,輸入數(shù)據(jù)僅作為檢查模型對錯的方式。

常見的應(yīng)用場景包括動態(tài)系統(tǒng)以及機(jī)器人控制等。

開發(fā)機(jī)器學(xué)習(xí)應(yīng)用程序的步驟


通常開發(fā)的步驟分為以下幾步:

  1. 收集數(shù)據(jù)
  2. 準(zhǔn)備輸入數(shù)據(jù)(一般主要解決格式問題)
  3. 分析輸入數(shù)據(jù)(判斷數(shù)據(jù)中是否存在空值、異常值和垃圾數(shù)據(jù))
  4. 訓(xùn)練算法(非監(jiān)督學(xué)習(xí)不需要訓(xùn)練算法)
  5. 測試算法(必須用評測手段來檢驗(yàn)算法的成功率)
  6. 使用算法

監(jiān)督學(xué)習(xí)


監(jiān)督學(xué)習(xí)的主要研究內(nèi)容是分類和回歸。

  1. 分類:在監(jiān)督學(xué)習(xí)中,如果預(yù)測的變量是離散的,就稱之為分類。如通過腫瘤的大小來預(yù)測該腫瘤是惡性瘤還是良性瘤,這就是一個分類問題,它的輸出是0或者1兩個離散的值。(0代表良性,1代表惡性)。
分類常見的算法有:
 決策樹
 K近鄰算法(KNN)
 樸素貝葉斯
 支持向量機(jī)(SVM)
 神經(jīng)網(wǎng)絡(luò)
 Logistic回歸
  1. 回歸:在監(jiān)督學(xué)習(xí)中,如果預(yù)測變量是連續(xù)的,就稱之為回歸。一般用來預(yù)測數(shù)值型數(shù)據(jù)。如預(yù)測一個給定面積的房屋的價格就是一個回歸問題,我們可以把價格看成是面積的函數(shù),它是一個連續(xù)的輸出值。
分類常用算法大多也適用于回歸

接下來主要講講監(jiān)督學(xué)習(xí)常用的算法。

K近鄰算法(KNN)

采用測量不同特征值之間的距離方法的進(jìn)行分類,彼此靠近的一個點(diǎn)更有可能屬于同一個類別。

工作原理:
??存在一個訓(xùn)練樣本集,且樣本集中的每個數(shù)據(jù)都存在類別標(biāo)簽。將待預(yù)測類別的一條數(shù)據(jù)輸入,計算這條數(shù)據(jù)與訓(xùn)練樣本集中數(shù)據(jù)的距離(距離的計算方式一般是將數(shù)據(jù)特征值數(shù)值化,運(yùn)用數(shù)學(xué)方式進(jìn)行計算),然后選取訓(xùn)練樣本集中與待測數(shù)據(jù)距離最近的K條數(shù)據(jù)(通常K是小于20的整數(shù))。這K條訓(xùn)練樣本中類別出現(xiàn)最頻繁的類別標(biāo)簽即作為帶預(yù)測數(shù)據(jù)的類別標(biāo)簽。

k-近鄰算法(KNN)是分類數(shù)據(jù)最簡單最有效的算法。但是k-近鄰算法必須保存全部的數(shù)據(jù)集,如果訓(xùn)練數(shù)據(jù)集很大,必須使用大量的存儲空間。同時可能非常耗時。

決策樹

決策樹分為分類樹和回歸樹兩種,分類樹對離散變量做決策樹,回歸樹對連續(xù)變量做決策樹。
??決策樹是通過一系列規(guī)則對數(shù)據(jù)進(jìn)行分類的過程。每個樣本數(shù)據(jù)包含許多特征,但有些特征在分類的時候起到?jīng)Q定性的作用,決策樹的構(gòu)造過程就是找到這些具有決定性作用的特征,根據(jù)其決定性程度來構(gòu)造一顆倒立的樹,決定性最大的那個特征作為根節(jié)點(diǎn),然后遞歸找到各個分支中決定性最大的特征,直到子分支中的數(shù)據(jù)都屬于同一類。

決策樹實(shí)例.png

決策樹的學(xué)習(xí)過程:

  1. 特征選擇:特征選擇是指從訓(xùn)練數(shù)據(jù)中眾多的特征中選擇一個特征作為當(dāng)前節(jié)點(diǎn)的分裂標(biāo)準(zhǔn),如何選擇特征有著很多不同量化評估標(biāo)準(zhǔn)標(biāo)準(zhǔn),從而衍生出不同的決策樹算法。
  2. 決策樹生成: 根據(jù)選擇的特征評估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點(diǎn),直到數(shù)據(jù)集不可分則停止決策樹停止生長。 樹結(jié)構(gòu)來說,遞歸結(jié)構(gòu)是最容易理解的方式。
  3. 剪枝:決策樹容易過擬合,一般來需要剪枝,縮小樹結(jié)構(gòu)規(guī)模、緩解過擬合。剪枝技術(shù)有預(yù)剪枝和后剪枝兩種。

基于信息論的三種決策樹算法:

如何選取決定性最大的特征,可以通過量化的方法來判斷,量化方法有很多,“信息論度量信息分類”就是其中一種。基于信息論的決策樹算法主要有三種:ID3、CART和C4.5。

  1. ID3:根據(jù)信息論的信息增益評估和選擇特征,每次選擇信息增益最大的特征做判斷模塊。
  2. C4.5:算法用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足在樹構(gòu)造過程中進(jìn)行剪枝。
  3. CART:采用的是Gini指數(shù)(選Gini指數(shù)最小的特征s)作為分裂標(biāo)準(zhǔn),同時它也是包含后剪枝操作
樸素貝葉斯

樸素貝葉斯是基于貝葉斯決策理論的分類方法,是一種利用概率統(tǒng)計知識進(jìn)行的分類算法。利用Bayes定理來預(yù)測一個未知類別的樣本屬于各個類別的可能性,選擇其中可能性最大的一個類別作為該樣本的最終類別。樸素貝葉斯是一種簡單但是非常強(qiáng)大的線性分類器。它在垃圾郵件分類,疾病診斷中都取得了很大的成功。它只所以稱為樸素,是因?yàn)樵谡麄€過程中都假設(shè)特征之間是相互獨(dú)立的以及每一個特征都是同等重要的。

樸素貝葉斯分類過程:

  1. 計算每個類別的先驗(yàn)概率
  2. 計算各類別下的所有特征屬性的條件概率
  3. 計算樣本屬于每個類別的概率
  4. 取最大項(xiàng)最為x的分類類別
 先驗(yàn)概率:是通過現(xiàn)有掌握的部分資料計算出來的概率。
 后驗(yàn)概率:可以通過Bayes定理,用先驗(yàn)概率和似然函數(shù)計算出來。
 貝葉斯定理:http://blog.csdn.net/google19890102/article/details/25592833
支持向量機(jī)(SVM)

支持向量機(jī)同樣用于解決分類問題,而且它是一個二分類的分類模型。也就是說,它的樣本集只包含正例和反例。
??假設(shè)一個二維平面里僅有兩類點(diǎn)class1和class2(也就是正例和反例),找一條線將class1和class2分開,可能劃分的方法有很多種,支持向量機(jī)的任務(wù)就是找到一條對于兩個類來說劃分結(jié)果最優(yōu)的線。當(dāng)新輸入一個點(diǎn)時,如果落在線的左邊那么該樣本就歸為class1類,如果落在線的右邊那么該樣本就歸為class2 類。

SVM模型.png

??在二維平面總,分類邊界是線,如果在三維平面中,分類邊界就是面,到了高維后,分類邊界都統(tǒng)稱維超平面。

SVM的四個關(guān)鍵名詞:

  1. 分離超平面 ( separating hyperplane ) :處理分類問題的時候需要一個決策邊界,在界這邊我們判別A,在界那邊我們判別B。這種決策邊界將兩類事物相分離,而線性的決策邊界就是分離超平面。
  2. 最大邊緣超平面(Maximal Margin Hyperplane) :分離超平面可以有很多個,怎么找最好的那個呢,SVM的作法是找一個“最中間”的,也就是說這個平面要盡量和兩邊保持距離,以留足余量,減小泛化誤差,保證穩(wěn)健性。
  3. 軟邊緣(Soft Margin):很多情況下不可能用一個平面完美分離兩個類別,在線性不可分情況下就要考慮軟邊緣了。軟邊緣可以破例允許個別樣本跑到其它類別的地盤上去。
  4. 核函數(shù)(Kernel Function): 為了解決完美分離的問題,SVM還提出一種思路,就是將原始數(shù)據(jù)映射到高維空間中去,直覺上可以感覺高維空間中的數(shù)據(jù)變的稀疏,有利于“分清敵我”。那么映射的方法就是使用“核函數(shù)”。如果這種“核技術(shù)”選擇得當(dāng),高維空間中的數(shù)據(jù)就變得容易線性分離了。
神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)全稱叫做人工神經(jīng)網(wǎng)絡(luò)(ANN),是一種應(yīng)用類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進(jìn)行信息處理的數(shù)學(xué)模型。神經(jīng)網(wǎng)絡(luò)通常需要進(jìn)行訓(xùn)練,訓(xùn)練改變了網(wǎng)絡(luò)節(jié)點(diǎn)的連接權(quán)的值使其具有分類的功能,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)就可用于對象的識別。

神經(jīng)網(wǎng)絡(luò)模型.png

??圖中的圓被稱為神經(jīng)元,大量的神經(jīng)元連接成神經(jīng)網(wǎng)絡(luò),以達(dá)到處理信息的目的。
??比如選橙子的問題。雖然輸入了大量的經(jīng)驗(yàn),這個程序仍然不是一開始就總能準(zhǔn)確地判斷出橙子好不好吃的。它仍需要進(jìn)行大量的訓(xùn)練:輸入一個新橙子的特征,程序根據(jù)這些特征計算出各個結(jié)果的概率。比如輸入“美國加州大臍橙”、“顏色淺”、“軟”,結(jié)果程序給出甜的概率 85%,不甜的概率 15%,汁多的概率 50%,水不多的概率 50%,經(jīng)過人為嘗試后,發(fā)現(xiàn)甜,但是汁不多,程序可以回去自動調(diào)整某些與“汁多不多”有關(guān)節(jié)點(diǎn)的權(quán)重。通過不斷地用最終結(jié)果去返回調(diào)試,這個神經(jīng)網(wǎng)絡(luò)給正確結(jié)果賦予的概率會越來越高,反之給錯誤結(jié)果的概率會越來越低。

Logistic回歸
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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