簡明機器學習教程——實踐篇(一):從感知機入手

注:因為簡書的公式輸入不便以及排版等等種種問題,這里僅僅轉載了文字部分。建議你移步至我的博客閱覽:KAAAsS‘s Blog - 簡明機器學習教程

本篇教程的目標很明顯,就是實踐。進一步的來說,就是,當你學到了一些關于機器學習的知識后,怎樣通過實踐以加深對內容的理解。這里,我們從李航博士的《統計學習方法》的第2章感知機來做例子,由此引出大致的學習方法。需要注意的是,這篇教程并不是來介紹感知機模型的,而是用來說明如何學習并實踐一個模型的,所以對感知機的解釋不會很詳細。本篇教程的內容較基礎,內容主要面向對機器學習有興趣且有初步了解的人。由于本文目標人群特殊,加之作者水平實在有限,有表述不嚴謹或錯誤之處,還請各路大神多多指出。本篇需要讀者的準備:matlab(測試模型用)、熱愛機器學習的大腦(啊喂我的嚴肅氣氛!)

首先:了解模型

模型類型

當我們在學習一個模型時,很重要的一點就是我們要了解這個模型的作用,以及其適用的情況。下面我們就來分析感知機:

感知機(perceptron)二類分類線性分類模型,其輸入為實例的特征向量,輸出為實例的類別,取+1和-1二值。開篇第一句,我們就能對這個模型建立起一個大概的框架了。首先,感知機是一個二類分類模型,也就是說感知機只能分類出兩個類別。其次,感知機是線性的分類模型,也就是說感知機這個模型所適用的數據必須是線性可分的。到此為止,對于感知機的適用范圍,我們已經知道了不少:首先,感知機是判別模型,適用于分類問題,且可以區分的類別數為2類;其次,感知機是線性分類模型。如果你還是不理解感知機適用的問題類型,那我在這里舉個例子:在二維的情況下,感知機相當于在平面上劃一根線,從而把平面分成兩半;在三維的情況下,感知機相當于拿一把菜刀在空間里切一刀,從而把空間分為兩類。這兩句話在其適用范圍內,等價于下面這句話:感知機對應于輸入空間(特征空間)中將實例劃分為正負兩類的分離超平面(三維下是“菜刀”),屬于判別模型。

模型

下式即感知機模型中,將輸入空間映射到輸出空間的函數:

w就是模型的權值(weight),又稱權重;b即偏置(bias)。其中的sign函數定義如下(有些地方作:sgn):

需要注意的是,一般情況下,sign(0)的值是0。這里為了保證模型輸出為+1或-1,故規定sign(0)=+1。根據模型,我們不難看出感知機的幾何意義。線性方程

就是分開空間的超平面。其中,w是平面的一個法向量(幾何上),b就是其截距。

訓練

損失函數

簡而言之,最小化損失函數。首先,定義(經驗)損失函數(詳細過程請見原書2.2.2 P27):

損失函數,可以理解為是對感知機模型錯誤分類程度的評估函數。有了損失函數,我們就可以將訓練感知機問題轉化為極小化損失函數問題。

普通形式——梯度下降

這里,我們采用梯度下降法(gradient descent)的變式隨機梯度下降法(Stochastic Gradient Descent)進行極小化。關于兩種算法的關系、優劣均不在本文討論范圍內,故省略。偏導求解梯度:

算法步驟如下:

選擇初始超平面S,即選擇

隨機選擇一個誤分類點

,更新w、b。其中,α 是每次迭代的步長,又稱為學習率。

重復2,直到無分類點為止。

不難發現,若數據集是線性可分的,那么損失函數最終將會等于0。

實踐

代碼是徹底沒辦法放上去了QAQ,請移步至博客:KAAAsS‘s Blog - 簡明機器學習教程

訓練效果:

感知機第3次迭代

感知機第5次迭代

感知機第9次迭代

感知機最后結果


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容

  • 機器學習是做NLP和計算機視覺這類應用算法的基礎,雖然現在深度學習模型大行其道,但是懂一些傳統算法的原理和它們之間...
    在河之簡閱讀 20,534評論 4 65
  • 注:題中所指的『機器學習』不包括『深度學習』。本篇文章以理論推導為主,不涉及代碼實現。 前些日子定下了未來三年左右...
    我偏笑_NSNirvana閱讀 40,071評論 12 145
  • 【概述】 1、感知機模型特征:感知機對應于輸入空間中將實例劃分為正負兩類的分離超平面,屬于判別模型。 2、感知機策...
    sealaes閱讀 3,136評論 2 3
  • 漏了好多天。。。 也許人生就像開車,看遠方來調整車身正不正,看近處來決定踩剎車還是油門。開車應該是這樣吧?
    仁者神歸閱讀 75評論 0 0
  • 一、為什么大部分人都喜歡穩定? 知乎上曾有人發起這樣一個話題,“為什么大部分人喜歡穩定?” 關于這條評論的回復曾高...
    墨南閱讀 383評論 0 7