1. 程式人生 > >Machine Learning 1-線性迴歸演算法分析

Machine Learning 1-線性迴歸演算法分析


AI人工智慧時代,機器學習,深度學習作為其核心,本文主要介紹機器學習的基礎演算法,以詳細線介紹

線性迴歸演算法

及其

數學原理

探究,做到知其然知其所以然,打好理論基礎。

目錄

機器學習及人工智慧

機器學習分類

有監督學習

無監督學習

線性迴歸演算法

線性迴歸

代價函式

數學模型

最小二乘法

演算法介紹

數學原理

高斯分佈

演算法侷限性

梯度下降演算法

方向導數

梯度

數學原理

單元演算法實現

多元演算法實現

矩陣跡演算法

隨機梯度下降演算法

高斯-牛頓法

泰勒級數展開

Hesse矩陣

數學原理

演算法侷限性

總結

1機器學習及人工智慧



開門見山,上圖簡單而直觀的表明了人工智慧,機器學習,深度學習的關係及區別,人工智慧範疇最廣,機器學習,深度學習逐步縮小;其實機器學習與深度學習可以看作人工智慧的內部模型提煉過程,人工智慧則是對外部的智慧反應。

人工智慧

人工智慧(Artificial Intelligence),學術定義為用於研究,模擬及擴充套件人的智慧應用科學;AI在計算機領域研究涉及機器人,語言識別,影象識別,自然語言處理等。AI的研究會橫跨多門學科,如計算機,數學,生物,語言,聲音,視覺甚至心理學和哲學。

其中AI的核心是做到感知,推斷,行動及根據經驗值進行調整,即類似人類的智慧體智慧學習提升。

深度學習


深度學習則泛指深度神經網路學習,如卷積神經網路(Convolutional Neural Nets,CNN),把普通神經網路從3-4層昇華到8-10層從而獲取更精準模型,其應用如影象視訊識別等。

人工智慧,神經網路並非什麼新鮮事物,早在20-30年前就已經誕生,而深度學習則藉助因網際網路而誕生的大資料,及近些年發展的強大運算能力(圖形處理GPU)而大放光彩,甚至推動引爆了新一代的人工智慧。

機器學習

機器學習的學究的定義為“計算機程式如何隨著經驗積累自動提高效能”,經典英文定義為

“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”,即“對於某類任務T和效能度量P,如果一個計算機程式在T上以P衡量的效能隨著經驗E而自我完善,那麼我們稱這個計算機程式在從經驗E學習”, 通俗點說既是讓機器來模擬人類來學習新的知識與技能,重點是不是通過某精妙演算法而達成,而是讓程式去通過學習發現提高,舉一反三, 正所謂授之以魚不如授之以漁。

機器學習分類

機器學習在學習的方法廣義上分為有監督學習與無監督學習。


有監督學習(Supervised Learning)

監督學習,通常對具有標記分類的訓練樣本特徵進行學習,標記即已經知道其對應正確分類答案;而學習則本質是找到特徵與標籤(正確答案)之間的關係(函式),從而當訓練結束,輸入無標籤的資料時,可以利用已經找出的關係方法進行分析得出資料標籤。

監督學習類似我們在學校的學習,通常的題目都會有“正確答案”,以便於我們每學期學習結束(訓練),參加未知的考試作為檢驗。



上圖為監督學習的模型及流程:

獲取資料並確定所處理資料型別

確定並提取訓練資料集的特徵(feature)

選擇機器學習方法如向量機或決策樹

獲取最終機器模型

對機器學習模型進行評估

監督學習方法及用途

常用的監督機器學習方法有如人工神經網路,決策樹,傳統貝葉斯分類器,支撐向量機(SVM)等。

監督學習的主要用途通常用來進行樣本分類與迴歸(找到最為接近的函式用於預測),而又根據其輸出結果連續還是離散分為迴歸分析(Regression)與分類(Classification)。

無監督學習(Unsupervised Learning)

反之,無監督學習則通常學習資料只有特徵向量,沒有標籤(答案),學習模型通過學習特徵向量發現其內部規律與性質,從而把資料分組聚類(Clustering)。

無監督學習更類似我們的真實世界,去探索發現一些規律及分類。

舉個例子,如果把監督學習看作未成年時在家長及老師的“監督”下做告知正確的事,則無監督學習就是成年後踏入社會,自己去探索,發現,適應社會了。

無監督學習方法及用途

常用的無監督學習方法有: K-Means, 層次化聚類(Hierarchical Clustering),社交網路分析,一些資料探勘演算法等。

無監督學習的用途則主要用來在未知(無標籤)資料中發現相似或者隱藏結構並進行聚類(Clustering),或者發現數據對應輸入空間的分佈之密度估計等。

當然對於資料樣本介於無標記及部分標記之間,這種機器學習則被稱為半監督學習(semi-supervised learning),我們暫不介紹。

3線性迴歸演算法

上文提到了一些常用的機器學習演算法,我們來看一下學習演算法的概覽分類圖:



總體來說,機器學習中的迴歸演算法的本質是通過對樣本資料的收集,給出假設的函式模型,而此函式包含未知引數,機器學習的過程就是解方程或者找到最優解,當驗證通過後,從而可以用該函式去預測測試新資料。

線性迴歸

迴歸,統計學術語,表示變數之間的某種數量依存關係,並由此引出迴歸方程,迴歸係數。

線性迴歸(Linear Regression),數理統計中迴歸分析,用來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,其表達形式為y = w'x+e,e為誤差服從均值為0的正態分佈,其中只有一個自變數的情況稱為簡單迴歸,多個自變數的情況叫多元迴歸。