相信大家都有過等人的經(jīng)歷,這并不是一件多么愉快的事情。
最近洞察君就開始不守時了,上次約他下午五點吃烤魚,結果等到六點才來。
今天他約我晚上七點去唱K,我腦海中立馬蹦出一個問題:他又會遲到嗎?
于是我迅速調(diào)動我記憶,看看我們相約的次數(shù)中,他遲到占了多大的比例,而我利用這個比例來預測他這次遲到的可能性。
在我正在準備在紙上計算時,我突然想起來,這種依據(jù)數(shù)據(jù)來做出判斷的辦法,不就是大家都知其然不知其所以然的“機器學習”么!
于是,我果斷拒絕了洞察君的邀請,發(fā)誓要給大家講清楚,到底什么是機器學習!
Mchine——Machine Learning——Better
首先請允許我甩出一個定義:
從廣義上來說,機器學習是一種能夠賦予機器學習的能力,以此讓它完成直接編程無法完成的功能的方法。
但從實踐的意義上來說,機器學習是一種通過利用數(shù)據(jù),訓練出模型,然后使用模型來進行預測的一種方法。
看不懂沒關系,我給你講個小故事,保準你懂得很徹底!
就拿國民話題“房子”來說吧。假如我現(xiàn)在看上了城郊的一棟大別墅,想賣掉我村里的一套100平的房子,我應該給它標上怎樣的價格呢?
相信大家心中已經(jīng)有了答案。由于在不同地段的房價差距判若云泥,同地段不同戶型之間的差距也十分顯著,所以我只能通過調(diào)查跟我同地段、同戶型的房價,來作為我定價的參考。
如果我能從獲得的數(shù)據(jù)中找出面積與價格的規(guī)律,那么我就可以較準確地得到房子的價格。于是,我把收集到的數(shù)據(jù)在坐標圖中擬合出一條直線,讓它盡量“穿過”更多的點,并且與其他各點的距離盡可能的小。
通過這條直線,我獲得了一個能夠最佳反映房價與面積的規(guī)律,同樣可以獲得一個可以用于計算準確房價的函數(shù)。
房價=面積*a+b
假設a = 0.8,b = 60,則我的房價=100 * 0.8 + 60 = 140萬,從統(tǒng)計學意義上來說,這是一個最合理的預測值。
在求解過程中透露出了兩個信息:
第一:房價模型是根據(jù)擬合的函數(shù)類型決定的。如果是直線,那么擬合出的就是直線方程;如果是其他類型的線,例如拋物線,那么擬合出的就是拋物線方程。機器學習有眾多算法,一些強力算法可以擬合出復雜的非線性模型,用來反映一些不是直線所能表達的情況。
第二:如果數(shù)據(jù)量越多,得到的模型就能考慮到越多的因素,由此對于新情況的預測效果可能就越好。這是機器學習界“數(shù)據(jù)為王”思想的一個體現(xiàn)。一般來說,數(shù)據(jù)越多,最后機器學習生成的模型預測的效果越好。
通過擬合直線的過程,我們可以對機器學習過程做一個完整的回顧:
首先,我們需要在計算機中存儲一定的相關數(shù)據(jù)(等同于線下收集數(shù)據(jù));接著,我們將這些數(shù)據(jù)通過機器學習算法進行處理(等同于擬合直線),這個過程在機器學習中叫做“訓練”,處理的結果一般稱之為“模型”(等同于得到方程),可以被我們用來對新的數(shù)據(jù)進行預測。
“訓練”與“預測”是機器學習的兩個過程,“模型”則是過程的中間輸出結果,“訓練”產(chǎn)生“模型”,“模型”指導 “預測”。
好吧,說了這么多,其實洞察君并沒有約我
還有,我在村里也根本沒有房。
但你們?nèi)绻靼琢耸裁词菣C器學習,也不枉我一片苦心了。