
機器學習研究如何讓計算機不需要明確的程序也能具備學習能力。(—— Arthur Samuel,1959)
一個計算機程序在完成了任務T之后,獲得經驗E,其表現效果為P,如 果任務T的性能表現,也就是用以衡量的P,隨著E的增加而增加,可以 稱其為學習。(——Tom Mitchell,1977)
雖然機器學習的研究來源于人工智能領域,但是機器學習的方法卻應用于數 據科學領域,因此我們將機器學習看作是一種數學建模更合適。 機器學習的本質就是借助數學模型理解數據。當我們給模型裝上可以適應觀 測數據的可調參數時,“學習” 就開始了;此時的程序被認為具有從數據 中 “學習” 的能力。一旦模型可以擬合舊的觀測數據,那么它們就可以預 測并解釋新的觀測數據。
第一步:獲取數據
既然我們機器學習是借助數學模型理解數學,那么最重要的原材料就是數據了。獲取數據通常指的是獲取原始數據,當然這里可以是一 手數據,也可以是二手數據,關鍵看機器學習的學習任務?!?數據決定機器學習結果的上限,而算法只是盡可能的逼近這個上限”,可見數據在機器學習中的作用。 那么一般而言對于數據我們有 哪些要求呢?
(1)數據要具有代表性,數據需要包含盡可能多的信息,數據也需要同學習任務有關聯性。
(2)對于監督學習中的分類問題,數據偏斜不能過于嚴重,不同類別的數據數量不要有數個數量級的差距。
(3)需要評估數據樣本的量級,估算模型學習對內存的消耗。如果數據量太大可以考慮減少訓練樣本、降維或者使用分布式機器學習系統。
第二步:獲取一個任務
這一步可以同第一步互換順序,根據實際業務需求,可能會先拿到任務,再尋找合適的數據。 在獲取任務之后,需要將任務問題抽象成數學問題,明確我們可以獲得什么樣的數據,學習的目標是一個什么類型的問題,然后劃歸為 其中的某類問題,比如分類問題、回歸問題、聚類問題、降維問題等。
第三步:根據數據和算法進行學習
這一部分包含了數據清洗、數據預處理、特征工程三大板塊的內容。我們依次來做展開~
數據清洗一般根據具體學習任務或者模型需求而有不同的操作方法,因而難以歸納統一的方法和步驟,但是根據數據不同可以給出下面 常用的數據清洗方法。
(1)缺失值處理:大多數情況下,缺失值需要手工填入( 即手工清理)。當然,某些缺失值可以從本數據源或其它數據源推導出來,這就可以用平均值、 最大值、最小值或更為復雜的概率估計代替缺失的值,從而達到清理的目的。
(2)異常值檢測及處理:用統計分析的方法識別可能的錯誤值或異常值,如偏差分析、識別不遵守分布的值,通過 常識性規則、業務特定規則等檢查數據值。
(3)重復值檢測及消除方法:數據中屬性值相同的記錄被認為是重復記錄,通過判斷記錄間的屬性值是否相等來檢測記錄是否相等,相等的記錄合并為一條記錄(即 合并/清除)。合并/清除是消重的基本方法。
這里數據預處理不單單是處理我們不一致、錯誤或者異常的數據,更重要的是保證數據能正常傳入模型中進行學習,并達到預期的效果。 預處理的方法涉及很多內容,比如歸一化、標準化、連續數值型變量分箱、有序分類變量One-Hot編碼、字符型變量數值化等等。
特征工程
特征工程包括從原始數據中特征構建、特征提取、特征選擇。特征工程做的好能發揮原始數據的最大效力,往往能夠使得算法的效果和 性能得到顯著的提升,有時能使簡單的模型的效果比復雜的模型效果好。數據挖掘的大部分時間就花在特征工程上面,是機器學習非常 基礎而又必備的步驟。
第四步:模型評估
使用機器學習進行判斷/預測的效果,如果不能接近/超過人類, 那就沒有任何意義。 如果人臉識別不能達到幾乎100%準確,根本不可能使用人臉識別 代替人工檢查,所以追求模型預測準確是機器學習的核心目標。
運算速度 能夠同時處理大量數據,可以在超短時間內極速學習,是機器學習 的重要優勢,如果機器學習的判斷速度不能接近/超越人類,那計 算機判斷的優越性就幾乎不存在了。
模型效果與運算速度往往是此消彼長的,在模型效果不錯的情況下 保障運算速度較快,是機器學習中重要的一環。
可解釋性
機器學習是一門技術,是一門有門檻的技術,所以大眾注定不太 可能短時間內熟悉它,但是技術人員肩負著要向老板,客戶,同 事,甚至親朋好友解釋機器學習在做什么的職責。 比如說,在“是否分發信用卡”的問題中,如果算法判斷“這個 人有違約風險,不發信用卡”,那客戶很可能找上門來要個解釋, 這個時候,你能告訴他說“因為算法判斷你不通過”嗎? 在解釋性需求很強的領域,我們就需要可解釋的算法。
服務于業務
而所有的一切,都是為了服務于業務。 只有模型效果優秀,運算速度快,還帶有一部分可解釋性的算法才是 最優秀的算法。
說到交叉驗證就不得不提到模型的「泛化能力」,而泛化能力涉及了「訓練誤差」和「測試誤差」兩個概念。 訓練誤差與測試誤差
我們在進行學習算法前,通常會將一個樣本集分成訓練集(training set)和測試集(testing set),其中訓練集用于模型的學習或訓練, 而后測試集通常用于評估訓練好的模型對于數據的預測性能評估。
(1)訓練誤差(training error)代表模型在訓練集上的錯分樣本比率。
(2)測試誤差(empirical error)是模型在測試集上的錯分樣本比率。
1.泛化能力
訓練誤差的大小,用來判斷給定問題是不是一個容易學習的的問題。測試誤差則反映了模型對未知數據的預測能力,測試誤差小的學習 方法具有很好的預測能力,如果得到的訓練集和測試集的數據沒有交集,通常將此預測能力稱為泛化能力(generalization ability)。
2.那么什么是交叉驗證呢?
在業務當中,我們的訓練數據往往是已有的歷史數據,但我們的測試數據 卻是新進入系統的一系列還沒有標簽的未知數據。我們的確追求模型的效 果,但我們追求的是模型在未知數據集上的效果,在陌生數據集上表現優 秀的能力被稱為泛化能力,即我們追求的是模型的泛化能力。 我們認為,如果模型在一套訓練集和數據集上表現優秀,那說明不了問題, 只有在眾多不同的訓練集和測試集上都表現優秀,模型才是一個穩定的模 型,模型才具有真正意義上的泛化能力。為此,機器學習領域有著發揮神 奇作用的技能:「交叉驗證」,來幫助我們認識模型。 數據集 測試集 驗證集
3.交叉驗證的常用方法
交叉驗證方法有很多,其中最常用的是k折交叉驗證。我們知道訓練集和測試集的劃分會干擾模型的結果,因此用交叉驗證n次的 結果求出的均值,是對模型效果的一個更好的度量。
1.混淆矩陣
混淆矩陣是二分類問題的多維衡量指標體系,在樣本不平衡時極其有用。在混淆矩陣中,我們將少數類認為是正例,多數類認為是負 例。在決策樹,隨機森林這些普通的分類算法里,即是說少數類是1,多數類是0。普通的混淆矩陣,一般使用{0,1}來表示。混淆矩陣 正如其名,十分容易讓人混淆,在許多教材中,混淆矩陣中各種各樣的名稱和定義讓大家難以理解難以記憶。這里為大家找出了一種 簡化的方式來顯示標準二分類的混淆矩陣,如圖所示:
2.模型整體效果:準確率
準確率Accuracy 就是所有預測正確的所有樣本除以總樣本,通常來說越接近1越好。
3.捕捉少數類的藝術:精確度,召回率和F1 score
精確度Precision,又叫查準率。表示所有被我們預測為是少數類的樣本中,真正的少數類所占的比例。精確度越低,則代表我們誤傷 了過多的多數類。精確度是“將多數類判錯后所需付出成本”的衡量。 通常做了樣本平衡之后,精確度是下降的。因為很明顯,樣本平衡之后,有更多的多數類被我們誤傷了。精確度可以幫助我們判斷, 是否每一次對少數類的預測都精確,所以又被稱為“查準率”。在現實的樣本不平衡例子中,當每一次將多數類判斷錯誤的成本非常 高昂的時候(比如大眾召回車輛的例子),我們會追求高精確度。精確度越低,我們對多數類的判斷就會越錯誤。當然了,如果我們 的目標是不計一切代價捕獲少數類,那我們并不在意精確度。
捕捉少數類的藝術:精確度,召回率和F1 score 召回率Recall,又被稱為敏感度(sensitivity),真正率,查全率。表示所有真實為1的樣本中,被我們預測正確的樣本所占的比例。召 回率越高,代表我們盡量捕捉出了越多的少數類,召回率越低,代表我們沒有捕捉出足夠的少數類。 召回率可以幫助我們判斷,我們是否捕捉除了全部的少數類,所以又叫做查全率。 如果我們希望不計一切代價,找出少數類(比如找出潛在犯罪者的例子),那我們就會追求高召回率,相反如果我們的目標不是盡量 捕獲少數類,那我們就不需要在意召回率。 注意召回率和精確度的分子是相同的(都是11),只是分母不同。而召回率和精確度是此消彼長的,兩者之間的平衡代表了捕捉少數 類的需求和盡量不要誤傷多數類的需求的平衡。究竟要偏向于哪一方,取決于我們的業務需求:究竟是誤傷多數類的成本更高,還是 無法捕捉少數類的代價更高。
4.捕捉少數類的藝術:精確度,召回率和F1 score
為了同時兼顧精確度和召回率,我們創造了兩者的調和平均數作為考量兩者平衡的綜合性指標,稱之為F1 measure。兩個數之間的 調和平均傾向于靠近兩個數中比較小的那一個數,因此我們追求盡量高的F1 measure,能夠保證我們的精確度和召回率都比較高。F1 measure在[0,1]之間分布,越接近1越好。
1.有監督學習
指對數據的若干特征與若干標簽(類型)之間的關 聯性進行建模的過程;只要模型被確定,就可以應 用到新的未知數據上。這類學習過程可以進一步分 為「分類」(classification)任務和「回歸」( regression)任務。在分類任務中,標簽都是離散 值;而在回歸任務中,標簽都是連續值。
2.無監督學習
指對不帶任何標簽的數據特征進行建模,通常被看 成是一種 “讓數據自己介紹自己” 的過程。這類 模型包括「聚類」(clustering)任務和「降維」 (dimensionality reduction)任務。聚類算法可 以講數據分成不同的組別,而降維算法追求用更簡 潔的方式表現數據。
3.半監督學習
另外,還有一種半監督學習(semi-supervised learning)方法, 介于有監督學習和無監督學習 之間。通??梢栽跀祿煌暾麜r使用。
4.強化學習
強化學習不同于監督學習,它將學習看作是試探評 價過程,以 "試錯" 的方式進行學習,并與環境進 行交互已獲得獎懲指導行為,以其作為評價。此時 系統靠自身的狀態和動作進行學習,從而改進行動 方案以適應環境。
1.KNN算法
一則小故事
在一個酒吧里,吧臺上擺著十杯幾乎一樣的紅酒,老板跟你打趣說想不想來 玩個游戲,贏了免費喝酒,輸了付3倍酒錢,那么贏的概率是多少?
你是個愛冒險的人,果斷說玩!
老板接著道:你眼前的這十杯紅酒,每杯略不相同,前五杯屬于「赤霞珠」 后五杯屬于「黑皮諾」?,F在,我重新倒一杯酒,你只需要正確地告訴我它 屬于哪一類。
聽完你有點心虛:根本不懂酒啊,光靠看和嘗根本區分辨不出來,不過想起 自己是搞機器學習的,不由多了幾分底氣爽快地答應了老板!
你沒有急著品酒而是問了老板每杯酒的一些具體信息:酒精濃度、顏色深度等,以及一份紙筆。老板一邊倒一杯新酒,你邊 瘋狂打草稿。
很快,你告訴老板這杯新酒應該是「赤霞珠」
老板瞪大了眼下巴也差點驚掉,從來沒有人一口酒都不嘗就能答對,無數人都是 反復嘗來嘗去,最后以猶豫不定猜錯而結束。
你神秘地笑了笑,老板信守承諾讓你開懷暢飲。微醺之時,老板終于忍不住湊向
你打探是怎么做到的。
你炫耀道:無他,但機器學習熟爾。
老板:……
2.KNN——算法原理概述
k-近鄰算法的本質是通過距離判斷兩個樣本是否相似,如果距離夠近就認為他們足夠相似屬于同一類別。 當然只對比一個樣本是不夠的,誤差會很大,我們需要找到離其最近的k個樣本,并將這些樣本稱之為「近鄰」(nearest neighbor)。 對這k個近鄰,查看它們的都屬于何種類別(這些類別我們稱作「標簽」(labels))。 然后根據“少數服從多數,一點算一票”原則進行判斷,數量最多的的標簽類別就是新樣本的標簽類別。其中涉及到的原理是“越 相近越相似”,這也是KNN的基本假設。
上面有紅色和紫色兩個類別,離黃色點最近的3個點都是紅點,所以紅點和紫色類別的投票數是3:0,紅色取勝,所以黃色點屬于紅 色,也就是新的一杯屬于「赤霞珠」。
3.決策樹算法
決策樹(Decision Tree)是一種實現分治策略的層次數據結構, 可以用于分類和回歸。我們主要討論分類的決策樹。 分類決策樹模型表示一種基于特征對實例進行分類的樹形結構 (包括二叉樹和多叉樹)。 決策樹由節點(node)和有向邊(directed edge)組成,樹 中包含三種結點:
(1)根節點(root node):包含樣本全集。沒有入邊,但有零 條或多條出邊;
(2)內部節點(internal node):對應于屬性測試條件,恰有 一條入邊,和兩條或多條出邊;
(3)葉節點(leaf node)或終節點(terminal node):對應 于決策結果,恰有一條入邊,但沒有出邊。
4.決策樹——算法原理概述
決策樹學習本質上是從訓練數據集中歸納出一組分類規則,也稱為 "樹歸納"。對于給定的訓練數據集,存在許多對它無錯編碼的樹。 而為了簡單起見,我們感興趣的是從中選出 "最小" 的樹,這里的樹的大小用樹的結點數和決策節點的復雜性度量。從另一個角度看, 決策樹學習是由訓練數據集估計條件概率模型?;?a href='/map/tezheng/' style='color:#000;font-size:inherit;'>特征空間劃分的類的條件概率模型有無數個,我們選擇的模型應該是不僅能對訓練數據有很好的擬合,而且對未知數據也有很好的預測。
但是,因為從所有可能的決策樹中選取最優決策樹是NP完全問題,所以我們必須使用基于啟發式的局部搜索過程,在合理的時間內得 到合理的樹。 樹的學習算法是 “貪心算法”,從包含全部訓練數據的根開始,每一步都選擇最佳劃分。依賴于所選擇的屬性是數值屬性還是離散屬 性,每次將數據劃分為兩個或n個子集,然后使用對應的子集遞歸地進行劃分,知道所有訓練數據子集被基本正確分類,或者沒有合適的特征為止,此時,創建一個樹葉結點并標記它,這就生成了一顆決策樹。
綜上,決策樹學習算法包含特征選擇、決策樹的生成與決策樹的剪枝。其中,特征選擇運用的算法主要包括 “信息熵增益”、“信息 增益比”、“基尼系數”,分別對應不同的樹生成算法ID3、C4.5、CART。
聚類算法
KNN、決策樹都是比較常用的機器學習算法,它們雖然有著不同的功能,但卻都屬于「有監督學習」的一部分,即是說,模型在訓練 的時候,既需要特征矩陣X,也需要真是標簽Y。機器學習當中,還有相當一部分算法屬于「無監督學習」,無監督的算法在訓練的時 候只需要特征矩陣X,不需要標簽。無監督學習的代表算法有聚類算法、降維算法。
點擊CDA題庫鏈接,獲取免費版CDA題庫入口,??荚図樌?,快速拿證!
更多考試介紹及備考福利請點擊:CDA 認證考試中心官網
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《劉靜:10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda ...
2025-04-23