處理資料
選擇演算法
演算法調優
建立模型 比較 確定
略原始資料集可能包含許多變數。往乙個演算法中放入過多變數,可能導致計算速度變慢,或者因干擾過多而產生錯誤的**結果。因此,需要從眾多變數中篩選出那些與研究目標密切相關的變數,這個過程就是變數選擇。
一開始,可以通過簡單的圖來研究變數間的相關性。
有時候,需要做一些處理才能獲得最佳變數。
除了對單個變數進行重新編碼之外,還可以合併多個變數,這個技巧叫作降維,第3章將進行講解。降維可以提取最有用的資訊,從而獲得更精簡的變數集,以供進一步分析。
無監督學習
k均值聚類
主成分分析
關聯規則
社會網路分析
監督學習
回歸分析
k最近鄰
支援向量機
決策樹隨機森林
神經網路
強化學習
多臂***
任務目標:指出資料中隱藏的模式。
找出那些商品是顧客經常搭配購買的/對顧客分類/…
任務目標:使用資料中的模式做**。
之所以稱之為監督學習演算法,是因為它們的**都基於已有的模式。
「水果購買量」 屬於整型數值/連續數值的**過程 --> 解決回歸問題
「是否會下雨」 屬於二元值或分類值**過程 --> 解決分類問題
任務目標:使用資料中的模式做**,並根據越來越多的反饋結果不斷改進。
無監督學習模型和監督學習模型在部署之後便無法更改。不同於此,強化學習模型自身可以通過反饋結果不斷改進。
a. 演算法過度敏感,它把資料中的隨機波動錯誤地當成持久模式
這就是過擬合問題。
過擬合模型對當前資料有著很高的**準確度,但是對未知資料的**準確度較差,也就是說,過擬合模型的泛化能力不強。比如說過擬合模型在面對當前資料時表現良好,但是在面對新資料時可能表現得很糟糕。
c. 演算法過於愚鈍,忽略了資料中的基本模式,這就是欠擬合。
欠擬合模型很可能會忽視資料中的重要趨勢,這會導致模型對當前資料和未知資料的**準確度下降。
處理過擬合 --> 控制模型整體複雜度 --> 通過正則化引入懲罰引數
三種常用的評價指標:**準確率、混淆矩陣和均方根誤差。
關於**準確率,最簡單的定義就是正確的**所佔的比例。
混淆矩陣可以讓我們進一步了解**模型的優缺點。
由於回歸**使用連續值,因此誤差一般被量化成**值和實際值之差,懲罰隨誤差大小而不同。均方根誤差是乙個常用的回歸指標,尤其可用於避免較大的誤差:因為每個誤差都取了平方,所以大誤差就被放大了。這使得均方根誤差對異常值極其敏感,對這些值的懲罰力度也更大。
指標並不能完整地體現模型的效能。驗證是指評估模型對新資料的**準確度。
進行驗證時,可以通過劃分訓練集和測試集的方式進行評估。
但如果原始資料集很小,劃分集的方式無法保障準確度,可以使用交叉驗證:使用同乙個資料集進行訓練和測試。
交叉驗證最大限度地利用了可用的資料,它把資料集劃分成若干組,用來對模型進行反覆測試。
由於每次迭代用來做**的資料各不相同,因此每次得到的**結果都不同。綜合考慮這些差異,就可以對模型的實際**能力做出更為可靠的評估。
對所有評估結果取平均值,即為**準確度的最終評估值。如果交叉驗證結果表明模型的**準確度較低,可以重新調整模型的引數或者重新處理資料。
次得到的**結果都不同。綜合考慮這些差異,就可以對模型的實際**能力做出更為可靠的評估。
對所有評估結果取平均值,即為**準確度的最終評估值。如果交叉驗證結果表明模型的**準確度較低,可以重新調整模型的引數或者重新處理資料。
第一章讀書筆記
本章內容主要講的是android系統移植和驅動開發概述,通過本章的學習知道了學習linux驅動程式設計一定要了解linux驅動只與linux核心有關,與客戶的使用的linux系統無關。也就是說,不管是那個linux系統,只要使用了同樣的linux核心,驅動就可以通過。唯一可以判斷的linux核心是否...
第一章讀書筆記
android的系統架構分為4層 第一層 linux核心。第二層 c c 庫。第三層 android。第四層 應用程式。android移植可兩個部分 應用移植和系統移植。目前linux核心主要維護3個版本 linux2.4,linux2.6和linux3.x,大多數linux系統都使用了這3個版本的...
第一章讀書筆記
若給android增加新的驅動,則hal也要做出相應修改。不同的linux版本的驅動程式並無法通用,那麼通過判斷linux核心版本號是否相同,可以檢驗驅動是否可以通用。目前最廣泛的核心版本應該是linux2.6。電腦或者手機等不同硬體裝置越來越豐富,則需要更多的linux裝置驅動來完成硬體裝置間的互...