1. 程式人生 > >機器學習公開課筆記(1):機器學習簡介及一元線性迴歸

機器學習公開課筆記(1):機器學習簡介及一元線性迴歸

初步介紹

監督式學習: 給定資料集並且知道其正確的輸出應該是怎麼樣的,即有反饋(feedback),分為

  • 迴歸 (Regressioin): map輸入到連續的輸出值。
  • 分類 (Classification):map輸出到離散的輸出值。

非監督式學習: 給定資料集,並不知道其正確的輸出是什麼,沒有反饋,分為

  • 聚類(Clustering): Examples: Google News, Computer Clustering, Markert Segmentation.
  • 關聯(Associative):Examples: 根據病人特徵估算其病症.

一元線性迴歸

假設(Hypothesis):$h_\theta(x)=\theta_0+\theta_1 x$

引數(Parameters):$\theta_0, \theta_1$

代價函式(Cost Function):$J(\theta_0, \theta_1) = \frac{1}{2m}\sum\limits_{i=1}^{m}\left(h_\theta(x^{(i)}) - y^{(i)}\right)^2$,最小二乘法

目標函式(Goal): $\min\limits_{\theta_0, \theta_1}J(\theta_0, \theta_1)$

梯度下降演算法(Gradient descent)

基本思想:

  • 初始化$\theta_0, \theta_1$
  • 調整$\theta_0, \theta_1$直到$J(\theta_0, \theta_1)$達到最小值, 更新公式($\theta_j = \theta_j - \alpha\frac{\partial}{\partial \theta_j}J(\theta_0, \theta_1)$)

對於一元線性迴歸問題,對$J(\theta_0, \theta_1)$求偏導數可得
$$\frac{\partial J}{\partial \theta_0} = \frac{1}{2m}\sum\limits_{i=1}^{m}2\times\left(\theta_0 + \theta_1x^{(i)} - y^{(i)} \right) = \frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)$$
$$\frac{\partial J}{\partial \theta_1} = \frac{1}{2m}\sum\limits_{i=1}^{m}2\times\left(\theta_0 + \theta_1x^{(i)} - y^{(i)} \right)x^{(i)} = \frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)x^{(i)}$$
從而引數$\theta_0, \theta_1$的更新公式為
$$\theta_0 = \theta_0 - \alpha\frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)$$
$$\theta_1 = \theta_1 - \alpha\frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)x^{(i)}$$
其中$\alpha$稱為學習速率(learning rate),如果其太小,則演算法收斂速度太慢;反之,如果太大,則演算法可能會錯過最小值,甚至不收斂。另一個需要注意的問題是,上面$\theta_0, \theta_1$的更新公式用到了資料集的全部資料 (稱為“Batch” Gradient Descent),這意味著對於每一次 update ,我們必須掃描整個資料集,會導致更新速度過慢。

線性代數複習

  • 矩陣和向量定義
  • 矩陣加法和數乘
  • 矩陣-向量乘積
  • 矩陣-矩陣乘積
  • 矩陣乘法的性質:結合律,交換律不成立
  • 矩陣的逆和轉置:不存在逆元的矩陣稱為“奇異(singular)矩陣”

參考文獻

[1] Andrew Ng Coursera 公開課第一週

相關推薦

機器學習開課筆記(1)機器學習簡介一元線性迴歸

初步介紹 監督式學習: 給定資料集並且知道其正確的輸出應該是怎麼樣的,即有反饋(feedback),分為 迴歸 (Regressioin): map輸入到連續的輸出值。 分類 (Classification):map輸出到離散的輸出值。 非監督式學習: 給定資料集,並不知道其正確的輸出是什麼,

廣義線性模型 - Andrew Ng機器學習開課筆記1.6

sans luci art 能夠 tro ron 便是 import grand 在分類問題中我們如果: 他們都是廣義線性模型中的一個樣例,在理解廣義線性模型之前須要先理解指數分布族。 指數分

機器學習開課筆記(8)k-means聚類和PCA降維

K-Means演算法 非監督式學習對一組無標籤的資料試圖發現其內在的結構,主要用途包括: 市場劃分(Market Segmentation) 社交網路分析(Social Network Analysis) 管理計算機叢集(Organize Computer Clusters) 天文學資料分析(A

機器學習開課筆記(7)支援向量機

支援向量機(Support Vector Machine, SVM) 考慮logistic迴歸,對於$y=1$的資料,我們希望其$h_\theta(x) \approx 1$,相應的$\theta^Tx \gg 0$; 對於$y=0$的資料,我們希望$h_\theta(x) \approx 0$,相應的$\

機器學習開課筆記(6)應用機器學習的建議

應用機器學習的建議 1. 評估學習演算法 在實際中應用學習演算法時,如何評估一個學習演算法的好壞?進一步地,如果學習的演算法的效果不太好,如何改進學習演算法?例如,對於一個簡單的線性擬合模型,改進演算法效果的策略包括: 採用更多的訓練例項訓練模型 採用更小的特徵集合 增加額外的特徵 嘗試高次項

機器學習開課筆記(10)大規模機器學習

批梯度下降 (Batch Gradient Descent) 以線性迴歸為例,用梯度下降演算法進行引數更新的公式為$$\theta_j=\theta_j-\alpha\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$$可

機器學習開課筆記(9)異常檢測和推薦系統

異常檢測(Anomaly Detection) 基本假設:多數情況下資料點落入正常的取值範圍,但是當異常行為發生時,資料點的取值落入正常取值範圍之外(如圖1所示)。所以可以利用高斯分佈,計算行為發生的概率,如果是概率小於給定閾值,則認為發生了異常行為。基本過程是利用訓練資料點建立模型$p(x)$,對於新的資

機器學習開課筆記(5)神經網路(Neural Network)——學習

這一章可能是Andrew Ng講得最不清楚的一章,為什麼這麼說呢?這一章主要講後向傳播(Backpropagration, BP)演算法,Ng花了一大半的時間在講如何計算誤差項$\delta$,如何計算$\Delta$的矩陣,以及如何用Matlab去實現後向傳播,然而最關鍵的問題——為什麼要這麼計算?前面計算

機器學習開課筆記(2)多元線性迴歸

多元線性迴歸 一元線性迴歸只有一個特徵$x$,而多元線性迴歸可以有多個特徵$x_1, x_2, \ldots, x_n$ 假設 (Hypothesis):$h_\theta(x)=\theta^Tx=\theta_0x_0+\theta_1x_1+\ldots+\theta_nx_n$ 引數 (Para

機器學習開課筆記(4)神經網路(Neural Network)——表示

動機(Motivation) 對於非線性分類問題,如果用多元線性迴歸進行分類,需要構造許多高次項,導致特徵特多學習引數過多,從而複雜度太高。 神經網路(Neural Network) 一個簡單的神經網路如下圖所示,每一個圓圈表示一個神經元,每個神經元接收上一層神經元的輸出作為其輸入,同時其輸出訊號到下一

斯坦福機器學習網易開課筆記1

之前在coursera上看了Andrew Ng的機器學習課程,那個課程比較簡明,適合對機器學習有一個整體的印象,但是很多細節的內容和推導都忽略了。現在想要了解機器學習更多,所以開始看Andrew Ng在網易公開課上的機器學習課程,並對每一講整理筆記,以促使自己更好的理解和記

機器學習開課筆記第九周之大數據梯度下降算法

機器學習 nbsp gradient min 三種 依次 再看 獲得 mini 一,隨機梯度下降法(Stochastic Gradient Descent) 當訓練集很大且使用普通梯度下降法(Batch Gradient Descent)時,因為每一次\(\theta\)

斯坦福機器學習開課筆記 十三 推薦系統

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                授課老師:Andrew Ng1、problem formulation(問題產生)在平時購物的時候我們都會看到網站把向我們推薦的商品放在醒目位置,其實這就是推薦

機器學習筆記1機器學習定義與分類

機器學習定義與分類 Andrew Ng機器學習課程學習筆記1 定義 Arthur Samuel (1959) Machine Learning: Field of study that gives computers the ability to l

【Andrew NG 機器學習開課】CS229Introduction、Linear Regression

這份筆記來源於Andrew NG在Coursera上的公開課和講義。 Introduction 機器學習問題 (一)有監督學習(Supervised Learning) 基本思想是:given the right answer for each example i

斯坦福機器學習開課筆記(十五)--[應用]照片OCR技術

1、problem description and pipeline(問題描述和流水線) OCR是optical character recognition的縮寫,翻譯過來就是光學字元辨識。照片中的OCR技術其實就是識別中照片中存在的字元,例如下面這幅圖: 關於過程

斯坦福機器學習開課筆記(十三)--推薦系統

授課老師:Andrew Ng 1、problem formulation(問題產生) 在平時購物的時候我們都會看到網站把向我們推薦的商品放在醒目位置,其實這就是推薦系統。現在考慮一個電影推薦系統的例子,我們擁有一些使用者對於一些電影的評分,如下: 從上面可以看到,使

機器學習筆記1機器學習的動機與應用

目標:機器學習有意義;機器學習的應用;所有人有能力進行機器學習的研究。 預備知識:隊、列、二叉樹、線性代數 預備軟體:Octave、Matlab 機器學習:1959年由Arthur提出:在不直接對對問題賦予計算機學習能力的一個領域。寫一個下棋,和自己下棋,程式自己和自己

斯坦福機器學習開課筆記(一)--單變數線性迴歸

授課老師:Andrew Ng 1、model representation(建立模型) 考慮一個問題,如果給定一些房屋售價和房屋面積的資料,現在要預測給定其他面積時的房屋售價,那該怎麼辦?其實這是一個線性迴歸問題,給定的資料作為訓練樣本,用其訓練得到一個表示售價和麵積關

Git學習筆記1版本管理歷史Git安裝

1.集中式VCS / SVN 有集中的版本管理伺服器,具備檔案管理和分支管理,提高整合效率,但是客戶端必須時刻與伺服器端相互連線。 2.分散式的VCS 客戶端和服務端都有完整的版本庫,即使脫離了服務端,客戶端依然可以進行版本管理,在檢視歷史和版本等操作時都不需要訪問伺服器,相比較集中式,