機器學習的定義
-
Arthur Samuel給出的定義,Field of Study that gives computers the ability to learn without being explicitly programmed.(在不直接針對問題進行編程的情況下,賦予計算機學習能力的一個研究領域)
-
Tom Mitchell給出的定義,A computer program is said to learn from experience E with respect to some task T and some performace measure P,if its performance on T,as measured by P,improves with experience E.(對於某類任務T和性能度量P,如果一個計算機程序在T上以P衡量的性能隨着經驗E而自我完善,那么我們稱這個計算機程序在從經驗E學習)
Andrew Ng認為Tom Mitchell給出的例子僅僅是為了押韻,不是很容易理解。
Arthur Samuel給出這樣的定義是有原因的。Samuel寫了一個國際象棋的程序,但他本人並不擅長國際象棋。讓這個程序和自己進行對弈,從而進行學習知道什么樣的棋局能夠勝利。
對於Mitchell給出的定義,我們使用一個下棋的例子來進行說明。在下棋程序中,經驗E指的就是程序的上萬次的自我聯系的經驗,任務T就是下棋,性能度量P指的就是在比賽過程中取勝的概率。
機器學習的分類
機器學習大致可以分為兩類,監督學習和無監督學習。
監督學習,給定一個算法,需要部分數據已經有了正確答案。
無監督學習,給算法輸入數據,要求算法自行分析這些數據得到結果。
有監督學習
監督學習的有可以分為:線性回歸、邏輯回歸。
- 線性回歸,用於根據連續變量估計實際數值(房價、呼叫次數、總銷售額等)
- 邏輯回歸,該算法可根據已知的一系列因變量估計離散數值。
線性回歸的算法問題,假設存在這樣的數據,房價和房屋面積的關系。如下圖:
如果給定了房屋面積,需要求出房價。這樣就需要得到房屋面積和房價之間的關系。這樣的問題就需要使用線性回歸來解決。線性回歸解決的問題就是連續變量之間的實際關系,這樣的問題在高中數學里面也是十分常見的。
邏輯回歸的問題,通過一個根據腫瘤大小來判斷是良性還是惡性的問題來進行說明。
縱坐標只有兩個值,0表示是良性的,1表示惡性的。橫坐標表示的腫瘤的大小。那么最終的問題就是通過機器學習來對腫瘤的大小進行分析,判斷是良性的還是惡性的。
需要說明的是,在邏輯回歸中,很多時候特征是會有很多的。在上述的例子中,特征就只有一個就是腫瘤的大小。考慮到如果有很多的特征的時候,這個時候就需要使用到支持向量機。支持向量機能讓電腦處理無限個特征。
無監督學習
在有監督學習中,會對每個數據進行標記。這樣算法在進行分析的時候,就會有一個正確的數據來進行參考。
在無監督學習中,只有一個數據集,需要算法自行對數據進行分析,找出其中的特征,能夠對數據進行分類。
下面就是無監督學習的一些常見的實際應用。
谷歌的新聞
谷歌爬蟲每天會從網絡中爬取大量的新聞,通過無監督的學習算法,自動將這些新聞進行分類,這樣就不需要人工進行分類了。在這樣的例子中,其實算法之前沒有經過訓練,通過分析新聞,然后自動地進行分類
市場營銷
在電商中一般會有大量的用戶信息。通過無監督算法,將這些用戶進行分類,划分到更小的市場中
社交網絡
無監督學習通過分析email中的聯系人情況,Facebook或者是Google+中的朋友,就能夠判斷出你與其他好友之間的親密關系。
通過我的發現,我發現無監督學習貌似在分類方面應用的較多。
機器學習算法編程
Andrew Ng推薦使用的是Octave來完成。
總結
通過本章學習,對機器學習算法有了一個初步的認識。
為了了能到遠方,腳下的每一步都不能少。