機器學習基礎--一些基本的概念

前言

開始從新鞏固一下機器學習的內容,先從基本的一些概念和定義開始。git

本文介紹的內容以下所示:github

  1. 機器學習的基本定義
  2. 局部最優和全局最優
  3. 機器學習、深度學習、數據挖掘、大數據之間的關係
  4. 爲何要使用機器學習

1. 機器學習的基本定義

機器學習算法是一種可以從數據中學習的算法。那麼這裏的學習的定義是什麼呢?這裏有一個簡單的定義:算法

對於某類任務 T 和性能度量 P,一個計算機程序經過經驗 E 改進後,在任務 T 上由性能度量 P 衡量的性能有所提高,這稱爲學習。編程

舉例來講這個定義,好比對於圖像分類這個任務,通常的性能度量 P 就是分類的準確率,而經驗 E 其實就是圖片數據集,當咱們採用的算法,好比 CNN,在給定的訓練集上訓練後,而後在測試集上的準確率有所提高,這就是學習了。網絡

這裏的任務 T、經驗 E 和性能 P 其實指代的內容很是的多,這裏簡單的介紹一下。框架

首先,對於任務 T,在機器學習領域裏,能夠是這些方向的任務:dom

  • 分類:在該任務中計算機程序須要判斷輸入數據是屬於給的 k 類中的哪一類,最多見的就是人臉識別,也是圖像分類的一個子方向,另外還有語音識別、文本識別等;機器學習

  • 迴歸:在該任務中須要對給定的輸入預測數值,好比預測房價或者證券將來的價格等;函數

  • 轉錄:將一些相對非結構化表示的數據,轉錄爲離散的文本形式。好比 OCR(光學字符識別)、語音識別等;工具

  • 機器翻譯:將一種語言的序列轉化爲另外一種語言。好比英語翻譯爲中文;

  • 異常檢測:查找不正常或者非典型的個體;

  • 去噪

  • 等等

對於性能度量 P,在不一樣的任務中會採用不一樣的性能指標,好比:

  • 準確率和錯誤率
  • 召回率、精準率、F1
  • ROC 和 AUC
  • 均方偏差(MSE)、均方根偏差(RMSE)
  • 交併比 IoU

而經驗 E,通常就是指數據集了,不一樣的任務對數據集的要求也不同,好比圖片分類通常就是圖片和圖片的標籤,但目標檢測、圖像分割,須要的除了圖片、標籤,有的還須要圖片中物體的標註框或者座標信息等。

2. 局部最優和全局最優

優化問題通常分爲局部最優和全局最優。其中,

  1. 局部最優,就是在函數值空間的一個有限區域內尋找最小值;而全局最優,是在函數值空間整個區域尋找最小值問題。
  2. 函數局部最小點是它的函數值小於或等於附近點的點,可是有可能大於較遠距離的點。
  3. 全局最小點是那種它的函數值小於或等於全部的可行點。

2.1 如何區分局部最小點和鞍點

參考知乎回答:

一般一階導數爲 0 的點稱爲穩定點,能夠分爲三類:

  • 局部最小點
  • 局部最大點
  • 鞍點

鞍點以下所示:

通常區分鞍點和局部最優的方法是使用神經網絡 loss surface 的 Hessian 矩陣,經過計算 Hessian 矩陣的特徵值,進行判斷:

  • 當 Hessian 矩陣的特徵值有正有負的時候,神經網絡的一階導數爲 0 的點是鞍點
  • 當 Hessian 矩陣的特徵值是非負的時候,神經網絡的一階導數爲 0 的點是局部極小值點
  • 當 Hessian 矩陣最小特徵值小於零,則爲嚴格鞍點(包含了局部最大)

根據文章:Geometry of Neural Network Loss Surfaces via Random Matrix Theory,能夠看到神經網絡的 Hessian 矩陣的特徵值分佈以下:

其中 $\phi$ 表示參數數目和數據量之比,其值越大表示數量相對較少,$\lambda$ 是特徵值,$\epsilon$ 表示 loss 值,因此從上圖能夠獲得:

  • 當 loss 很大的時候,特徵值有正有負,代表鞍點是困擾優化的主要緣由
  • 當 loss 很小的時候,特徵值慢慢都是非負數,也就是說這個時候基本是局部最小點

另一種判斷是不是鞍點的方法:若某個一階導數爲0的點在至少一個方向上的二階導數小於0,那它就是鞍點

最優勢和鞍點的區別在於其在各個維度是否都是最低點

只要某個一階導數爲0的點在某個維度上是最高點而不是最低點,那它就是鞍點。而區分最高點和最低點固然就是用二階導數,斜率從負變正的過程固然就是「下凸」,即斜率的導數大於0,即二階導數大於0。反之則爲「上凹」,二階導數小於0。

2.2 如何避免陷入局部最小值或者鞍點

實際上,咱們並不須要懼怕陷入局部最小值,緣由有這幾個:

  • 第一個,很直觀的解釋來自於上面特徵值的分佈信息:當loss很小的時候,咱們纔會遇到局部最小值問題,也就是說這時候的loss已經足夠小,咱們對這時候的loss已經足夠滿意了,不太須要花更大力氣去找全局最優值

  • 第二個,在必定假設條件下,不少研究代表深度學習中局部最小值很接近於全局最小值

另外,根據https://www.zhihu.com/question/68109802的回答:

實際上咱們可能並無找到過」局部最優「,更別說全局最優了;

」局部最優是神經網絡優化的主要難點「,這實際上是來自於一維優化問題的直觀想象,單變量的狀況下,優化問題最直觀的困難就是有不少局部極值。但在多變量的狀況下,就不必定能找到局部最優了;

而對於鞍點,逃離鞍點的作法有這幾種:

  1. 利用嚴格鞍點負特徵值對應的方向,採用矩陣向量乘積的形式找到降低方向;
  2. 利用擾動梯度方法逃離鞍點,在梯度的模小於某個數的時候,在梯度上加個動量。

3. 機器學習、深度學習、數據挖掘、大數據之間的關係

首先來看這四者簡單的定義:

  • 大數據一般被定義爲「超出經常使用軟件工具捕獲,管理和處理能力」的數據集,通常是在數據量、數據速度和數據類別三個維度上都大的問題。
  • 機器學習關心的問題是如何構建計算機程序使用經驗自動改進。
  • 數據挖掘是從數據中提取模式的特定算法的應用,在數據挖掘中,重點在於算法的應用,而不是算法自己。
  • 深度學習是機器學習的一個子類,通常特指學習層數較高的網絡結構,這個結構一般會結合線性和非線性的關係。

關於這四個的關係,能夠以下圖所示:

機器學習和數據挖掘之間的關係以下:

數據挖掘是一個過程,在此過程當中機器學習算法被用做提取數據集中的潛在有價值模式的工具。

大數據與深度學習關係總結以下:

(1)深度學習是一種模擬大腦的行爲。能夠從所學習對象的機制以及行爲等等不少相關聯的方面進行學習,模仿類型行爲以及思惟。

(2)深度學習對於大數據的發展有幫助。深度學習對於大數據技術開發的每個階段均有幫助,不論是數據的分析仍是挖掘仍是建模,只有深度學習,這些工做纔會有可能一一獲得實現。

(3)深度學習轉變了解決問題的思惟。不少時候發現問題到解決問題,走一步看一步不是一個主要的解決問題的方式了,在深度學習的基礎上,要求咱們從開始到最後都要基於一個目標,爲了須要優化的那個最終目標去進行處理數據以及將數據放入到數據應用平臺上去,這就是端到端(End to End)。

(4)大數據的深度學習須要一個框架。在大數據方面的深度學習都是從基礎的角度出發的,深度學習須要一個框架或者一個系統。總而言之,將你的大數據經過深度分析變爲現實,這就是深度學習和大數據的最直接關係。

機器學習和深度學習的關係:

  • 深度學習是機器學習的一個子類,是機器學習的一類算法,相比傳統的機器學習方法,深度學習有這幾個特色:
    • 對硬件要求更高。常常須要 GPU 才能快速完成任務,單純用 CPU 執行任務,那耗時是很是的驚人;
    • 對數據量要求更高。傳統的機器學習通常可能只須要幾百上千的數據量,可是對於深度學習的任務,至少也須要上萬甚至幾百萬數據量,不然很容易過擬合;
    • 具備更強的特徵提取能力。深度學習能夠從數據中學習到不一樣等級的特徵,從低級的邊緣特徵,到高級的語義特徵,這也是愈來愈多的機器學習方向都採用深度學習算法來解決問題的一個緣由,性能更增強;
    • 可解釋性差。由於抽象層次較高,因此深度學習也常常被稱爲是一個黑匣子。
  • 機器學習的核心是數學,是用一個數學模型,而後輸入數據來調節數學模型的參數,從而讓數學模型能夠解決特定的某類問題。簡單說就是但願訓練獲得一個能夠解決特定問題的數學函數。

4. 爲何要使用機器學習

緣由以下:

  • 須要進行大量手工調整或須要擁有長串規則才能解決的問題:機器學習算法一般能夠簡化代碼、提升性能
  • 問題複雜,傳統方法難以解決:最好的機器學習方法能夠找到解決方案。
  • 環境有波動:機器學習算法能夠適應新數據
  • 洞察複雜問題和大量數據

一些機器學習的應用例子:

  • 數據挖掘
  • 一些沒法經過手動編程來編寫的應用:如天然語言處理,計算機視覺
  • 一些自助式的程序:如推薦系統
  • 理解人類是如何學習的

參考

  1. 《深度學習》
  2. 深度學習 500 問--https://github.com/scutan90/DeepLearning-500-questions
  3. 《hands-on-ml-with-sklearn-and-tf》
  4. https://www.zhihu.com/question/68109802
  5. https://www.zhihu.com/question/358632429/answer/919562000
  6. https://www.zhihu.com/question/68109802/answer/263503269

歡迎關注個人公衆號--AI算法筆記,查看更多的算法、論文筆記。

在這裏插入圖片描述

相關文章
相關標籤/搜索