誰來通俗的解釋一下機器學習?

小石看世界


作為從業4年的IT工作者來說,我大概的描述下機器學習。

1. 機器學習是讓機器從數據中學習到某種分佈,然後應用該分佈來預測新的數據;

2. 這種分佈可以是符合某種條件概率(樸素貝葉斯分類器),也可以是二叉樹(樹分類器),也可以是圖結構(HMM和CRF等);

3. 當然有的算法對訓練數據需要假設,意思是假定數據符合某種要求:比如樸素貝葉斯分類器就要求訓練數據間相互獨立,但是大部分實際的應用中,這種假設基本不成立,此時就會衍生其他的方法,比如貝葉斯網絡。像KNN這種純基於距離的算法,是對數據不做假設的。

4. 在大部分機器學習算法中,其實效果差別不是很大,最花時間和考驗從業者的是對數據的處理能力。比如,特徵的構建(深度學習就不用考慮該問題);缺失數據的處理(實際中的數據有很多是缺失的,怎麼處理這些缺失值是很重要的);類別的不平衡問題(有些場景類別是嚴重不平衡的,比如訓練一個判斷短信詐騙的分類器,此時是詐騙的數據會特別稀少);

5. 一句話總結:分析數據、處理數據、選擇特徵、選擇算法。


一個IT從業者


其實想通俗的解釋機器學習還是有難度的。 因為學習這個行業的人會感覺講的不到位,但是外行的人可能還會覺得很不好理解。我從個人的理解來試著回答一下。

1. Pedro Domingos是美國華盛頓大學的教授,我以前在讀書的時候都讀過他的關於概率樹算法的論文,他最近寫了一本關於機器學習的科普書,就是為了讓大眾能夠不通過公式來理解機器學習。 書的名字是《The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World》, 非常炫酷的名字,是人們關心的“終極學習機器”會如何改變我們的生活。

2. 跟網上的帖子一樣,書中講的多是機器學習的應用,並有什麼新的發明。尤其是機器學習在各個領域的應用,極大的改變了人類的生活,讓技術升級,我們做到了許多以前無法想象的水平。但是關於算法本身,的確是一個難點,在於對機器學習的深入理解要建立在數學的基礎上。 我們假設您是懂得一些高等數學的。

3. 科學的主要目的就是建立數學模型來描述自然界的關係。這種關係可以用一個函數y=f(x)來描述。 給定了輸入x, 我們通過關係f()就可以得到輸出y. 但是自然很複雜,很多的時候,我們不知道這種關係是什麼,但是我們有很多輸入與輸出的數據。就是: (x1, y1), (x2, y2) ... (xn, yn), 我們想利用這些數據來擬合出 x與y 之間的關係。 這就是機器學習想完成的基本任務。而且經常的情況下,輸入x不是一個數,而是一個向量x , 我們想學習的關係是 y =f(x). 比如下圖裡面提到房子的價格跟面積的關係,可以近似用一個線性函數(紅色實線)解釋 (圖一)。

(圖一)

(4) 有了這個基本思路,就可以理解很多機器學習(分類與預測)都是想找到這種輸入與輸出在高維空間的關係。比如說我們想做手寫數字的識別,假設每張輸入的圖像是30*30個像素點(圖二)。 那麼這樣的一個輸入我們可以看成是一個30*30 = 900維的一個向量x, 我們需要學習的關係是 y = f(x), 其中y 屬於{0,1, 2, 3..... 9} 等是個數字。 這樣我們就把一個模式識別的問題編程了一個純粹的數學問題。 我們需要的是在高維空間中把這些數字分開 (圖三)。

(圖二)

(圖三)


北航秦曾昌


試一下:

外在地說,機器學習就是機器隨著輸入信息而表現出更優良的性能。類似於人的學習。

內在地說,機器學習就是機器根據輸入數據對有限多個備選方案(假設函數)進行打分,取最優方案用於後續判斷,給出更準確的輸出。

做機器學習研究,就是要依次確定輸入數據是什麼,給出備選方案集合(包括特徵選擇和模型選擇),明確打分的規則(評分標準),實現打分的過程(算法編程),訓練和驗證最優方案,最後應用於合適的場景和領域。

開頭和結尾兩步依賴於原始問題所屬專業領域知識;中間四個步驟,前兩個側重於數學方面,後兩個側重於計算機方面。

整體上,機器學習代表的是一種思想方法。可以把它用到人類生活的一切領域。對,是一切,沒有例外。

深度學習是機器學習的一個近來很火熱的子領域。機器學習是人工智能的一種非常重要的實現方式,當然,人工智能還包括其他很多方面。


分享到:


相關文章: