本教程的知識(shí)點(diǎn)為:機(jī)器學(xué)習(xí)(常用科學(xué)計(jì)算庫(kù)的使用)基礎(chǔ)定位 機(jī)器學(xué)習(xí)概述 機(jī)器學(xué)習(xí)概述 1.5 機(jī)器學(xué)習(xí)算法分類 1 監(jiān)督學(xué)習(xí) 機(jī)器學(xué)習(xí)概述 1.7 Azure機(jī)器學(xué)習(xí)模型搭建實(shí)驗(yàn) Azure平臺(tái)簡(jiǎn)介 Matplotlib 3.2 基礎(chǔ)繪圖功能 — 以折線圖為例 1 完善原始折線圖 — 給圖形添加輔助功能 Matplotlib 3.3 常見圖形繪制 1 常見圖形種類及意義 Numpy 4.2 N維數(shù)組-ndarray 1 ndarray的屬性 Numpy 4.4 ndarray運(yùn)算 問題 Pandas 5.1Pandas介紹 1 Pandas介紹 Pandas 5.3 基本數(shù)據(jù)操作 1 索引操作 Pandas 5.6 文件讀取與存儲(chǔ) 1 CSV Pandas 5.8 高級(jí)處理-數(shù)據(jù)離散化 1 為什么要離散化 Pandas 5.12 案例 1 需求
全套筆記資料代碼移步: 前往gitee倉(cāng)庫(kù)查看
感興趣的小伙伴可以自取哦~
全套教程部分目錄:
部分文件圖片:
機(jī)器學(xué)習(xí)概述
學(xué)習(xí)目標(biāo)
- 了解人工智能發(fā)展歷程
- 了解機(jī)器學(xué)習(xí)定義以及應(yīng)用場(chǎng)景
- 知道機(jī)器學(xué)習(xí)算法監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)的區(qū)別
- 知道監(jiān)督學(xué)習(xí)中的分類负饲、回歸特點(diǎn)
- 知道機(jī)器學(xué)習(xí)的開發(fā)流程
1.5 機(jī)器學(xué)習(xí)算法分類
學(xué)習(xí)目標(biāo)
- 了解機(jī)器學(xué)習(xí)常用算法的分類
根據(jù)數(shù)據(jù)集組成不同武通,可以把機(jī)器學(xué)習(xí)算法分為:
監(jiān)督學(xué)習(xí)
無(wú)監(jiān)督學(xué)習(xí)
半監(jiān)督學(xué)習(xí)
強(qiáng)化學(xué)習(xí)
1 監(jiān)督學(xué)習(xí)
-
定義:
-
輸入數(shù)據(jù)是由輸入特征值和目標(biāo)值所組成居砖。
- 函數(shù)的輸出可以是一個(gè)連續(xù)的值(稱為回歸),
- 或是輸出是有限個(gè)離散值(稱作分類)塔猾。
-
1.1 回歸問題
例如:預(yù)測(cè)房?jī)r(jià),根據(jù)樣本集擬合出一條連續(xù)曲線。
1.2 分類問題
例如:根據(jù)腫瘤特征判斷良性還是惡性撤摸,得到的是結(jié)果是“良性”或者“惡性”温眉,是離散的缸匪。
2 無(wú)監(jiān)督學(xué)習(xí)
-
定義:
-
輸入數(shù)據(jù)是由輸入特征值組成,沒有目標(biāo)值
- 輸入數(shù)據(jù)沒有被標(biāo)記类溢,也沒有確定的結(jié)果凌蔬。樣本數(shù)據(jù)類別未知;
- 需要根據(jù)樣本間的相似性對(duì)樣本集進(jìn)行類別劃分闯冷。
-
舉例:
- 有監(jiān)督砂心,無(wú)監(jiān)督算法對(duì)比:
3 半監(jiān)督學(xué)習(xí)
-
定義:
- 訓(xùn)練集同時(shí)包含有標(biāo)記樣本數(shù)據(jù)和未標(biāo)記樣本數(shù)據(jù)。
舉例:
- 監(jiān)督學(xué)習(xí)訓(xùn)練方式:
- 半監(jiān)督學(xué)習(xí)訓(xùn)練方式
4 強(qiáng)化學(xué)習(xí)
-
定義:
- 實(shí)質(zhì)是make decisions 問題蛇耀,即自動(dòng)進(jìn)行決策辩诞,并且可以做連續(xù)決策。
舉例:
小孩想要走路纺涤,但在這之前译暂,他需要先站起來(lái),站起來(lái)之后還要保持平衡撩炊,接下來(lái)還要先邁出一條腿外永,是左腿還是右腿,邁出一步后還要邁出下一步拧咳。
小孩就是 agent伯顶,他試圖通過(guò)采取行動(dòng)(即行走)來(lái)操縱環(huán)境(行走的表面),并且從一個(gè)狀態(tài)轉(zhuǎn)變到另一個(gè)狀態(tài)(即他走的每一步),當(dāng)他完成任務(wù)的子任務(wù)(即走了幾步)時(shí)砾淌,孩子得到獎(jiǎng)勵(lì)(給巧克力吃)啦撮,并且當(dāng)他不能走路時(shí),就不會(huì)給巧克力汪厨。
主要包含五個(gè)元素:agent, action, reward, environment, observation赃春;
強(qiáng)化學(xué)習(xí)的目標(biāo)就是獲得最多的累計(jì)獎(jiǎng)勵(lì)。
監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的對(duì)比
監(jiān)督學(xué)習(xí) | 強(qiáng)化學(xué)習(xí) | |
---|---|---|
反饋映射 | 輸出的是之間的關(guān)系劫乱,可以告訴算法什么樣的輸入對(duì)應(yīng)著什么樣的輸出织中。 | 輸出的是給機(jī)器的反饋 reward function,即用來(lái)判斷這個(gè)行為是好是壞衷戈。 |
反饋時(shí)間 | 做了比較壞的選擇會(huì)立刻反饋給算法狭吼。 | 結(jié)果反饋有延時(shí),有時(shí)候可能需要走了很多步以后才知道以前的某一步的選擇是好還是壞殖妇。 |
輸入特征 | 輸入是獨(dú)立同分布的刁笙。 | 面對(duì)的輸入總是在變化,每當(dāng)算法做出一個(gè)行為谦趣,它影響下一次決策的輸入疲吸。 |
拓展概念:什么是獨(dú)立同分布:
拓展閱讀:Alphago進(jìn)化史 漫畫告訴你Zero為什么這么牛:
[
5 小結(jié)
In | Out | 目的 | 案例 | |
---|---|---|---|---|
監(jiān)督學(xué)習(xí)****(supervised learning) | 有標(biāo)簽 | 有反饋 | 預(yù)測(cè)結(jié)果 | 貓狗分類 房?jī)r(jià)預(yù)測(cè) |
無(wú)監(jiān)督學(xué)習(xí)****(unsupervised learning) | 無(wú)標(biāo)簽 | 無(wú)反饋 | 發(fā)現(xiàn)潛在結(jié)構(gòu) | “物以類聚,人以群分” |
半監(jiān)督學(xué)習(xí)****(Semi-Supervised Learning) | 部分有標(biāo)簽前鹅,部分無(wú)標(biāo)簽 | 有反饋 | 降低數(shù)據(jù)標(biāo)記的難度 | |
強(qiáng)化學(xué)習(xí)****(reinforcement learning) | 決策流程及激勵(lì)系統(tǒng) | 一系列行動(dòng) | 長(zhǎng)期利益最大化 | 學(xué)下棋 |
1.6 模型評(píng)估
學(xué)習(xí)目標(biāo)
-
目標(biāo)
- 了解機(jī)器學(xué)習(xí)中模型評(píng)估的方法
- 知道過(guò)擬合摘悴、欠擬合發(fā)生情況
模型評(píng)估是模型開發(fā)過(guò)程不可或缺的一部分。它有助于發(fā)現(xiàn)表達(dá)數(shù)據(jù)的最佳模型和所選模型將來(lái)工作的性能如何舰绘。
按照數(shù)據(jù)集的目標(biāo)值不同蹂喻,可以把模型評(píng)估分為分類模型評(píng)估和回歸模型評(píng)估。
1 分類模型評(píng)估
-
準(zhǔn)確率
預(yù)測(cè)正確的數(shù)占樣本總數(shù)的比例捂寿。
-
其他評(píng)價(jià)指標(biāo):精確率口四、召回率、F1-score者蠕、AUC指標(biāo)等
2 回歸模型評(píng)估
均方根誤差(Root Mean Squared Error窃祝,RMSE)
- RMSE是一個(gè)衡量回歸模型誤差率的常用公式。 不過(guò)踱侣,它僅能比較誤差是相同單位的模型粪小。
舉例:
假設(shè)上面的房?jī)r(jià)預(yù)測(cè),只有五個(gè)樣本抡句,對(duì)應(yīng)的
真實(shí)值為:100,120,125,230,400
預(yù)測(cè)值為:105,119,120,230,410
那么使用均方根誤差求解得:<span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>R</mi><mi>M</mi><mi>S</mi><mi>E</mi><mo>=</mo><mroot><mrow><mfrac><mrow><mo>[</mo><mo>(</mo><mn>1</mn><mn>0</mn><mn>0</mn><mo>?</mo><mn>1</mn><mn>0</mn><mn>5</mn><msup><mo>)</mo><mn>2</mn></msup><mo>+</mo><mo>(</mo><mn>1</mn><mn>2</mn><mn>0</mn><mo>?</mo><mn>1</mn><mn>1</mn><mn>9</mn><msup><mo>)</mo><mn>2</mn></msup><mo>+</mo><msup><mn>5</mn><mn>2</mn></msup><mo>+</mo><msup><mn>0</mn><mn>2</mn></msup><mo>+</mo><mn>1</mn><msup><mn>0</mn><mn>2</mn></msup><mo>]</mo></mrow><mrow><mn>5</mn></mrow></mfrac></mrow><mrow><mn>2</mn></mrow></mroot><mo>=</mo><mn>5</mn><mi mathvariant="normal">.</mi><mn>4</mn><mn>9</mn><mn>5</mn></mrow><annotation encoding="application/x-tex">RMSE=\sqrt[2]{\frac{[(100-105)2+(120-119)2+52+02+10^2]}{5}} =5.495</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:1.70439em;"></span><span class="strut bottom" style="height:2.44003em;vertical-align:-0.73564em;"></span><span class="base displaystyle textstyle uncramped"><span class="mord mathit" style="margin-right:0.00773em;">R</span><span class="mord mathit" style="margin-right:0.10903em;">M</span><span class="mord mathit" style="margin-right:0.05764em;">S</span><span class="mord mathit" style="margin-right:0.05764em;">E</span><span class="mrel">=</span><span class="mord sqrt"><span class="root"><span class="vlist"><span style="top:-0.58125em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle scriptscriptstyle uncramped mtight"><span class="mord scriptscriptstyle uncramped mtight"><span class="mord mathrm mtight">2</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span><span class="sqrt-sign" style="top:-0.21439000000000008em;"><span class="style-wrap reset-textstyle textstyle uncramped"><span class="delimsizing size3">√</span></span></span><span class="vlist"><span style="top:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;"></span></span><span class="mord displaystyle textstyle cramped"><span class="mord reset-textstyle displaystyle textstyle cramped"><span class="mopen sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.686em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle textstyle cramped"><span class="mord textstyle cramped"><span class="mord mathrm">5</span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.677em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle textstyle cramped"><span class="mord textstyle cramped"><span class="mopen">[</span><span class="mopen">(</span><span class="mord mathrm">1</span><span class="mord mathrm">0</span><span class="mord mathrm">0</span><span class="mbin">?</span><span class="mord mathrm">1</span><span class="mord mathrm">0</span><span class="mord mathrm">5</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span></span><span class="mbin">+</span><span class="mopen">(</span><span class="mord mathrm">1</span><span class="mord mathrm">2</span><span class="mord mathrm">0</span><span class="mbin">?</span><span class="mord mathrm">1</span><span class="mord mathrm">1</span><span class="mord mathrm">9</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span></span><span class="mbin">+</span><span class="mord"><span class="mord mathrm">5</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span></span><span class="mbin">+</span><span class="mord"><span class="mord mathrm">0</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span></span><span class="mbin">+</span><span class="mord mathrm">1</span><span class="mord"><span class="mord mathrm">0</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span></span><span class="mclose">]</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;"></span></span></span></span></span><span class="mclose sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span></span></span><span style="top:-1.62439em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;"></span></span><span class="reset-textstyle textstyle uncramped sqrt-line"></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;"></span></span></span></span></span><span class="mrel">=</span><span class="mord mathrm">5</span><span class="mord mathrm">.</span><span class="mord mathrm">4</span><span class="mord mathrm">9</span><span class="mord mathrm">5</span></span></span></span></span>
其他評(píng)價(jià)指標(biāo):相對(duì)平方誤差(Relative Squared Error探膊,RSE)、平均絕對(duì)誤差(Mean Absolute Error待榔,MAE)逞壁、相對(duì)絕對(duì)誤差(Relative Absolute Error流济,RAE)
3 擬合
模型評(píng)估用于評(píng)價(jià)訓(xùn)練好的的模型的表現(xiàn)效果,其表現(xiàn)效果大致可以分為兩類:過(guò)擬合腌闯、欠擬合绳瘟。
在訓(xùn)練過(guò)程中,你可能會(huì)遇到如下問題:
訓(xùn)練數(shù)據(jù)訓(xùn)練的很好啊姿骏,誤差也不大糖声,為什么在測(cè)試集上面有問題呢?
當(dāng)算法在某個(gè)數(shù)據(jù)集當(dāng)中出現(xiàn)這種情況分瘦,可能就出現(xiàn)了擬合問題蘸泻。
3.1 欠擬合
因?yàn)闄C(jī)器學(xué)習(xí)到的天鵝特征太少了,導(dǎo)致區(qū)分標(biāo)準(zhǔn)太粗糙嘲玫,不能準(zhǔn)確識(shí)別出天鵝悦施。
欠擬合(under-fitting):模型學(xué)習(xí)的太過(guò)粗糙,連訓(xùn)練集中的樣本數(shù)據(jù)特征關(guān)系都沒有學(xué)出來(lái)去团。
3.2 過(guò)擬合
機(jī)器已經(jīng)基本能區(qū)別天鵝和其他動(dòng)物了抡诞。然后,很不巧已有的天鵝圖片全是白天鵝的渗勘,于是機(jī)器經(jīng)過(guò)學(xué)習(xí)后沐绒,會(huì)認(rèn)為天鵝的羽毛都是白的俩莽,以后看到羽毛是黑的天鵝就會(huì)認(rèn)為那不是天鵝旺坠。
過(guò)擬合(over-fitting):所建的機(jī)器學(xué)習(xí)模型或者是深度學(xué)習(xí)模型在訓(xùn)練樣本中表現(xiàn)得過(guò)于優(yōu)越,導(dǎo)致在測(cè)試數(shù)據(jù)集中表現(xiàn)不佳扮超。
-
上問題解答:
- 訓(xùn)練數(shù)據(jù)訓(xùn)練的很好啊取刃,誤差也不大,為什么在測(cè)試集上面有問題呢出刷?
4 小結(jié)
-
分類模型評(píng)估【了解】
- 準(zhǔn)確率
-
回歸模型評(píng)估【了解】
- RMSE -- 均方根誤差
-
擬合【知道】
舉例 -- 判斷是否是人
-
欠擬合
- 學(xué)習(xí)到的東西太少
- 模型學(xué)習(xí)的太過(guò)粗糙
-
過(guò)擬合
- 學(xué)習(xí)到的東西太多
- 學(xué)習(xí)到的特征多璧疗,不好泛化