開始從新鞏固一下機器學習的內容,先從基本的一些概念和定義開始。git
本文介紹的內容以下所示:github
機器學習算法是一種可以從數據中學習的算法。那麼這裏的學習的定義是什麼呢?這裏有一個簡單的定義:算法
對於某類任務 T 和性能度量 P,一個計算機程序經過經驗 E 改進後,在任務 T 上由性能度量 P 衡量的性能有所提高,這稱爲學習。編程
舉例來講這個定義,好比對於圖像分類這個任務,通常的性能度量 P 就是分類的準確率,而經驗 E 其實就是圖片數據集,當咱們採用的算法,好比 CNN,在給定的訓練集上訓練後,而後在測試集上的準確率有所提高,這就是學習了。網絡
這裏的任務 T、經驗 E 和性能 P 其實指代的內容很是的多,這裏簡單的介紹一下。框架
首先,對於任務 T,在機器學習領域裏,能夠是這些方向的任務:dom
分類:在該任務中計算機程序須要判斷輸入數據是屬於給的 k 類中的哪一類,最多見的就是人臉識別,也是圖像分類的一個子方向,另外還有語音識別、文本識別等;機器學習
迴歸:在該任務中須要對給定的輸入預測數值,好比預測房價或者證券將來的價格等;函數
轉錄:將一些相對非結構化表示的數據,轉錄爲離散的文本形式。好比 OCR(光學字符識別)、語音識別等;工具
機器翻譯:將一種語言的序列轉化爲另外一種語言。好比英語翻譯爲中文;
異常檢測:查找不正常或者非典型的個體;
去噪
等等
對於性能度量 P,在不一樣的任務中會採用不一樣的性能指標,好比:
而經驗 E,通常就是指數據集了,不一樣的任務對數據集的要求也不同,好比圖片分類通常就是圖片和圖片的標籤,但目標檢測、圖像分割,須要的除了圖片、標籤,有的還須要圖片中物體的標註框或者座標信息等。
優化問題通常分爲局部最優和全局最優。其中,
參考知乎回答:
一般一階導數爲 0 的點稱爲穩定點,能夠分爲三類:
鞍點以下所示:
通常區分鞍點和局部最優的方法是使用神經網絡 loss surface 的 Hessian 矩陣,經過計算 Hessian 矩陣的特徵值,進行判斷:
根據文章:Geometry of Neural Network Loss Surfaces via Random Matrix Theory,能夠看到神經網絡的 Hessian 矩陣的特徵值分佈以下:
其中 $\phi$ 表示參數數目和數據量之比,其值越大表示數量相對較少,$\lambda$ 是特徵值,$\epsilon$ 表示 loss 值,因此從上圖能夠獲得:
另一種判斷是不是鞍點的方法:若某個一階導數爲0的點在至少一個方向上的二階導數小於0,那它就是鞍點。
最優勢和鞍點的區別在於其在各個維度是否都是最低點。
只要某個一階導數爲0的點在某個維度上是最高點而不是最低點,那它就是鞍點。而區分最高點和最低點固然就是用二階導數,斜率從負變正的過程固然就是「下凸」,即斜率的導數大於0,即二階導數大於0。反之則爲「上凹」,二階導數小於0。
實際上,咱們並不須要懼怕陷入局部最小值,緣由有這幾個:
第一個,很直觀的解釋來自於上面特徵值的分佈信息:當loss很小的時候,咱們纔會遇到局部最小值問題,也就是說這時候的loss已經足夠小,咱們對這時候的loss已經足夠滿意了,不太須要花更大力氣去找全局最優值。
第二個,在必定假設條件下,不少研究代表深度學習中局部最小值很接近於全局最小值。
另外,根據https://www.zhihu.com/question/68109802的回答:
實際上咱們可能並無找到過」局部最優「,更別說全局最優了;
」局部最優是神經網絡優化的主要難點「,這實際上是來自於一維優化問題的直觀想象,單變量的狀況下,優化問題最直觀的困難就是有不少局部極值。但在多變量的狀況下,就不必定能找到局部最優了;
而對於鞍點,逃離鞍點的作法有這幾種:
首先來看這四者簡單的定義:
關於這四個的關係,能夠以下圖所示:
機器學習和數據挖掘之間的關係以下:
數據挖掘是一個過程,在此過程當中機器學習算法被用做提取數據集中的潛在有價值模式的工具。
大數據與深度學習關係總結以下:
(1)深度學習是一種模擬大腦的行爲。能夠從所學習對象的機制以及行爲等等不少相關聯的方面進行學習,模仿類型行爲以及思惟。
(2)深度學習對於大數據的發展有幫助。深度學習對於大數據技術開發的每個階段均有幫助,不論是數據的分析仍是挖掘仍是建模,只有深度學習,這些工做纔會有可能一一獲得實現。
(3)深度學習轉變了解決問題的思惟。不少時候發現問題到解決問題,走一步看一步不是一個主要的解決問題的方式了,在深度學習的基礎上,要求咱們從開始到最後都要基於一個目標,爲了須要優化的那個最終目標去進行處理數據以及將數據放入到數據應用平臺上去,這就是端到端(End to End)。
(4)大數據的深度學習須要一個框架。在大數據方面的深度學習都是從基礎的角度出發的,深度學習須要一個框架或者一個系統。總而言之,將你的大數據經過深度分析變爲現實,這就是深度學習和大數據的最直接關係。
機器學習和深度學習的關係:
緣由以下:
一些機器學習的應用例子:
歡迎關注個人公衆號--AI算法筆記,查看更多的算法、論文筆記。