天天看點

《機器學習與資料科學(基于R的統計學習方法)》——第1章 機器學習綜述

本節書摘來異步社群《機器學習與資料科學(基于r的統計學習方法)》一書中的第1章,作者:【美】daniel d. gutierrez(古鐵雷斯),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

機器學習與資料科學(基于r的統計學習方法)

 

機器學習(machine learning)可以看成是從觀察自然世界來推斷結果和提取靈感的一套工具和方法。舉個生活中常見的例子,你想通過房間數、衛生間數、建築面積和地皮尺寸來預測一棟房子的價格,可以使用一個簡單的機器學習算法(例如,線性回歸),從現有的真實房地産銷售資料集中學習,通過機器學習資料集中每棟房子的售價,可以預測尚未出售的房屋售價。事實上,這種預測需要海量資料(通正常模在tb以上)的支撐。同時,資料的品質對預測結果準确度起着十分重要的作用,就像資料科學界的一句耳熟能詳的話說的那樣:好算法不如大資料。

近年來,機器學習已經發展成一門很成熟的學科。它逐漸成為資料科學領域的促進者,反過來,資料科學的發展也帶動了大資料(big data)的發展。然而,機器學習并不是一門全新的學科,它的基本原理在相當長時間前就已經深入人心了,隻是使用了不同的名稱,例如,“資料挖掘”“在資料庫中的知識挖掘(knowledge discovery)”和“商業智能”,這些術語都是機器學習的傳統叫法。在此之前,“統計”和“資料分析”都用來描述從資料中收集資訊的過程。我相信機器學習是現在描述這個領域的最好術語。machine learning也因為大量引用而成為twitter圈中的熱門标簽。考慮到通過資料對系統進行的建設和研究,機器學習也被看成是人工智能(artificial intelligence)的一個分支。現如今,機器學習的應用大多依賴雲存儲硬體和性能優異的并行架構,如apache公司的hadoop和amp實驗室的spark。

“機器學習”第一次正式使用是在1959年,當時在ibm公司工作的arthur samuel把機器學習描述成賦予未設定程式的計算機學習能力。很快,到了1998年,卡耐基梅隆(carnegie mellon)大學機器學習系的系主任tom mitchell給學習程式下了一個定義:

如果一個計算機程式針對某類任務t的性能用p衡量,且根據經驗e來自我完善,那麼我們稱這個計算機程式在從經驗e中學習,針對某類任務t,它的性能用p來衡量。

mitchell這個廣為人知的定義适用範圍非常廣泛,能概括我們通常所說的大多數“學習”任務。在這一定義下,我們舉一個機器學習問題的例子:考慮任務t是把垃圾郵件做分類,性能名額p是被正确分類的垃圾郵件的百分比,和訓練集e是已經分好類(垃圾郵件或正常郵件)的郵件資料集。垃圾郵件分類器是機器學習解決現實商業問題的首批應用之一,如今它也應用在絕大部分郵件軟體中。

啟動一個新的機器學習項目時,另一條需要時刻謹記在心的公理是美國數學家john tukey提出的,他因為在統計方式上的貢獻和1977年開創性的著作《exploratory data analysis》而受到統計學圈子的推崇:

擁有資料和對結果的渴求并不能確定從已知的資料中得到一個合理的結果。

這一準則意味着一個合格的機器學習從業者需要知道什麼時候應該放棄,什麼時候你擁有的資料不足以得出需要的答案。另一條耳熟能詳的格言“輸入無用資料,就會輸出無用資料”同樣也适用于機器學習領域。

繼續閱讀