1. 程式人生 > >最通俗的機器學習介紹

最通俗的機器學習介紹

依靠 婚姻 升值 正確答案 音樂 netflix target 清理 系統

最通俗的機器學習介紹

https://zhuanlan.zhihu.com/p/43612979

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

技術分享圖片

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

數據分析和機器學習

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

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

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

· 特征性分析:解釋現象發生的原因,這通常涉及使用帶有OLAP技術的控制臺用以分析和研究數據,根據數據挖掘技術來找到數據之間的相關性。

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

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

技術分享圖片

什麽是機器學習

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

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

機器學習如何工作?

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

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

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

機器學習實例

一般包括以下幾個方面:

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

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

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

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

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

你需要什麽

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

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

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

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

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

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

機器學習的類型

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

技術分享圖片

機器學習的類型有:

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

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

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

機器學習過程

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

技術分享圖片

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

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

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

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

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

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

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

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

總結

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

技術分享圖片

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

發布於 2018-09-03

最通俗的機器學習介紹