机器学习简介
本文借鑒了數(shù)學建模清風老師的課件與思路,可以點擊查看鏈接查看清風老師視頻講解:清風數(shù)學建模:https://www.bilibili.com/video/BV1DW411s7wi
注:? ?因為要用到機器學習工具箱,所以至少需要安裝MATLAB2017a的版本,版本越高越好,最好是2021版本的。此篇文章旨在介紹機器學習的實際應(yīng)用,所以對算法的原理介紹可能會不是很清楚,想了解清楚的可以看看B 站吳恩達(稍簡單一點)、李宏毅老師的視頻,也可以看周志華老師的西瓜書《機器學習》(B站有配套視頻),注重實用的話就看B 站的菜菜的機器學習sklearn、唐宇迪的機器學習視頻。
目錄
一、? 概念
二、 機器學習的劃分
?2.1 監(jiān)督學習
2.2 無監(jiān)督學習
2.3 強化學習
?2.4 半監(jiān)督學習
三、 模型評估指標
3.1 回歸問題(預(yù)測問題)的評估指標
?3.2 分類問題的評估指標
四、 模型的泛化能力
4.1 留出法
4.2 交叉驗證
?4.3 選擇最好的模型
?4.4 欠擬合和過擬合
一、? 概念
? ? ? ?通過一個問題引入:夏天你是怎么買到一個好的西瓜的?你是通過自己的經(jīng)驗來購買西瓜的吧,經(jīng)驗又是通過自身長期以來對西瓜知識的累積來的把。比如:好西瓜有三個指標:色澤青綠、根蒂蜷縮、敲聲渾濁,你就通過這三個指標來判斷好西瓜,這是靠人類自己就能夠完成的。而機器學習就是這樣一個過程,它通過對以往數(shù)據(jù)(這里可以指上面的經(jīng)驗)的訓練,在面對新的情況時,做出判斷(這里可以指上面的判斷瓜的好壞)。
二、 機器學習的劃分
? ? ? ?機器學習包括監(jiān)督學習,無監(jiān)督學習,強化學習,半監(jiān)督學習,主動學習。
?2.1 監(jiān)督學習
? ? ? ?定義:既有x也有y。
? ? ? 監(jiān)督學習根據(jù)y的不同,可以分為分類問題和回歸問題(預(yù)測問題)。?
? ? ? ①分類問題:將西瓜分為好瓜和壞瓜、將腫瘤分為良性和惡行。
? ? ? ②回歸問題(預(yù)測問題):預(yù)測股票漲跌、預(yù)測房價。
2.2 無監(jiān)督學習
? ? ? ?定義:只有x 沒有y。我們需要得到數(shù)據(jù)之間隱藏的規(guī)律。
? ? ? ?無監(jiān)督學習常用于聚類和降維。
? ? ? ?①聚類:根據(jù)數(shù)據(jù)將這些數(shù)據(jù)劃分成幾類(類似于我之前寫的聚類模型文章)。
? ? ? ? ?注:這里說明一下聚類和分類的區(qū)別,分類是事先就知道要將這些數(shù)據(jù)分成幾類,而聚類是不知道要劃分成幾類,聚類劃分的類別需要我們通過聚類的最終結(jié)果自己來定義。
? ? ? ?②降維:給定的數(shù)據(jù)的指標太多了,處理起來不方便,通過對數(shù)據(jù)進行降維,得到了幾個指標,這幾個指標能夠反映之前全部指標的大部分信息。
2.3 強化學習
?2.4 半監(jiān)督學習
? ? ? ? 定義:有x也有y,但y有一部分沒有。
三、 模型評估指標
? ? ? ? 從現(xiàn)在開始,只介紹監(jiān)督學習,即回歸問題和分類問題
3.1 回歸問題(預(yù)測問題)的評估指標
? ? ? ? 這些指標都有優(yōu)缺點,到時候網(wǎng)上搜索就行。
?3.2 分類問題的評估指標
? ? ? ?我們定義下面這四個指標:
? ? ? ? ?在機器學習中,通常將更關(guān)注的事件定義為正類(生活中我們通常將關(guān)注那些結(jié)果不好的情況定義為正類,比如:腫瘤的惡性、股票的下跌),負類則相反。
? ? ? ? ?當然,這種定義也不是絕對的,你若更加關(guān)注股票的上漲,也可將上漲定義為正類,也比如將貓和狗的照片進行分類,你也無法定義,此時你就可以隨便定義一個就好。? ?
? ? ? ? 將這四個指標構(gòu)成一個混淆矩陣:
?? ? ? ?
? ? ? ? ?由這個矩陣可以看出,預(yù)測對了TP+TN=6個,預(yù)測錯了FP=FN=4個。??
? ? ? ? ?現(xiàn)在就定義下面這些指標:
??
四、 模型的泛化能力
? ? ? ?將模型對于未知數(shù)據(jù)的預(yù)測能力定義為模型的泛化能力。
? ? ? ?通過下面這些方法可以知道模型的泛化能力到底好不好。
4.1 留出法
? ? ? ? 將已知的數(shù)據(jù)(這里指既知道x 又知道y的數(shù)據(jù))分成兩部分,一部分通過訓練可以得到一個模型,再將另一部分數(shù)據(jù)的x 放入到這個模型中進行測試,然后預(yù)測y,這時候再將預(yù)測出來的y與真實的y 進行對比,這時候我們就可以知道這個模型的好壞。這里我們將訓練的數(shù)據(jù)定義為訓練集,被測試的數(shù)據(jù)定義為測試集。這種對泛化能力進行評估的能力稱為留出法。
? ? ? ? 留出法的缺點:當訓練集過少時,我們得到的模型并不準確,同時,我們會損失作為測試集的這一部分數(shù)據(jù)。
4.2 交叉驗證
? ? ? ? ?交叉驗證的主要思想就是下面這個圖:
? ? ??? ? ? ? ?我對于這個的理解:將所有知道x,y的數(shù)據(jù)拿出k-1個數(shù)據(jù)來作訓練集,剩下的一個拿來作測試集,就這樣,進行K次測試和訓練,選取最優(yōu)的一次,在上面這張圖中,K取的是10(通常K都是取10),我們就稱之為10折交叉驗證。
? ? ? ??
?4.3 選擇最好的模型
? ? ? ??
?4.4 欠擬合和過擬合
? ? ? ? ? 可能產(chǎn)生過擬合的常見原因:
(1) 模型中參數(shù)設(shè)置的過多導致模型過于復(fù)雜
(2) 訓練集的樣本量不夠
(3) 輸入了某些完全錯誤的的特征?
? ? ? ? ? 解決過擬合的方法:
(1) 通過前面介紹的交叉驗證的方法來選擇合適的模型,并對參數(shù)進行調(diào)節(jié)。
(2) 擴大樣本數(shù)量、訓練更多的數(shù)據(jù)
(3) 對模型中的參數(shù)增加正則化(即增加懲罰項,參數(shù)越多懲罰越大)
? ? ? ? ? 欠擬合則和過擬合剛好相反,我們可以增加模型的參數(shù)、或者選擇更加復(fù)雜的模
型; 也可以從數(shù)據(jù)中挖掘更多的特征來增加輸入的變量, 還可以使用一些集成算法(如
裝袋法(Bagging),提升法(Boosting))。
? ? ? ?(注意:有可能模型的輸入和輸出一點關(guān)系都沒有,舉個極端的例子,你買的西
瓜好壞和你的個人特征沒任何關(guān)系,例如你的性別身高體重等)
總結(jié)
- 上一篇: 计算机的发展史及多道技术
- 下一篇: hdu-1877(大数+进制转换)