最通俗的機器學習介紹

阿里云云棲社群發表於2018-09-03

摘要: 在本文中,我將描述資料分析是如何與機器學習相關的,還將揭開機器學習中的一些荒唐和錯誤的說法,並解釋機器學習的過程和型別。

clipboard.png

如果你不是一個人工智慧專家,不要擔心,我不會提及線性迴歸和k-均值聚類。

資料分析和機器學習

如果你認為大資料僅僅是關於SQL語句查詢和海量的資料的話,那麼別人也會理解你的,但是大資料真正的目的是通過對資料的推斷,從資料中獲取價值、從資料中發現有用的東西。例如,“如果我降低5%的價格,我將增加10%的銷售量。”

資料分析是重要的技術,包括如下方面:

• 描述性分析:確定所發生的事情。這通常涉及到描述發生了什麼現象的報告。例如,用這個月的銷售額與去年同期進行比較的結果。

• 特徵性分析:解釋現象發生的原因,這通常涉及使用帶有OLAP技術的控制檯用以分析和研究資料,根據資料探勘技術來找到資料之間的相關性。

• 預測性分析:評估可能發生的事情的概率。這可能是預測性分析被用來根據你的工作性質、個人興趣愛好,認為你是一個潛在的讀者,以便能夠連結到其他的人。

機器學習適合於預測性分析。

clipboard.png

什麼是機器學習

機器學習是人工智慧的一個子集,即用機器去學習以前的經驗。與傳統的程式設計不同,開發人員需要預測每一個潛在的條件進行程式設計,一個機器學習的解決方案可以有效地基於資料來適應輸出的結果。

一個機器學習的演算法並沒有真正地編寫程式碼,但它建立了一個關於真實世界的計算機模型,然後通過資料訓練模型。

機器學習如何工作?

垃圾郵件過濾是一個很好的例子,它利用機器學習技術來學習如何從數百萬封郵件中識別垃圾郵件,其中就用到了統計學技術。

例如,如果每100個電子郵件中的85個,其中包括“便宜”和“偉哥”這兩個詞的郵件被認為是垃圾郵件,我們可以說有85%的概率,確定它是垃圾郵件。並通過其它幾個指標(例如,從來沒給你傳送過郵件的人)結合起來,利用數十億個電子郵件進行演算法測試,隨著訓練次數不斷增加來提升準確率。

事實上,谷歌表示它現在已經可以攔截99.99%左右的垃圾郵件。

機器學習例項

一般包括以下幾個方面:

• 目標影響:主要針對Google和Facebook的目標廣告,基於個人興趣愛好,並通過Netflix推薦電影,還通過亞馬遜推薦購物;

• 信用評分:銀行使用收入資料,從你的居住地、你的年齡和婚姻狀況來預測你是否會拖欠貸款;

• 信用卡欺詐檢測:用於根據你之前一些可能的消費習慣,線上禁止具有欺詐行為的信用卡或借記卡的使用;

• 購物籃分析:根據數以百萬個類似顧客的消費習慣,用來預測你更可能使用哪些特殊優惠政策;

在一個有爭議的案例:美國零售商對使用了25種不同的健康和化妝品產品的顧客的購物籃進行分析,來成功地預測婦女懷孕,包括非常準確的預產期。然而卻事與願違,當一個年輕女孩的父親抱怨說,在女兒被懷孕相關的特殊優惠轟炸後,目的就變成了鼓勵未成年少女懷孕。

clipboard.png

你需要什麼

事實上,你是在尋找資料中的關聯性,但你需要一些領域的專業知識來驗證結果。計算機可以找到一個模式,但是隻有專家才能驗證它是否具有關聯性。

總之,以下是你所需要的:

• 目標.你正在試圖解決的問題。例如,信用卡被盜了嗎?股票價格會上漲還是下跌?使用者近期最喜歡哪部電影?

• 大量資料. 例如,為了準確預測房屋的價格,你需要詳細列出的歷史價格。

• 專家.你需要一個知道正確答案的領域專家來驗證所產生的結果,並確認什麼時候模型足夠精確。

• 模式.你在尋找資料中的模式。如果沒有模式,你可能會有錯誤的或者不完整的資料。

機器學習的型別

預測性分析試圖基於歷史資料來預測未來的結果,最常用的方法被稱為監督學習。

clipboard.png

機器學習的型別有:

• 監督學習:當我們需要從過去的資料中知道正確答案的時候,但是還需要預測未來的結果。例如,利用過去的房價來預測當前和未來的價格。有效地使用基於試錯的統計改進過程,機器依靠對監督者提供的一組值的測試結果來逐步提高準確性。

• 無監督學習:這裡沒有明確的正確答案,但我們想從資料中有新的發現。最常用於對資料進行分類或分組,例如,在Spotify上對音樂分類,來幫助推薦你可能想聽的歌曲或是專輯。然後,他們將聽眾分類,看他們是否更可能願意聽Radiohead或Justin Bieber。

• 強化學習:不需要一個領域專家,但需要不斷地向預定目標前進。這是一種經常部署神經網路的技術,例如, AphaGo在DeepMind中跟自己打了一百萬場比賽,最終成為了世界冠軍。

機器學習過程

不同於未來通過機器學習下象棋的場景,目前大多數機器學習是相當麻煩的,在下面的圖表中進行了說明:

clipboard.png

在未來很可能機器學習將會被應用到幫助加快過程,特別是在資料收集和清洗領域,但主要步驟仍然存在以下方面:

• 定義問題:正如我在另一篇文章中所指出的那樣,機器學習總是從一個明確的問題和目標開始;

• 收集資料:適合的資料的數量和種類越多,機器學習模型就會變得越精確。這些資料可以來自電子表格、文字檔案和資料庫,除了商業上可用的資料來源之外;

• 準備資料:這包括資料的清理和解析。刪除或糾正異常值(失控的錯誤值);這經常佔用總的時間和工作量的60%以上,然後將資料分成兩個不同的部分,即訓練資料和測試資料;

• 訓練模型:針對一組訓練資料—用於識別資料中的模式或相關性,或者用於做預測,同時使用重複的測試和誤差改進方法來逐步地提高模型的精度;

• 評估模型:通過比較結果與測試資料集的準確度來評估模型。重要的是不要對用於訓練系統的資料進行模型評估,以確保無偏差的和獨立的測試;

• 部署和改進:這可以涉及到嘗試完全不同的演算法或者收集更多種類或更大數量的資料。例如,你可以通過使用房屋所有者提供的資料來預估今後的房屋升值空間,從而提高房價預測的準確度;

綜上所述,大多數機器學習過程實際上是迴圈的和連續的,因為更多的資料被新增或者情況會有所變化,因為世界從來不會靜止不動,並且總是有改進和提高的空間。

總結

下圖說明了機器學習系統所使用的關鍵策略:

clipboard.png

總之,任何機器學習系統的關鍵部分就是資料。考慮到額外的演算法、巧妙的程式設計和大量的更精確的資料的選擇,大資料每次都是勝利者。

本文作者:【方向】

閱讀原文

本文為雲棲社群原創內容,未經允許不得轉載。

相關文章