你绝对能懂的“机器学习”(一)
近幾年,機器學習成為一個非?;鸨脑~語,幾乎所有的人,或多或少都聽說過它,但很多人對機器學習的理解似是而非。機器學習是人工智能嗎?機器學習與大數(shù)據(jù)、云計算有什么關系?機器學習是不是就是數(shù)據(jù)挖掘?機器學習是不是就是算法,就是統(tǒng)計學?深度學習是不是機器學習的升級版?在這一系列文章中或許你能找到答案。
同時,機器學習的應用范圍越來越廣,已經(jīng)深入到各行各業(yè)中。因此,即使你不是互聯(lián)網(wǎng)從業(yè)人員,了解和掌握機器學習也是必要的,只有這樣,才能靈活運用機器學習于自身行業(yè)的應用場景中。
所以,這一系列文章的目的是讓所有對機器學習感興趣的人都能了解機器學習,面向的是一般性讀者。
那么,什么是機器學習?
首先,我們要搞清楚“機器學習”中的“機器”是什么意思。機器學習是英文“Machine Learning”的翻譯。Machine的含義很廣,在英文中可以代表:機器,機械裝置,機動車輛甚至飛機。但Machine Learning是起源于計算機科學的,而在計算機科學領域,Machine指的就是“計算機”。為什么?因為最早的計算機ENIAC誕生于1946年,占地160平方米,重達30噸,可不就是個機械裝置嘛,看看下圖感受下。
因此,“機器學習”就是“計算機學習”,不是工廠中的機器或機械裝置在學習,而是計算機在學習。所以,Machine Learning的正確翻譯是“計算機學習”,但機器學習這個詞已經(jīng)流傳甚廣,約定俗稱,所以我們也不用糾結(jié)什么名字好,知道它的本意就行。
對機器學習的概念,最正統(tǒng)的、也最晦澀難懂的定義是1997年Mitchell給出的:假設用P來評估計算機程序在任務T上的性能,若一個程序通過利用經(jīng)驗E使得在任務T上獲得了性能改善,則我們就說關于T和P,該程序?qū)進行了學習。
這個定義很嚴謹,但很容易把人搞暈。很多人看了后,還是云山霧罩。我們換一個角度,不是從“機器學習是什么”來理解,而是從“為什么需要機器學習”這個角度來理解。
眾所周知,我們生活在一個人類和計算機共存的世界,計算機擁有很多遠遠超過人類的能力,比如記憶容量、記憶速度、計算速度、批量處理。而人類相比計算機的一大優(yōu)勢是,人類能從過去的經(jīng)驗中學習。
舉個例子,你住在北京南4環(huán)以外,明天早上9點需要在北4環(huán)的中關村開會,根據(jù)你以往的經(jīng)驗,早上開車去中關村堵車非常嚴重,而且明天又是個周一,堵車會更嚴重,你基于這些經(jīng)驗,開始決策是7點30分出發(fā),還是7點出發(fā)。
而計算機只能執(zhí)行指令,需要被編程。懂一門編程語言的都知道,計算機實際執(zhí)行的是人類編寫好的if else, for等語句,是非常死板的。
現(xiàn)在的問題是:我們能讓計算機從經(jīng)驗中學習嗎?還是上面中關村開會的例子,你給計算機輸入出發(fā)地點,開會時間和開會地點,計算機根據(jù)過往的堵車數(shù)據(jù),自動計算輸出:幾點幾分出發(fā)。
這就是機器學習,簡單說機器學習就是計算機學會利用過往的經(jīng)驗完成指定任務。當然,對于計算機來說,過往的經(jīng)驗就是被記錄的數(shù)據(jù)。在這個例子中,周一到周日每個時間段北京各條道路的堵車指數(shù)就是過往的經(jīng)驗,就是被計算機記錄的數(shù)據(jù)。
這里,隱含了機器學習的3個關鍵信息:1個前提,2個動作。
1個前提是:必須有過往的經(jīng)驗,或者說有過往的數(shù)據(jù)。
沒有這個前提,就不是機器學習。例如我們?nèi)绻麤]有過往的周一到周日每個時間段北京各條道路的堵車指數(shù)數(shù)據(jù),只是考慮可能的行車速度、起點到終點的道路距離,從而大致計算出提前出發(fā)的時間,這就不是機器學習。
2個動作是:學習經(jīng)驗,完成指定任務。
這2個動作是有順序的,即計算機必須先學習經(jīng)驗,然后才能完成指定任務。這2個動作在機器學習中有專門的名稱:訓練和預測。
最后,總結(jié)成一句話:
機器學習就是計算機學習,是讓計算機學會利用過往的經(jīng)驗完成指定任務。
總結(jié)
以上是生活随笔為你收集整理的你绝对能懂的“机器学习”(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当我们说“分类”的时候,我们到底在说什么
- 下一篇: 你绝对能懂的“机器学习”(二)