機(jī)器學(xué)習(xí)基礎(chǔ)1-概述

1.1、概念關(guān)系

  • 人工智能(Artificial Intelligence)

    • 知識推理
    • 邏輯規(guī)劃
    • 機(jī)器人
  • 機(jī)器學(xué)習(xí)(Machine Learning)

  • 深度學(xué)習(xí)(Deep Learning)

    從機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)子算法分支發(fā)展出來的一系列成果

1.2、需求層次

  • 設(shè)計需求層次
  • 調(diào)用需求層次
  • 數(shù)學(xué)需求層次

Scikit-Learn說明文檔中的數(shù)學(xué)表達(dá)式

1.3、基本原理

機(jī)器學(xué)習(xí)的意向主要工作就叫作"訓(xùn)練模型",比"訓(xùn)練"表達(dá)更準(zhǔn)確的詞,叫做“擬合”。擬合是機(jī)器學(xué)習(xí)的主要工作。

1.3.1、算法模型和損失函數(shù)

算法模型輸出一個數(shù)值,損失函數(shù)經(jīng)過計算,回饋一個偏差結(jié)果,算法模型是根據(jù)這個偏差結(jié)果進(jìn)行調(diào)整,在輸出一個數(shù)值,周而復(fù)始,直到正確為止。這就是機(jī)器學(xué)習(xí)的學(xué)習(xí)過程,這個過程稱作擬合。

1.3.2、欠擬合和過擬合

  • 欠擬合

    學(xué)的還不像,算法模型的預(yù)測準(zhǔn)確性不夠

  • 過擬合

    算法模型的泛化性不好。算法模型通常通過具體的數(shù)據(jù)集進(jìn)行訓(xùn)練,這些數(shù)據(jù)集成為訓(xùn)練集。

    但是由于采集方法等一些外部因素的硬性存在,訓(xùn)練集數(shù)據(jù)的分布情況(也就是一些統(tǒng)計指標(biāo))可能與真實(shí)環(huán)境的分布情況略有不同,如果算法模型太注重細(xì)節(jié),反而會導(dǎo)致真正用于真實(shí)環(huán)境中時預(yù)測精度下降。

1.4、機(jī)器學(xué)習(xí)的基本概念

1.4.1、術(shù)語介紹

  1. 常用術(shù)語

    • 模型(model)

      機(jī)器學(xué)習(xí)的核心概念,機(jī)器學(xué)習(xí)的量大組成部分是<u>模型</u>和<u>數(shù)據(jù)集</u>

    • 數(shù)據(jù)集

      有些文獻(xiàn)又將數(shù)據(jù)集分為<u>訓(xùn)練集</u>和<u>測試集</u>

    • 數(shù)據(jù)

      數(shù)據(jù)集就是數(shù)據(jù)的集合,一條數(shù)據(jù)稱為一個樣本(sample),形式類似于一維數(shù)組,樣本通常包含多個特征(Feature)

      • 如果是用于分類問題的數(shù)據(jù)集,還會包含類別(Class Lablel)
      • 如果是用于回歸問題的數(shù)據(jù)集,還會包含一個連續(xù)型的數(shù)值
    • 特征

      某個對象的幾個記錄的維度。例如個人信息表,特征就是這張表里的空格,如名字,性別,出生日期,籍貫等。

      數(shù)據(jù)類型類似一維數(shù)組,特征就是數(shù)值的值

    • 向量

      可以理解為向量就是該類算法所對應(yīng)的數(shù)據(jù)結(jié)構(gòu),一條樣本數(shù)據(jù)就是以一個向量的形式輸入模型的。

      一條監(jiān)督學(xué)習(xí)數(shù)據(jù)的向量形式如下:

      [特征值x1值,特征值x2值, ..., Y1值]
      
    • 矩陣

      可以將矩陣看做事向量組成的數(shù)組,形式上非常接近二維數(shù)組。

數(shù)據(jù)庫矩陣
  1. 常用函數(shù)

    • 假設(shè)函數(shù)(Hypothesis Function)

      用H(x)表示

    • 損失函數(shù)(Loss Function)

      用L(x)表示,x是假設(shè)函數(shù)的預(yù)測結(jié)果。函數(shù)返回值越大,表示結(jié)果偏差越大

    • 成本函數(shù)(Cost Function)

      用J(x)表示,x也是假設(shè)函數(shù)的預(yù)測結(jié)果。返回值越大,表示結(jié)果偏差越大

      區(qū)分損失函數(shù)和成本函數(shù)的關(guān)鍵在于對象,損失函數(shù)是針對單個樣本,成本函數(shù)則是針對整個數(shù)據(jù)集。也就是說,損失函數(shù)求得的總和就是成本函數(shù)。成本函數(shù)是由損失函數(shù)計算得到的

      在實(shí)際計算中,可以選擇令成本函數(shù)為損失函數(shù)值的總和,也可以令成本函數(shù)是損失函數(shù)值的平均值。

1.4.2、機(jī)器學(xué)習(xí)的基本模式

要開始進(jìn)行機(jī)器學(xué)習(xí),至少需要準(zhǔn)備三樣?xùn)|西:

  • 數(shù)據(jù)
  • 假設(shè)函數(shù)
  • 損失函數(shù)

將數(shù)據(jù)"喂"給假設(shè)函數(shù),假設(shè)函數(shù)會"吐"出一個結(jié)果,這僅僅是個預(yù)測結(jié)果, 需要使用損失函數(shù)對預(yù)測結(jié)果進(jìn)行評估,一邊告訴我們它與真實(shí)情況到底差了多少。

基本模式

但是僅僅知道差了多少并沒有什么用,然后就會根據(jù)損失函數(shù)的返回結(jié)果,用一個名為<u>優(yōu)化方法</u>的過程來調(diào)整假設(shè)函數(shù)

1.4.3、優(yōu)化方法

  1. 假設(shè)函數(shù)對輸入數(shù)據(jù)產(chǎn)生期望的輸出,即預(yù)測值
  2. 損失函數(shù)則通過比較預(yù)測值和實(shí)際值算出損失值
  3. 損失函數(shù)把損失值告訴優(yōu)化方法,優(yōu)化方法告訴假設(shè)函數(shù)如果調(diào)整參數(shù)

優(yōu)化方法可能會比較簡單,例如:

新參數(shù)值 = 舊參數(shù)值 - 損失值

這種方法比較簡單,只有在極特殊的情況下使用,不過也有專門的優(yōu)化方法,例如:

  • 牛頓法
  • 擬牛頓法
  • 共軌梯度法

梯度下降(Gradient Descent)法是機(jī)器學(xué)習(xí)中常用的一種優(yōu)化方法,梯度是微積分學(xué)的術(shù)語。某個函數(shù)在某點(diǎn)的梯度指向該函數(shù)取得最大值的方向,那么它的反方向自然就是取的最小值的方向。

  1. 首先由梯度確定方向
  2. 當(dāng)損失值比較大時,梯度會比較大,假設(shè)函數(shù)的參數(shù)更新幅度也會更大一些
  3. 隨著損失值慢慢變小,梯度也隨之慢慢變小,假設(shè)函數(shù)的參數(shù)更新幅度也會更小

如果樣本數(shù)量龐大,完成一次完整的梯度下降需要很長時間,在實(shí)際工作中會根據(jù)情況調(diào)整每次參與損失計算的樣本數(shù)量。

  • 批量梯度下降(Batch Gradient Descent)

    每次迭代都是用全部樣本

  • 隨機(jī)梯度下降(Stochastic Gradient Descent)

    每次迭代只使用一個樣本

1.4.3、機(jī)器學(xué)習(xí)問題分類

機(jī)器學(xué)習(xí)問題具體類別的判斷方法圖

1.6、常見的機(jī)器學(xué)習(xí)算法

  1. 線性回歸算法

    最基本的機(jī)器學(xué)習(xí)算法,使用線性方法解決回歸問題

  2. Logistic回歸算法

    其思想核心依然是線性方法,但是加了Logistic函數(shù),讓其具有解決分類問題的能力

  3. KNN分類算法

    不依賴數(shù)學(xué)或統(tǒng)計模型,通過"找最近鄰"的思想解決分類問題,其核心思想和區(qū)塊鏈技術(shù)中的共識機(jī)制有著深遠(yuǎn)的關(guān)系

  4. 樸素貝葉斯分類算法

    認(rèn)為結(jié)果不是確定性的而是概率性的,眼前所見的不過是概率最大的結(jié)果。用來解決分類算法

  5. 決策樹分類算法

  6. 支持向量機(jī)分類算法

    使用數(shù)學(xué)將線性不可分的數(shù)據(jù)點(diǎn)映射成線性可分,再用最簡單的線性方法來解決問題

  7. K-means聚類算法

  8. 神經(jīng)網(wǎng)絡(luò)分類算法

    神經(jīng)網(wǎng)絡(luò)就是由許多神經(jīng)元連接所構(gòu)成的網(wǎng)絡(luò),很多人認(rèn)為該算法是一種仿生算法,模仿的對象正是我們的大腦。神經(jīng)網(wǎng)絡(luò)分類算法是當(dāng)下熱門的深度學(xué)習(xí)算法的起點(diǎn)

1.7、機(jī)器學(xué)習(xí)算法的性能衡量指標(biāo)

機(jī)器學(xué)習(xí)算法尊層NFL定律,即所有的機(jī)器學(xué)習(xí)算法中,并不存在最厲害的算法。

在分類問題中,將機(jī)器學(xué)習(xí)模型的預(yù)測與實(shí)際情況進(jìn)行對比后,結(jié)果可以分為四種:

  • TP

    True Positive,預(yù)測結(jié)果為正類,且與事實(shí)符合,即事實(shí)為正類

  • TN

    True Negitive,預(yù)測結(jié)果為負(fù)類,且與事實(shí)符合,即事實(shí)為負(fù)類

  • FP

    Flase Positive,預(yù)測結(jié)果為正類,但與事實(shí)不符,即事實(shí)為負(fù)類

  • FN

    Flase Negitive,預(yù)測結(jié)果為負(fù)類,但與事實(shí)不符,即事實(shí)為正類

有了結(jié)果分類,就可以計算指標(biāo)了,常用的指標(biāo)有三個:

  • 準(zhǔn)確率(Accuracy)

    模型猜對了的結(jié)果在全部結(jié)果中的占比

準(zhǔn)確率
  • 精確率(Precision)

    也叫查準(zhǔn)率,模型預(yù)測對正類結(jié)果的預(yù)測越準(zhǔn)確,查準(zhǔn)率就越高

精確率
  • 召回率(Recall)

    也叫查全率,在全部正類中,模型能正確找出來多少

召回率

1.8、數(shù)據(jù)對算法結(jié)果的影響

1.8.1、數(shù)據(jù)決定了算法的能力上限

數(shù)據(jù)決定了模型能夠達(dá)到的上限,而算法只是逼近這個極限

1.8.2、特征工程

統(tǒng)計時也可以有多種維度,這些統(tǒng)計維度就是前面所介紹的組成一條樣本數(shù)據(jù)的多個特征

機(jī)器學(xué)習(xí)模型正式從這些特征中進(jìn)行學(xué)習(xí),特征有多少價值,機(jī)器才能學(xué)多少價值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容