機器學習(Machine Learning)本質(zhì)上就是讓計算機自己在數(shù)據(jù)中學習規(guī)律,并根據(jù)所得到的規(guī)律對未來數(shù)據(jù)進行預測。
機器學習包括如聚類、分類、決策樹、貝葉斯、神經(jīng)網(wǎng)絡、深度學習(Deep Learning)等算法。
機器學習的基本思路是模仿人類學習行為的過程,如我們在現(xiàn)實中的新問題一般是通過經(jīng)驗歸納,總結(jié)規(guī)律,從而預測未來的過程。機器學習的基本過程如下:
機器學習基本過程
01 機器學習發(fā)展歷程
從機器學習發(fā)展的過程上來說,其發(fā)展的時間軸如下所示:
機器學習發(fā)展歷程
從上世紀50年代的圖靈測試提出、塞繆爾開發(fā)的西洋跳棋程序,標志著機器學習正式進入發(fā)展期。
60年代中到70年代末的發(fā)展幾乎停滯。
80年代使用神經(jīng)網(wǎng)絡反向傳播(BP)算法訓練的多參數(shù)線性規(guī)劃(MLP)理念的提出將機器學習帶入復興時期。
90年代提出的“決策樹”(ID3算法),再到后來的支持向量機(SVM)算法,將機器學習從知識驅(qū)動轉(zhuǎn)變?yōu)閿?shù)據(jù)驅(qū)動的思路。
21世紀初Hinton提出深度學習(Deep Learning),使得機器學習研究又從低迷進入蓬勃發(fā)展期。
從2012年開始,隨著算力提升和海量訓練樣本的支持,深度學習(Deep Learning)成為機器學習研究熱點,并帶動了產(chǎn)業(yè)界的廣泛應用。
02 機器學習分類
機器學習經(jīng)過幾十年的發(fā)展,衍生出了很多種分類方法,這里按學習模式的不同,可分為監(jiān)督學習、半監(jiān)督學習、無監(jiān)督學習和強化學習。
監(jiān)督學習
監(jiān)督學習(Supervised Learning)是從有標簽的訓練數(shù)據(jù)中學習模型,然后對某個給定的新數(shù)據(jù)利用模型預測它的標簽。如果分類標簽精確度越高,則學習模型準確度越高,預測結(jié)果越精確。
監(jiān)督學習主要用于回歸和分類。
常見的監(jiān)督學習的回歸算法有線性回歸、回歸樹、K鄰近、Adaboost、神經(jīng)網(wǎng)絡等。
常見的監(jiān)督學習的分類算法有樸素貝葉斯、決策樹、SVM、邏輯回歸、K鄰近、Adaboost、神經(jīng)網(wǎng)絡等。
半監(jiān)督學習
半監(jiān)督學習(Semi-Supervised Learning)是利用少量標注數(shù)據(jù)和大量無標注數(shù)據(jù)進行學習的模式。
半監(jiān)督學習側(cè)重于在有監(jiān)督的分類算法中加入無標記樣本來實現(xiàn)半監(jiān)督分類。
常見的半監(jiān)督學習算法有Pseudo-Label、Π-Model、Temporal Ensembling、Mean Teacher、VAT、UDA、MixMatch、ReMixMatch、FixMatch等。
無監(jiān)督學習
無監(jiān)督學習(Unsupervised Learning)是從未標注數(shù)據(jù)中尋找隱含結(jié)構(gòu)的過程。
無監(jiān)督學習主要用于關聯(lián)分析、聚類和降維。
常見的無監(jiān)督學習算法有稀疏自編碼(Sparse Auto-Encoder)、主成分分析(Principal Component Analysis, PCA)、K-Means算法(K均值算法)、DBSCAN算法(Density-Based Spatial Clustering of Applications with Noise)、最大期望算法(Expectation-Maximization algorithm, EM)等。
強化學習
強化學習(Reinforcement Learning)類似于監(jiān)督學習,但未使用樣本數(shù)據(jù)進行訓練,是是通過不斷試錯進行學習的模式。
在強化學習中,有兩個可以進行交互的對象:智能體(Agnet)和環(huán)境(Environment),還有四個核心要素:策略(Policy)、回報函數(shù)(收益信號,Reward Function)、價值函數(shù)(Value Function)和環(huán)境模型(Environment Model),其中環(huán)境模型是可選的。
強化學習常用于機器人避障、棋牌類游戲、廣告和推薦等應用場景中。
為了便于讀者理解,用灰色圓點代表沒有標簽的數(shù)據(jù),其他顏色的圓點代表不同的類別有標簽數(shù)據(jù)。監(jiān)督學習、半監(jiān)督學習、無監(jiān)督學習、強化學習的示意圖如下所示:
03 機器學習應用之道
機器學習是將現(xiàn)實中的問題抽象為數(shù)學模型,利用歷史數(shù)據(jù)對數(shù)據(jù)模型進行訓練,然后基于數(shù)據(jù)模型對新數(shù)據(jù)進行求解,并將結(jié)果再轉(zhuǎn)為現(xiàn)實問題的答案的過程。機器學習一般的應用實現(xiàn)步驟如下:
將現(xiàn)實問題抽象為數(shù)學問題;
數(shù)據(jù)準備;
選擇或創(chuàng)建模型;
模型訓練及評估;
預測結(jié)果;
這里我們以Kaggle上的一個競賽Cats vs. Dogs(貓狗大戰(zhàn))為例來進行簡單介紹,感興趣的可親自實驗。
現(xiàn)實問題抽象為數(shù)學問題
現(xiàn)實問題:給定一張圖片,讓計算機判斷是貓還是狗?
數(shù)學問題:二分類問題,1表示分類結(jié)果是狗,0表示分類結(jié)果是貓。
數(shù)據(jù)準備
數(shù)據(jù)下載地址:
https://www.kaggle.com/c/dogs-vs-cats。
下載 kaggle 貓狗數(shù)據(jù)集解壓后分為 3 個文件 train.zip、 test.zip 和 sample_submission.csv。
train 訓練集包含了 25000 張貓狗的圖片,貓狗各一半,每張圖片包含圖片本身和圖片名。命名規(guī)則根據(jù) “type.num.jpg” 方式命名。
訓練集示例
test 測試集包含了 12500 張貓狗的圖片,沒有標定是貓還是狗,每張圖片命名規(guī)則根據(jù)“num.jpg”命名。
測試集示例
sample_submission.csv 需要將最終測試集的測試結(jié)果寫入.csv 文件中。
sample_submission示例
我們將數(shù)據(jù)分成3個部分:訓練集(60%)、驗證集(20%)、測試集(20%),用于后面的驗證和評估工作。
選擇模型
機器學習有很多模型,需要選擇哪種模型,需要根據(jù)數(shù)據(jù)類型,樣本數(shù)量,問題本身綜合考慮。
如本問題主要是處理圖像數(shù)據(jù),可以考慮使用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)模型來實現(xiàn)二分類,因為選擇CNN的優(yōu)點之一在于避免了對圖像前期預處理過程(提取特征等)。貓狗識別的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)如下面所示:
最下層是網(wǎng)絡的輸入層(Input Layer),用于讀入圖像作為網(wǎng)絡的數(shù)據(jù)輸入;最上層是網(wǎng)絡的輸出層(Output Layer),其作用是預測并輸出讀入圖像的類別,由于只需要區(qū)分貓和狗,因此輸出層只有2個神經(jīng)計算單元;位于輸入和輸出層之間的,都稱之為隱含層(Hidden Layer),也叫卷積層(Convolutional Layer),這里設置3個隱含層。
模型訓練及評估
我們預先設定損失函數(shù)Loss計算得到的損失值,通過準確率Accuracy來評估訓練模型。損失函數(shù)LogLoss作為模型評價指標:
準確率(accuracy)來衡量算法預測結(jié)果的準確程度:
TP(True Positive)是將正類預測為正類的結(jié)果數(shù)目。
FP(False Positive)是將負類預測為正類的結(jié)果數(shù)目。
TN(True Negative)是將負類預測為負類的結(jié)果數(shù)目。
FN(False Negative)是將正類預測為負類的結(jié)果數(shù)目。
訓練過中的 loss 和 accuracy
預測結(jié)果
訓練好的模型,我們載入一張圖片,進行識別,看看識別效果:
04 機器學習趨勢分析
機器學習正真開始研究和發(fā)展應該從80年代開始,我們借助AMiner平臺,將近些年機器學習論文進行統(tǒng)計分析所生成的發(fā)展趨勢圖如下所示:
可以看出,深度神經(jīng)網(wǎng)絡(Deep Neural Network)、強化學習(Reinforcement Learning)、卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network)、循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network)、生成模型(Generative Model)、圖像分類(Image Classification)、支持向量機(Support Vector Machine)、遷移學習(Transfer Learning)、主動學習(Active Learning)、特征提?。‵eature Extraction)是機器學習的熱點研究。
以深度神經(jīng)網(wǎng)絡、強化學習為代表的深度學習相關的技術研究熱度上升很快,近幾年仍然是研究熱點。
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4734瀏覽量
100420 -
數(shù)據(jù)
+關注
關注
8文章
6817瀏覽量
88743 -
機器學習
+關注
關注
66文章
8353瀏覽量
132315
原文標題:【光電智造】超全干貨!機器學習基礎知識大總結(jié)
文章出處:【微信號:今日光電,微信公眾號:今日光電】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論