機器學習概述與演算法介紹
來自專欄 機器學習與Python
第一章 機器學習概述與演算法介紹
1 機器學習概念
機器學習是什麼?
研究的是計算機怎樣模擬人類的學習行為,以獲取新的知識或技能,並重新組織已有的知識結構使之不斷改善自身。
計算機從數據中學習出規律和模式,以應用在新數據上做預測的任務。
監督學習演算法:分類問題、回歸類問題
無監督學習演算法:聚類演算法、強化學習
- 分類問題(監督學習)
- 根據數據樣本上抽取出的特徵,判定其屬於有限個類別中的哪一個
- 垃圾郵件識別(結果類別:1、垃圾郵件 2、正常郵件)
- 文本情感褒貶分析(結果類別:1、褒 2、貶)
- 圖像內容識別(結果類別:1、貓 2、狗 3、人 4、羊駝)
- 回歸問題(監督學習)
- 根據數據樣本上抽取出的特徵,預測連續值結果
- 《芳華》票房值
- 魔都房價具體值
- 劉德華和吳彥祖的具體顏值得分
分類問題相當於是做選擇題,而回歸問題則是做計算題。比如說要計算出劉德華的顏值為9.5,吳彥祖的顏值為9.7
- 聚類問題(無監督學習)
- 根據數據樣本上抽取出的特徵,挖掘出數據的關聯模式。
- 相似用戶挖掘/社區發現
- 新聞聚類
與監督學習的重要區別是,給你的數據是沒有標準答案的。手裡有的只有社區用戶行為,只有新聞數據。你要自己去找它們是否屬於一類。
- 強化問題
- 研究如何基於環境而行動,以取得最大化的預期利益
- 遊戲「吃雞」最高分如何獲取
- 機器人完成任務
監督學習和無監督學習是根據你手上拿到的數據的不同形態去定義的機器學習演算法。
- 監督學習:特徵+標籤
- 分類:離散個結果中做選擇
- 回歸:輸出連續值結果
- 無監督學習:特徵
- 聚類:抱團學習
- 關聯規則
- 強化學習:從環境到行為映射的學習
監督學習:就像小時候在學校里學習一樣,老師給的練習題有正確的參考答案,根據自己做自己對答案,通過對題錯題來提高對知識的理解。
無監督學習:手頭上只有數據,沒有參考答案的,需要探索性的從數據上得到分布模式。如聚類演算法,挖掘的是哪些樣本和哪些樣本關聯度較高。再如很經典的超市裡啤酒與尿布的例子。
2 機器學習基本流程與工作環節
機器學習的應用工作是圍繞著數據與演算法展開的
數據的質和量對演算法有很大影響
機器學習不同階段與作用
數據預處理很重要且繁瑣,60%-70%的時間會放在數據預處理上,20%-30%的時間放在模型學習和模型評估上
數據好壞決定了模型效果的上限,而使用不同的演算法只是去逼近這個上限。就跟學習要有好的學習資料,學習資料裡面不能有錯題。
數據驅動方法:數據+機器學習演算法=預測模型
機器學習應用階段
1、 數據預處理
- 數據採樣、數據切分、特徵抽取、特徵選擇、降維2、模型學習
- 超參選擇、交叉驗證、結果評估、模型選擇、模型訓練3、模型評估
- 分類、回歸、排序評估標準4、模型上線
3 機器學習中的評估指標
機器學習的評估方法
機器學習的目標:泛化能力強!能很好地適用於沒見過的樣本。(錯誤率低,精度高)
手頭上沒有未知的樣本,如何進行可靠地評估?將數據集分為「測試集」與「訓練集」
測試集(用於評估)應該與訓練集(用於模型學習)「互斥」
常見方法
留出法(hold-out)
交叉驗證法(cross validation)自助法
- 留出法
手頭上有1000套題,如果需要衡量我通過這1000道題的學習後效果好不好,可以從這1000道題中抽取100道題作為測試集,把它封到袋子里,用來在學習後檢測自己學的好不好。而其他的900道題是用來學習的。
注意點:
保持數據分布一致性(例如:分層採樣)
例如在電商里有一個觀測維度為「性別」,對化妝品來說,女生比男生分布要多,7:3, 那麼學慣用的訓練集和測試用的訓練集都要保持住7:3的比例,不要打破。多次重複劃分(例如:100次隨機劃分)
測試集不能太大、不能太小(例如:1/5~1/3)
- K折交叉驗證
此案例中K=10。將數據集分為10份,輪番用其中一份作為測試集。用K個測試結果去平均,得到一個較為可靠地結果
- 自助法(bootstrap)
如果有1000道題,自助法是在1000道題中有放回的抽樣1000次。最後得到的訓練集也是1000個,但是數據分布會改變,會有重複的數據選中,也會有約0.368的樣本沒有被選擇過,則1000道題中沒有被抽中過得約佔0.368的數據就可以作為測試集,可以衡量演算法好不好。
機器學習的評估度量標準
性能度量(performance measure):是衡量模型泛化能力的數值評價標準,反映了當前問題(任務需求)
關於模型「好壞」的判斷,不僅取決於演算法和數據,還取決於當前任務需求。
分類問題的常用性能度量
對於二分類來說,還有一種分類性能度量標準:二分類混淆矩陣
準確率:預測所有是正例的情況中,猜對的幾率是多少?
召回率:真實為正例的樣本中,有多少是被我找出來了?
使用F1值來把準確率和召回率兩個指標融合在一起。
式中β是一個權重。
對於二分類,還有一種度量指標為AUC
x軸為 偽陽性率 = (偽陽性數量)/(偽陽性數量+真陰性數量)
y軸為 真陽性率 = (真陽性數量)/(真陽性數量+偽陰性數量)
類似於醫生判斷病人是否有病,越靠近左上判斷越准,越靠近右下判斷越不準。
ROC為二分類不同分類閾值下(x,y)點連成的線,AUC為該線與x軸包圍的面積。 AUC越大,該分類器泛化能力越好。
回歸類問題常用性能度量
4 機器學習演算法一覽
推薦閱讀:
※機器學習演算法系列--logistic回歸
※第二章:機器學習對配電網健康指數分析
※GBDT實踐
※python3機器學習經典實例-第四章聚類15
TAG:機器學習 |