機器學習.AI

一.機器學習的定義

從廣義上來說,機器學習是一種能夠賦予機器學習的能力以此讓它完成直接編程無法完成的功能的方法。但從實踐的意義上來說,機器學習是一種通過利用數據,訓練出模型,然後使用模型預測的一種方法。

讓我們具體看一個房價的例子。

拿國民話題的房子來說。現在我手裡有一棟房子需要售賣,我應該給它標上多大的價格?房子的面積是100平方米,價格是100萬,120萬,還是140萬?

很顯然,我希望獲得房價與面積的某種規律。那麼我該如何獲得這個規律?用報紙上的房價平均數據麼?還是參考別人面積相似的?無論哪種,似乎都並不是太靠譜。

我現在希望獲得一個合理的,並且能夠最大程度的反映面積與房價關係的規律。於是我調查了周邊與我房型類似的一些房子,獲得一組數據。這組數據中包含了大大小小房子的面積與價格,如果我能從這組數據中找出面積與價格的規律,那麼我就可以得出房子的價格。

對規律的尋找很簡單,擬合出一條直線,讓它“穿過”所有的點,並且與各個點的距離儘可能的小。

通過這條直線,我獲得了一個能夠最佳反映房價與面積規律的規律。這條直線同時也是一個下式所表明的函數:

房價 = 面積 * a + b

上述中的a、b都是直線的參數。獲得這些參數以後,我就可以計算出房子的價格。

假設a = 0.75,b = 50,則房價 = 100 * 0.75 + 50 = 125萬。這個結果與我前面所列的100萬,120萬,140萬都不一樣。由於這條直線綜合考慮了大部分的情況,因此從“統計”意義上來說,這是一個最合理的預測。

在求解過程中透露出了兩個信息:

1.房價模型是根據擬合的函數類型決定的。如果是直線,那麼擬合出的就是直線方程。如果是其他類型的線,例如拋物線,那麼擬合出的就是拋物線方程。機器學習有眾多算法,一些強力算法可以擬合出複雜的非線性模型,用來反映一些不是直線所能表達的情況。

2.如果我的數據越多,我的模型就越能夠考慮到越多的情況,由此對於新情況的預測效果可能就越好。這是機器學習界“數據為王”思想的一個體現。一般來說(不是絕對),數據越多,最後機器學習生成的模型預測的效果越好。

通過我擬合直線的過程,我們可以對機器學習過程做一個完整的回顧。首先,我們需要在計算機中存儲歷史的數據。接著,我們將這些 數據通過機器學習算法進行處理,這個過程在機器學習中叫做“訓練”,處理的結果可以被我們用來對新的數據進行預測,這個結果一般稱之為“模型”。對新數據 的預測過程在機器學習中叫做“預測”。“訓練”與“預測”是機器學習的兩個過程,“模型”則是過程的中間輸出結果,“訓練”產生“模型”,“模型”指導 “預測”。

二.機器學習的範圍

機器學習跟模式識別,統計學習,數據挖掘,計算機視覺,語音識別,自然語言處理等領域有著很深的聯繫。

從範圍上來說,機器學習跟模式識別,統計學習,數據挖掘是類似的,同時,機器學習與其他領域的處理技術的結合,形成了計算機視覺、語音識別、自然語言處理等 交叉學科。因此,一般說數據挖掘時,可以等同於說機器學習。同時,我們平常所說的機器學習應用,應該是通用的,不僅僅侷限在結構化數據,還有圖像,音頻等 應用。

下圖是機器學習所牽扯的一些相關範圍的學科與研究領域。

機器學習.AI

模式識別

模式識別=機器學習。兩者的主要區別在於前者是從工業界發展起來的概念,後者則主要源自計算機學科。在著名的《Pattern Recognition And Machine Learning》這本書中,Christopher M. Bishop在開頭是這樣說的“模式識別源自工業界,而機器學習來自於計算機學科。不過,它們中的活動可以被視為同一個領域的兩個方面,同時在過去的10 年間,它們都有了長足的發展”。

數據挖掘

數據挖掘=機器學習+數據庫。這幾年數據挖掘的概念實在是太耳熟能詳。幾乎等同於炒作。但凡說數據挖掘都會吹噓數據挖掘如何如何,例如從數據中挖出金子,以 及將廢棄的數據轉化為價值等等。但是,我儘管可能會挖出金子,但我也可能挖的是“石頭”啊。這個說法的意思是,數據挖掘僅僅是一種思考方式,告訴我們應該 嘗試從數據中挖掘出知識,但不是每個數據都能挖掘出金子的,所以不要神話它。一個系統絕對不會因為上了一個數據挖掘模塊就變得無所不能(這是IBM最喜歡 吹噓的),恰恰相反,一個擁有數據挖掘思維的人員才是關鍵,而且他還必須對數據有深刻的認識,這樣才可能從數據中導出模式指引業務的改善。大部分數據挖掘 中的算法是機器學習的算法在數據庫中的優化。

統計學習

統 計學習近似等於機器學習。統計學習是個與機器學習高度重疊的學科。因為機器學習中的大多數方法來自統計學,甚至可以認為,統計學的發展促進機器學習的繁榮 昌盛。例如著名的支持向量機算法,就是源自統計學科。但是在某種程度上兩者是有分別的,這個分別在於:統計學習者重點關注的是統計模型的發展與優化,偏數 學,而機器學習者更關注的是能夠解決問題,偏實踐,因此機器學習研究者會重點研究學習算法在計算機上執行的效率與準確性的提升。

計算機視覺

計 算機視覺=圖像處理+機器學習。圖像處理技術用於將圖像處理為適合進入機器學習模型中的輸入,機器學習則負責從圖像中識別出相關的模式。計算機視覺相關的 應用非常的多,例如百度識圖、手寫字符識別、車牌識別等等應用。這個領域是應用前景非常火熱的,同時也是研究的熱門方向。隨著機器學習的新領域深度學習的 發展,大大促進了計算機圖像識別的效果,因此未來計算機視覺界的發展前景不可估量。

語音識別

語音識別=語音處理+機器學習。語音識別就是音頻處理技術與機器學習的結合。語音識別技術一般不會單獨使用,一般會結合自然語言處理的相關技術。目前的相關應用有蘋果的語音助手siri等。

自然語言處理

自然語言處理=文本處理+機器學習。自然語言處理技術主要是讓機器理解人類的語言的一門領域。在自然語言處理技術中,大量使用了編譯原理相關的技術,例如詞 法分析,語法分析等等,除此之外,在理解這個層面,則使用了語義理解,機器學習等技術。作為唯一由人類自身創造的符號,自然語言處理一直是機器學習界不斷 研究的方向。按照百度機器學習專家餘凱的說法“聽與看,說白了就是阿貓和阿狗都會的,而只有語言才是人類獨有的”。如何利用機器學習技術進行自然語言的的 深度理解,一直是工業和學術界關注的焦點。

下一章節講機器學習的算法。

相關推薦

推薦中...