前言
imooc的機器學習一個最基本的介紹類課程,http://www.imooc.com/learn/717 ,不怎麼涉及具體的算法或實現,只是講了講一些理論概念。算法
概述
機器學習:
利用計算機從歷史數據中找到規律,並把這些規律用到對將來不肯定場景的決策。數據庫
主體的不一樣:
計算機--機器學習。
人--數據分析。
數據分析是依靠人從歷史數據中找到規,學習效果很大程度以來於人的經驗與知識水平;
機器學習就是想要拋棄對人的依賴,靠機器來挖掘規律。機器學習
機器學習與統計學分佈式
- 《機率論》《數據統計》是機器學習的基石
- 傳統的統計學,抽取必定量的樣本而後 進行機率統計,而後獲得結論 以後進行假設檢驗
- 傳統的統計學受運算能力的限制,因此是用抽樣的方式;
- 如今計算能力足夠強,就不須要採用抽樣的方式了。
典型應用
- 關聯規則:好比「啤酒和紙尿褲」——購物籃分析(實際上是數據挖掘)
- 聚類:好比用戶羣體細分
- 樸素貝葉斯:垃圾郵件
- 決策樹:銀行信貸風險識別
- ctr預估:搜索引擎互聯網廣告
- 協同過濾:推薦系統
- 天然語言處理:情感分析、實體識別
- 深度學習:圖像識別
數據分析 vs 機器學習 的不一樣
數據的特色
①交易數據vs行爲數據函數
- 數據分析處理的是交易數據,機器學習處理的是行爲數據。
- 交易數據:存取款帳單、用戶訂單、話費帳單...與錢有關的數據。對數據一致性要求很高,應該放在關係型數據庫中。
- 行爲數據:搜索歷史、點擊歷史、瀏覽歷史、評論...對數據一致性要求不是很高,放在NoSQL數據庫中。
②少許數據vs海量數據
③採樣分析vs全量分析學習
NoSQL:只能處理行爲數據,不能處理交易數據。強調分佈式、CAP,保證數據吞吐量的前提下,在數據的一致性上打折扣。優化
解決業務問題不一樣
- 數據分析,報告歷史上發生的事情。
- 機器學習:經過歷史上發生的事情,來預測將來的事情。
技術手段不一樣
- 數據分析:分析方式是用戶(數據分析師)驅動的,交互式分析。分析能力受限於數據分析師的能力,數據屬性和維度頗有限。
- 機器學習:分析方式是數據驅動的,自動進行知識發現。數據屬性和維度數量級很大。
參與者不一樣
- 數據分析,分析師能力決定結果,目標用戶是公司高層。
- 機器學習,數據質量決定結果,目標用戶是個體。
對經常使用算法的分類方式
- 算法分類1:有監督學習 和 無監督學習
- 算法分類2:分類與迴歸、聚類、標註
- 算法分類3(重要,直指本質)
生成模型:用來講明分類問題。返回的是屬於各個類的機率。
判別模型:用來講明分類問題。直接給一個函數,數據輸入到函數中,直接返回類別。
機器學習解決問題的步驟
- 肯定目標:
由業務需求,肯定要解決的問題,收集數據,對數據進行特徵工程(對數據清洗、整合,特徵工程很重要!),根據要解決的問題提取出一些特徵。
- 訓練模型(重點)
定義模型;肯定算法。
定義損失函數;找出算法的誤差。
優化算法;對算法進行優化。
- 模型評估
交叉驗證;將不一樣的算法帶入同一類數據中,驗證效果。
效果評估;能夠看出幾個算法之間具體的差異、效果。
以一個圖片根據顏色聚類問題爲例,
首先明確要解決的問題——根據顏色聚類
收集到一些照片數據
進行特徵工程:將圖片轉化成向量,這是很是重要的一步
而後用k-means聚類算法,完成模型訓練
最後驗證和評估。搜索引擎