Machine Learning:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
一坐桩、什么是機器學習?(What)
上面的概念難免有些抽象封锉,要理解什么是機器學習绵跷,其實可以類比于人類的學習膘螟。假設一個場景:父母教三歲大的孩子認識什么是西瓜。首先父母要給孩子看西瓜抖坪,然后告訴孩子這個是西瓜萍鲸。這個過程抽象成下面這張流程圖:
孩子的學習過程是通過一些觀察,然后加上自我總結(jié)擦俐,就逐漸擁有了識別什么是西瓜的技能脊阴。
與之相類似,機器學習就是通過對數(shù)據(jù)的“學習”蚯瞧,從而擁有某些特定技能的過程嘿期。(那技能是什么呢?技能是某種表現(xiàn)的增進埋合,例如我通過天天練習投籃备徐,逐漸命中率達到一定水準,我就擁有了投籃技能甚颂。)
二蜜猾、為什么要使用機器學習?(Why)
對于不同的問題振诬,我們選擇機器學習的原因不同蹭睡,這些問題按照對于人類的難易來說,可以分為兩類:
1.很簡單的問題:
例如:識別手寫的數(shù)字是幾赶么,這對于人類來說是一個極易的問題肩豁,那為什么我們還要使用機器學習呢?因為通過機器學習的方式辫呻,我們可以讓機器來幫我們做這些“單調(diào)乏味”的工作清钥,讓機器掌握識別手寫數(shù)字的技能之后,我們就能讓他們幫我們來分揀信件放闺。如果把這項技能再進一步祟昭,讓機器掌握識別并理解地址信息,我們甚至可以用機器來分揀快遞怖侦。
2.很復雜的問題:
例如:根據(jù)用戶信息篡悟,給不同的用戶推薦不同的廣告。對于人類來說础钠,這幾乎是不可能的問題,因為不同的用戶有不同的特征叉谜,怎么從這些海量的特征中判斷每一個用戶的喜好是什么呢旗吁?并且用戶的喜好可能還在發(fā)生變化,舉個通俗一點的例子停局,比如某些用戶去年還喜歡吃西瓜很钓,今年就討厭西瓜了香府。因此,從海量的數(shù)據(jù)中去人為的總結(jié)規(guī)律有很大的局限性码倦,而使用機器學習的方式使得這類問題變得簡單企孩。
三、什么時候可以使用機器學習袁稽?(When)
1.存在某些隱含的模式(underlying pattern)可以被學習到勿璃。
舉一個反例:預測某個嬰兒下一次哭是奇數(shù)分鐘哭,還是偶數(shù)分鐘哭推汽。這幾乎是一個隨機事件补疑,所以不存在任何隱含的模式,因此也就不能使用機器學習的方式來解答歹撒。
2.不是很容易總結(jié)規(guī)律的問題莲组。
如果規(guī)律很容易總結(jié),那當然就不用使用機器學習了暖夭,直接代碼實現(xiàn)即可锹杈。
3.有相關(guān)的數(shù)據(jù)。
舉一個反例:預測世界末日什么時候到來迈着。顯然竭望,因為我們沒有世界末日發(fā)生的相關(guān)數(shù)據(jù),所以這個問題也無法用機器學習的方式來解答寥假。
四市框、機器學習的組成
上圖可以看作是整個機器學習過程的組成。
首先從我們的數(shù)據(jù)出發(fā)糕韧,它們的具體形式是x到y(tǒng)的映射枫振,比如我們的問題是預測某套房子的房價。那么我的X包括房子面積萤彩、房子樓層粪滤、是否是電梯房等等特征,Y就是房子的價格雀扶。正因為存在某種規(guī)律杖小,才使得我們獲得的數(shù)據(jù)按照訓練集的每一個x對應唯一一個y。我們用 f 來表示這個X到Y(jié)的映射關(guān)系(即隱含規(guī)律)愚墓。
那么如何去求得這個 f 呢予权?一般地,我們首先會把范圍擴大到一個假設集合(稱作 H )浪册,比如我們假設房子價格與它的所有特征都是呈線性關(guān)系扫腺,那么這個假設集合就是一個線性假設集,那如何在這個無限大的假設集 H 中找到我們想要得到的 f 呢村象,那就需要通過機器學習演算法來實現(xiàn)笆环,我們用 A 表示這個算法攒至。
那這樣我們就能求得 f 了嗎?答案是否定的躁劣,因為很多時候由于數(shù)據(jù)噪聲等原因迫吐,我們無法獲得一個精確的 f ,而只能獲得某一個映射關(guān)系 g ,使得 g 最接近這個 f账忘,我們把這個 g 稱為最終預測志膀。
一般地,機器學習為了求得隱含的規(guī)律闪萄,在假設集合上通過演算法對訓練集進行“訓練”梧却,使求得的預測規(guī)律最接近隱含規(guī)律。
五败去、機器學習放航、數(shù)據(jù)挖掘、人工智能圆裕、統(tǒng)計學的關(guān)系
機器學習:
利用數(shù)據(jù)計算出一個近似隱含規(guī)律的預測規(guī)律广鳍。
數(shù)據(jù)挖掘:
利用海量的數(shù)據(jù)去尋找一些有意思的數(shù)據(jù)特征、規(guī)律吓妆。
機器學習與數(shù)據(jù)挖掘的關(guān)系:
如果數(shù)據(jù)挖掘的目標是去尋找數(shù)據(jù)間的隱含規(guī)律赊时,那么數(shù)據(jù)挖掘和機器學習做的事情是一樣的。但是傳統(tǒng)的數(shù)據(jù)挖掘總是著眼于大數(shù)據(jù)的高效計算行拢。(比如分布式計算框架)
人工智能:
讓計算機做(模擬)一些像人一樣的智能行為祖秒。
機器學習與人工智能的關(guān)系:
機器學習是實現(xiàn)人工智能的一種途徑,除此之外舟奠,還有一些其他的方式可以實現(xiàn)人工智能竭缝。
統(tǒng)計學:
利用數(shù)據(jù)對一些未知的過程做預測。
機器學習與統(tǒng)計學的關(guān)系:
統(tǒng)計學的很多知識都可以被借鑒到機器學習中沼瘫,但是機器學習中也有很多算法不是基于統(tǒng)計學的規(guī)律的抬纸。