Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
到底什麼是機器學習 (Machine Learning)?
機器學習並非新的觀念或技術,多年前電腦科學家們即已定義了何謂 Machine Learning:
“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E”
- Tom M. Mitchell
“The goal of machine learning is to program computers to use example data or past experience to solve a given problem.”
– Introduction to Machine Learning, 2nd Edition, MIT Press
呃…可以用白話的中文再講一次嗎?
「機器學習,可藉由電腦系統分析歷史資料,來預測未來趨勢和行為。」
所以重點是…?
重點即在於「預測」,若能預期事情將如何發展,企業或個人即能早期投資以開創新商機、或是迴避重大風險的發生。
分析資料的方法有很多啊,Machine Learning 與他們有什麼不同?
我們可以在以下的 Analytics Spectrum 光譜中,了解 Machine Learning 的定位:
由圖中可以看到 Gartner 將資料分析分為四種類別,愈往右邊,複雜程度就愈高:
- Descriptive (描述性的):可以回答 “What happened?” 的問題,以增加對資料的了解程度。常用的分析方式包含 Data Clustering (資料分群) 等。
- Diagnostic (診斷性的):可以回答 “Why did it happen?” 的問題,通常用來找出事情發生或出錯的原因。常用的分析方式則包含 Business Intelligence (商業智慧) 等。
- Predictive (預測性的):可以回答 “What will happen?” 的問題,也就是預測未來可能發生什麼事。Machine Learning (包含迴歸分析及類神經網路) 即是其中重要的分析方式。
- Prescriptive (規範性的):可以回答 “What should I do?” 的問題,也就是不但要預測未來,還要知道若作出某決策後的結果。著名的蒙地卡羅模擬法以及 Machine Learning 便是常見的方式。
為何「機器學習」最近愈來愈紅?
早期要實作「機器學習」進行實務應用是相當昂貴的。不但需要高階的硬體設備及複雜的軟體環境,同時還需要深諳統計學、人工智慧等的資料科學家團隊,更遑論隨之而來的管理及作業成本。
但隨著公有雲服務 (如 Azure) 讓計算機運算以及儲存成本大幅降低、科學家們持續發展出強固的各種演算法、再加上如 Azure ML 等易用工具的產生,將使用成本、學習成本及管理成本一併大幅下降。即是讓傳統上 resources boundary 的 Machine Learning 應用日漸火紅的主要原因。
(註:為何 Azure ML 的出現至關重要? “ Why Microsoft's Azure Machine Learning is such a big deal ?”)
別管紅不紅了,我要如何判斷哪些問題,是適合讓 Machine Learning 解決的?
不僅於「預測」,Machine Learning 技巧能被使用在許多其他問題。在此引用台灣大學資訊工程系林軒田老師的 Coursera 「機器學習基石 (Machine Learning Foundations)」教材作說明:
簡單來說,若有些問題,是需要我們設計一個非常複雜的系統來解決的話,那麼 Machine Learning 即能提供另一種解法,而不需實際設計出這樣一個系統。
舉例而言:
- 當人們無法定義出所有可能的規則時 (比如要在火星上探險)、
- 當沒有簡單、甚或不完全的解法方案時 (如語音/視覺識別)、
- 需要超快速的判斷時 (如極短線股票交易)、
- 或是資料量大到人為經驗亦無法負荷的程度 (如消費市場行銷策略)
以上皆是機器學習可應用在實務上的判斷準則。
微軟自己有在用 Machine Learning 嗎?
最近較著名的例子就是微軟的 Cortana 個人小幫手了,其背後即是利用大數據配合 Machine Learning,預測世界盃足球賽的各場勝負:
巴西世足 微軟Cortana 預測世足神準
Big data 告訴你2014 年世界盃冠軍是德國| TechNews 科技新報
我不是資料科學家,也能使用 Azure ML 嗎?
請參閱「Azure 「機器學習」初體驗」文中,以簡單幾個步驟即完成一個實驗,即可了解 Azure 的機器學習,可讓人們在沒有深入的資料科學背景下開始資料採礦與預測。它提供一個整合的開發環境,讓你利用拖放與簡單的資料流程圖來設定實驗。
你無需撰寫程式碼即可執行多項工作。
我是很有經驗的資料科學家,使用 Azure ML 的好處在哪?
若你是資料科學家,使用 Azure ML 會有更多好處。支援 R 語言,所以既有的 R 程式碼可直接拖放並執行,你也可在其中自行撰寫 R 程式碼,這兩種方式均支援超過 410 個 R 套件 (on top of R 3.1.0 as of now)。可立即混搭預先安裝妥當且最佳化過的演算法,包括超過 400 個以上的 CRAN packges, plyr and dplyr, car, datasets, HMisc, MASS, Intel Math Kernal Library,並可使用諸如 ggplot2 之 R plotting 視覺化及 rpart, nnet, survival, boot 等資料探勘工具。
您可測試最多十種不同的模型。同時 Azure 機器學習實驗是可以共享的,其他人可從您中斷的地方接續下去。
Azure 機器學習也讓您可以在 Azure 儲存體中保留無數個檔案,同時能順暢地連結其他 Azure 資料相關服務,包括 HDInsight、Hadoop 巨量資料解決方案、SQL Database 和虛擬機器。
我(或我的客戶)想實作「機器學習」,有模型可供參考嗎?
茲列舉幾個實務的企業應用為例:
- 信用風險預測: 利用公開的德國信用資料集來訓練和比較多個 ML 演算法,以預測新申請人的信用風險評等良好或不良。
- CRM 客戶分析: 法國一家電信公司的一組匿名資料集,共 50,000 位客戶,以判斷客戶流失、追加銷售及購買新產品的意願。
- 網路入侵偵測: 實驗利用 1999 年知識探索與資料探勘 (KDD) 競賽的資料,偵測哪些網路活動屬於入侵或攻擊。
- 情緒分析: 利用 Amazon 上的產品評論和評分來預測純文字評論的等級。
延伸閱讀:
1. Microsoft Azure 機器學習官方學習網站 (含教學影片及文件):
https://azure.microsoft.com/zh-tw/documentation/services/machine-learning/
2. TechDays Taiwan 2014 「微軟新世代雲端大數據戰略剖析與 Machine Learning 實例分享」 (中文)
https://channel9.msdn.com/Events/TechDays/TechDays-Taiwan-2014/DCIM310
3. 台灣大學資訊工程系林軒田老師 Coursera 線上課程 (中文) https://www.coursera.org/course/ntumlone
Comments
- Anonymous
March 14, 2016
淺顯易懂的ML介紹文章,讓我可以快速釐清ML所能做的事且知道該如何開始學習。