什么是機器學習?
2015-06-18 22:50:14 n此博文作者為John Platt,一位杰出的科學家,現在為微軟工作。
大家好,我是John Platt。17年以來,我一直在微軟做機器學習算法的研發和應用。這段時間機器學習開始流行起來,有很多人問我說,“到底什么叫機器學習?你能用它來干嘛?”
我很愿意解答這些疑問,因為事實上,在數量龐大的微軟產品當中,微軟的機器學習算是應用非常多的了,而正是這一點成就了微軟成為一個有趣又很有影響力的廠家(這就像是糖果店對小孩子來說一樣)。
總的來說,機器學習是將一串串數據轉化為一個個軟件,我們稱它們為一個個“模型“,這些模型就代表著原來的數據集并且會整合數據以對接下來的新數據作出一些預測。因為機器學習應用如此廣泛,我覺得可以對機器學習的應用做出一個籠統的分類。機器學習有這樣三種應用:
1. 挖掘數據:機器學習可以幫助人們從龐大的數據中獲得深入的理解。
2. 數據工程:機器學習可以幫助人們把數據轉化成軟件,從而對未知的數據做出一些判斷。
3. 人工智能:機器學習可以模仿人的思維,可以發明出像人一樣能夠看見、聽見、能夠理解事物的計算機。
在微軟,我們用機器學習來作上述所有的事。讓我來分別舉個例子:
應對惡意軟件
微軟惡意軟件防御中心與微軟調查小組合作,使用機器學習研發出一種新軟件,可以自動監測惡意軟件,還可以幫助分析員了解惡意軟件的開發過程。如果感興趣大家還可以在Dennis Batchelder的博客上了解更多。
建一個搜索引擎
微軟旗下的“Bing"搜索引擎是一個復雜的系統,它能理解你的提問,搜索整個網站,然后得出能夠幫到你的信息。因為“Bing”用戶群極大,我們只有通過“自動決定程序”才能處理用戶大量帶有不確定性的且可能有歧義的日常語言。我們繼續利用機器學習的技術去研發了“Bing”下面的一些小軟件,與“Bing”一起構成一整個高效工作的搜索引擎。機器學習技術的一個重要搜索功能是排序功能:幾年前,就是用我們研發的算法,微軟調查小組的一隊工作人員贏得了“學習如何排序”的比賽。
讓計算機也能看見、能聽見
微軟一直在推動計算機視覺和語音識別領域的發展。在體感設備里有一種軟件能識別你的手勢,這種軟件就是通過機器學習開發出來的。微軟的語音識別系統是建立在計算機有能夠深入學習的能力上的,我們從人腦結構中得到靈感研發了這種機器學習的模型。我們還用機器學習創造出了一種能夠實時同聲翻譯的軟件。
看到這些激動人心的應用程序,我意識到機器學習技術正給我們帶來一個充滿魔力的時代。有很多的研究者和開發者多年來都致力于這項技術的研發。基于摩爾定律和互聯網,我們現在擁有足夠的已分類的數據和計算方式去很好地利用機器學習技術來創造好的軟件。我很期待能夠與更多的研發者分享我們的算法和工具,從而讓更多人可以運用他們的創造力去發明屬于他們自己的計算機程序。
在我的下一篇文章里,我將說一說這二十年來微軟如何一步一步開發出機器學習這門技術。我很期待能在我的博客里與大家交流。