機器學習入門-1.介紹與決策樹(decisiontree)

機器學習(Machine Learning) 介紹與決策樹(Decision Tree)

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的蜀山網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

機器學習入門系列 是 個人學習過程中的一些記錄與心得。其主要以要點形式呈現(xiàn),簡潔明了。

1.什么是機器學習?

一個比較概括的理解是: 根據(jù)現(xiàn)有的數(shù)據(jù),預測未來

2.核心思想 : Generalization

可以理解為,歸納、概括。就像是人的學習一樣,找出一件事物與與一件事物的聯(lián)系

3.歸納性的機器學習(Inductive machine learning)

其核心思想是使用訓練數(shù)據(jù),并從其中摸索出一套適用于現(xiàn)實中的公式 f。然后用這個公式來預測現(xiàn)實中的結果

其分為四種類型

  • Regression 回歸類型: 主要適用于預測真實數(shù)據(jù)

  • Binary Classification : Yes 和 No 的分類問題

  • Multiple Classification: 一對多的分類問題

  • Ranking:相關性的排序問題

4.第一個模型:決策樹

決策樹的核心思路:divide and conquer。 相信大家在學習 遞歸編程(recursion)的時候已經(jīng)很熟悉了這個概念了,那就是將問題拆分到足夠簡單,然后解決掉它。

為了將現(xiàn)實中的問題轉化為我們可以使用的模型,在這里我們提出幾個概念

feature(特性):每次決策樹在做決定時要問的問題

feature value (特性值):簡單理解為問題的回答

training data: 訓練數(shù)據(jù) > > 即有很多個例子的集合。每個例子 通常以 (x,y)形式形式出現(xiàn),x 是輸入數(shù)據(jù),y是實際的結果

5.決策樹的工作原理

例如下面的決策樹虛擬代碼取自《A Course in Machine Learning》(Hal)

機器學習入門 - 1. 介紹與決策樹(decision tree)

其核心思路是,從剩余的feature 中選擇一個最有用的來提問,如果答案可以直接決定最終結果那么,跳出遞歸。如果沒有剩余的feature 來提問那么返回默認答案。否則將整個數(shù)據(jù)一分為二,分別是yes 組合 no 組,然后分成兩個分支繼續(xù)遞歸(16,17行)。

6.Loss Function,L(y , y*)

y 是真正的結果,y* 是機器預測的結果 L 代表 loss 函數(shù)。所以loss function 是用來量化錯誤的。

根據(jù)不同類型可以分為:

  • Regression 回歸類:

    • Square loss: 平方損失: L(y , y*) = (y - y*)2

    • Absolute loss: 絕對損失: L(y , y*) = |y - y*|

  • Binary 是和否的問題 以及多組分類問題 : 

    • L(y , y*) = 0 , if y = y* (零損失)

    • L(y , y*) = 1 , if y <> y*

7. 平均損失 Expected Loss

Expected loss = Sum(x,y)( D(x , y) * L(y , y*) )   

D(x,y) 是 (x,y) 發(fā)生的概率分布,這里可以理解為(x,y)發(fā)生的概率。 所以就是期望值的一般算法, 把概率乘以損失 然后求和。

所以對于我們機器學習推導出來的方程式 f,需要Expected Loss 越低越好。

8.Inductive Bias 歸納偏見

不同的模型或者方法的選擇會產(chǎn)生不同的偏見。例如決策樹會比較擅長處理單獨的一個一個的問題,但是對于幾個feature相互作用的問題就收效甚微。

在后續(xù)文章會繼續(xù)介紹不同模型的偏見,這里先提出來。

9. Shallow Decision Tree 

即有最大深度的 決策樹,我們可以用一個深度 d 來限制決策樹的最深層數(shù)

10. Underfitting 和 Overfitting

這是兩個非常重要的概念, Underfitting 是指的,學的不夠多,例如學生什么都不學就去考試,自然不會考的好。

Overfitting 是指,學生學成了書呆子,只會死記硬背,考試的題目改幾個數(shù)字就完全不會做了。

在決策樹里面,如果一個feature 都不問,那么就是 underfitting ,什么都不學,每次只返回訓練數(shù)據(jù)里面的多數(shù)答案。

如果問很多個feature 把 所有的feature都問一邊就有可能 overfitting, 完全的照著訓練數(shù)據(jù)在記憶而不是歸納學習。

11.數(shù)據(jù)分配

數(shù)據(jù)說明百分比
Training Data 訓練數(shù)據(jù)學習并總結 方程式 f
70%
Development Data 研發(fā)數(shù)據(jù)調(diào)整超級參數(shù)(Hyperparameters) 來避免 underfitting 和 overfitting。10%
Test Data 測試數(shù)據(jù)用來評估最后的學習效果。永遠不要偷看測試數(shù)據(jù)!偷看測試數(shù)據(jù)就好像偷看了考試答卷,只會導致程序有針對性的編程。但是一旦到了真正的運行環(huán)境,效果就會十萬八千里。20%

超級參數(shù)(Hyperparameters) 是指的可以影響普通參數(shù)的參數(shù)。例如 剛剛最高詢問深度 d,就是一個超級參數(shù)。

12.機器學習一般方法


  1. 將數(shù)據(jù)分成 70% 的訓練數(shù)據(jù),10% 研發(fā)數(shù)據(jù), 20% 測試數(shù)據(jù)

  2. for loop 所有的 hyperparameter (超級參數(shù))

    1. 使用訓練數(shù)據(jù),訓練模型 f

    2. 使用 研發(fā)數(shù)據(jù) 計算 Expected Loss (平均損失)

  3. 從上面所有的 超級參數(shù)中,選擇平均損失最低的那組作為最終模型

  4. 使用 測試數(shù)據(jù)對最終模型進行評估

Reference

Hal, Daumé III. A Course In Machine Learning. 2nd ed. Self-published, 2017. Print.

分享標題:機器學習入門-1.介紹與決策樹(decisiontree)
文章地址:http://muchs.cn/article6/ihgjog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、小程序開發(fā)、網(wǎng)站內(nèi)鏈網(wǎng)站建設、電子商務、自適應網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司