
作者 | 盧譽聲
大部分的機器學(xué)習(xí)算法主要用來解決兩類問題——分類問題和回歸問題。在本文當(dāng)中,我們介紹一些簡單但經(jīng)典實用的傳統(tǒng)機器學(xué)習(xí)算法,讓大家對機器學(xué)習(xí)算法有一個基本的感性認識。
有的人說機器學(xué)習(xí)入門并不難,有的人會覺得機器學(xué)習(xí)難以理解。那么該如何去學(xué)習(xí)機器學(xué)習(xí)這種技術(shù)與方法呢?在本文當(dāng)中,我們將介紹掌握機器領(lǐng)域知識的學(xué)習(xí)曲線、技術(shù)棧以及常用框架。
1. 分類算法
這是一種監(jiān)督學(xué)習(xí)方法。有很多算法幫助我們解決分類問題,比如K近鄰、決策樹、樸素貝葉斯、貝葉斯網(wǎng)絡(luò)、邏輯回歸、SVM等算法。人工神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)也往往用來解決分類問題。這些都是常見和常用的分類算法,只不過不同的算法都有其優(yōu)劣,會應(yīng)用在不同的場景下。
我們舉一個例子。假設(shè)我們知道某個鳥的各個特征,現(xiàn)在要根據(jù)這些特征確定這只鳥屬于哪種鳥類,這就是所謂的分類問題。
首先,我們要收集能收集到的所有的鳥類信息,包括鳥的各種特征以及鳥的種類,其中顏色、體重、翅膀等屬性都屬于特征,而種類則是鳥的標簽。
其次,我們建立的機器學(xué)習(xí)的目的就是讓用戶輸入一個鳥的特征,然后輸出這個鳥的種類,也就是對應(yīng)的標簽。這個過程就是一個根據(jù)鳥的屬性分類的過程,只不過是由計算機自動完成的。
2. 回歸算法
回歸算法也是一種有監(jiān)督學(xué)習(xí)方法。回歸算法來自于回歸分析,回歸分析是研究自變量和因變量之間關(guān)系的一種預(yù)測模型技術(shù)。這些技術(shù)應(yīng)用于預(yù)測,時間序列模型和找到變量之間的關(guān)系。
舉個簡單例子,我們可以通過計算得出在某些情況下服務(wù)器接收請求數(shù)量與服務(wù)器CPU、內(nèi)存占用壓力之間的關(guān)系。
最簡單的回歸算法就是線性回歸,相信大家都對線性回歸有所了解。雖然線性回歸比較簡單,但是越簡單粗暴的算法在面對有些實際問題的時候就越實用。深度學(xué)習(xí)也可以用于解決回歸問題。
3. 聚類算法
聚類算法是一類無監(jiān)督學(xué)習(xí)算法。聚類是研究(樣品或指標)分類問題的一種統(tǒng)計分析方法,同時也是數(shù)據(jù)挖掘的一個重要算法。
聚類分析以相似性為基礎(chǔ),在一個聚類中的模式比不在同一聚類中的模式具有更多的相似性,這是聚類分析的最基本原理。聚類分析的算法可以分成很多類方法,比如劃分法、層次法、基于密度的方法、基于網(wǎng)絡(luò)的方法和基于模型的方法。
最有名的聚類算法就是K-Means(K-均值)算法,是最為經(jīng)典的、基于劃分的聚類方法。該算法的主要思路是以空間中k個點為形心進行聚類,將最靠近它們的對象歸類。通過迭代的方法,逐次更新各簇的形心的值,直至得到最好的聚類結(jié)果。(形心可以是實際的點,也可以是虛擬點)。
通過該算法我們可以將特征相似的數(shù)據(jù)聚合稱為一個數(shù)據(jù)群組,而將特征相差較大的數(shù)據(jù)分開。
4. 關(guān)聯(lián)分析算法
關(guān)聯(lián)分析是除了聚類以外的一種常用無監(jiān)督學(xué)習(xí)方法。用于發(fā)現(xiàn)存在于大量數(shù)據(jù)集中的關(guān)聯(lián)性或相關(guān)性,從而描述了一個事物中某些屬性同時出現(xiàn)的規(guī)律和模式。
關(guān)聯(lián)分析最典型的應(yīng)用就是購物車分析。我們可以從用戶的訂單中尋找經(jīng)常被一起購買的商品,并挖掘這些商品之間的潛在關(guān)系,這樣有助于線上、線下商家指定購買與銷售策略。
最著名的關(guān)聯(lián)分析算法就是Apriori算法和FP-growth算法。Apriori算法就是根據(jù)有關(guān)頻繁項集特性的先驗知識而命名的。它使用一種稱作逐層搜索的迭代方法。而FP-growth是針對Apriori算法的改進算法,通過兩次掃描事務(wù)數(shù)據(jù)庫,把每個事務(wù)所包含的頻繁項目按其支持度降序壓縮存儲到FP-tree中。
在以后發(fā)現(xiàn)頻繁模式的過程中,不需要再掃描事務(wù)數(shù)據(jù)庫,而僅在FP-tree中進行查找即可,并通過遞歸調(diào)用FP-growth的方法來直接產(chǎn)生頻繁模式,因此在整個發(fā)現(xiàn)過程中也不需產(chǎn)生候選模式。該算法克服了Apriori算法中存在的問題,在執(zhí)行效率上也明顯好于Apriori算法,同時能生成有向關(guān)系,比Apriori更為泛用。
5. 集成算法
前面幾節(jié)介紹了常見的機器學(xué)習(xí)算法,但是我們會發(fā)現(xiàn)每個單獨的機器學(xué)習(xí)算法往往只能解決特定場景下的特定問題,如果問題會變得更為復(fù)雜,就難以使用一個學(xué)習(xí)器達到目標。這時候我們就需要集成多個學(xué)習(xí)器,協(xié)同完成機器學(xué)習(xí)任務(wù)。
所謂集成學(xué)習(xí)就是使用一系列學(xué)習(xí)器進行學(xué)習(xí),并使用某種規(guī)則把各個學(xué)習(xí)結(jié)果進行整合,從而獲得比使用單個學(xué)習(xí)器更好的學(xué)習(xí)效果的一種機器學(xué)習(xí)方法。一般情況下,集成學(xué)習(xí)中的多個學(xué)習(xí)器都是同質(zhì)的“弱學(xué)習(xí)器”。
集成學(xué)習(xí)的主要思路是先通過一定的規(guī)則生成多個學(xué)習(xí)器,再采用某種集成策略進行組合,然后綜合判斷輸出最終結(jié)果。
一般而言,通常所說的集成學(xué)習(xí)中的多個學(xué)習(xí)器都是同質(zhì)的“弱學(xué)習(xí)器”。基于該“弱學(xué)習(xí)器”,通過樣本集擾動、輸入特征擾動、輸出表示擾動、算法參數(shù)擾動等方式生成多個學(xué)習(xí)器,進行集成后獲得一個精度較好的“強學(xué)習(xí)器”。
最著名的集成算法就是Boosting類算法,包括AdaBoosting等常用算法。這類算法需要同時訓(xùn)練多個模式,基本思路就是根據(jù)訓(xùn)練時的正確率和錯誤率調(diào)整不同學(xué)習(xí)器的權(quán)重,最終預(yù)測時使用帶權(quán)重的投票法產(chǎn)生最終結(jié)果。
還有一類集成算法為Bagging類算法,主要思路是分別訓(xùn)練幾個不同的模型,然后用模型平均的方法做出最終決策。
最著名的Bagging類算法就是隨機森林,該算法還融入了隨機子空間方法,是以決策樹為基礎(chǔ)分類器的一個集成學(xué)習(xí)模型,它包含多個由Bagging集成學(xué)習(xí)技術(shù)訓(xùn)練得到的決策樹,當(dāng)輸入待分類的樣本時,最終的分類結(jié)果由單個決策樹的輸出結(jié)果投票決定。
6. 強化算法
強化學(xué)習(xí)(reinforcement learning)和我們在前面提到的算法不太一樣,其主要用于訓(xùn)練一個可以感知環(huán)境的自制感知器,通過學(xué)習(xí)選擇能達到其目標的最優(yōu)動作。這個很具有普遍性的問題應(yīng)用于學(xué)習(xí)控制移動機器人,在工廠中學(xué)習(xí)最優(yōu)操作工序以及學(xué)習(xí)棋類對弈等。
當(dāng)某個智能體在其環(huán)境中做出每個動作時,施教者會提供獎勵或懲罰信息,以表示結(jié)果狀態(tài)的正確與否。該智能體的任務(wù)就是從這個非直接的,有延遲的回報中學(xué)習(xí),以便后續(xù)的動作產(chǎn)生最大的累積效應(yīng)。
——引用自米歇爾(Mitchell T.M.)《機器學(xué)習(xí)》
最著名的增強學(xué)習(xí)算法就是Q-Learning算法。由于增強學(xué)習(xí)算法不在本文討論范疇,并由于其本身的復(fù)雜性,我們在這里只做簡單的介紹但不做深入討論。
首先,我們必須清楚機器學(xué)習(xí)是計算機科學(xué)中的一個領(lǐng)域,所以要能夠掌握機器學(xué)習(xí),真正通過計算機把機器學(xué)習(xí)應(yīng)用起來是需要以計算機科學(xué)為基礎(chǔ)的。比如要了解基礎(chǔ)的程序設(shè)計語言,至少是Python或者MATLAB,要知道基本的數(shù)據(jù)結(jié)構(gòu),要知道基本的數(shù)據(jù)處理技術(shù),要知道基本的數(shù)據(jù)存儲查詢技術(shù)等。
其次,機器學(xué)習(xí)算法一般都有比較嚴密完善的數(shù)學(xué)原理,如果不能從數(shù)學(xué)的角度去理解機器學(xué)習(xí),我們是無法理解其中一些本質(zhì)核心的東西的,那就永遠只能從使用模型的角度對這個領(lǐng)域淺嘗輒止了。
另外機器學(xué)習(xí)也是一個依靠經(jīng)驗的領(lǐng)域,許多參數(shù)和方法都需要依靠日常的經(jīng)驗積累出來,從而形成一種解決問題的思維和感覺,這樣在利用機器學(xué)習(xí)技術(shù)解決現(xiàn)有問題時會更快、更有效,往往能找到合適的解決方案。
所以機器學(xué)習(xí)是有學(xué)習(xí)曲線的,也許更像一個無限循環(huán)的S形學(xué)習(xí)曲線,一開始學(xué)習(xí)基本的機器學(xué)習(xí)算法,做簡單的實驗非常容易入手。根據(jù)經(jīng)驗,進一步學(xué)習(xí)更多的機器學(xué)習(xí)算法后可能會逐漸迷失在各種機器學(xué)習(xí)模型之中,學(xué)習(xí)難度陡然上升。
當(dāng)你將大多數(shù)經(jīng)典模型融會貫通之后,你又會覺得各種類型的機器學(xué)習(xí)算法變化無非幾類,于是學(xué)習(xí)難度曲線又會變得平滑。但當(dāng)你開始解決實際問題時,就又會陷入陡峭的學(xué)習(xí)曲線中,在攀爬式的學(xué)習(xí)中不斷積累經(jīng)驗。
總而言之,機器學(xué)習(xí)是一個需要不斷進行理論和經(jīng)驗積累的技術(shù),每過一個階段都會遇到相應(yīng)的瓶頸。這不是一成不變的,而是一個需要不斷學(xué)習(xí)實踐的技術(shù)。只有在不斷遇到問題并解決問題后才能不斷前行。
2. 技術(shù)棧
我們把深度學(xué)習(xí)的技術(shù)棧分為3個類別。第1類是基礎(chǔ)數(shù)學(xué)工具,第2類是機器學(xué)習(xí)基礎(chǔ)理論方法,第3類是機器學(xué)習(xí)的實踐工具與框架。我們在這里對這幾類內(nèi)容做一個概述,如果讀者在學(xué)習(xí)過程當(dāng)中發(fā)現(xiàn)有不甚了解的基礎(chǔ)概念或知識時,可以翻看本文尋找你需要的工具和技術(shù)并進行了解,循環(huán)往復(fù)、溫故而知新。
基礎(chǔ)數(shù)學(xué)工具包括高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計、離散數(shù)學(xué)、矩陣理論、隨機過程、最優(yōu)化方法和復(fù)變函數(shù)等。沒錯,基礎(chǔ)數(shù)學(xué)工具在機器學(xué)習(xí)領(lǐng)域乃至其工程領(lǐng)域必不可少,望讀者能夠?qū)@些知識有一個較為全面的掌握。
機器學(xué)習(xí)基礎(chǔ)理論方法包括決策樹、支持向量機、貝葉斯、人工神經(jīng)網(wǎng)絡(luò)、遺傳算法、概率圖模型、規(guī)則學(xué)習(xí)、分析學(xué)習(xí)、增強學(xué)習(xí),等等。
機器學(xué)習(xí)的實踐工具與框架類目就比較繁雜了,包括基礎(chǔ)語言與工具、工程框架、數(shù)據(jù)存儲工具和數(shù)據(jù)處理工具。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03