1. 程式人生 > >吳恩達機器學習課程筆記——第二週

吳恩達機器學習課程筆記——第二週

1. 多變數線性迴歸(Linear Regression with Multiple Variables)

也稱為多元線性迴歸,一元就是一個變數,多元就是多個變數,在這裡也可以叫做多個特徵

1.1 多維特徵(Multiple Features)

之前,我們討論過單變數/特徵的迴歸模型,但是單變數並不足以精確地預測房價,因此,我們需要對房價模型增加更多的特徵,例如房間數樓層等,構成一個含有多個變數的模型。

多特徵資料

現在需要引入新的註釋來建立和解釋新的模型↓

符號 意義
i 特徵矩陣中的第 i 行
j 特徵矩陣中第 i 行的第 j 個特徵
m 訓練樣本的數量
n 特徵的數量

新模型的註釋

在我們引入了新的特徵之後,原來的那一條公式失去了作用,取而代之的是一條新的公式

多變數線性迴歸公式表達1

多變數線性迴歸公式表達2

多變數線性迴歸方程:

hθ(x)=θ0+θ1x1+θ2x2+...+θnxn

2. 多變數梯度下降(Gradient Descent for Multiple Variables)

2.1 代價函式

J(θ0,θ1...θn)=12mi=1m(hθ(x(i))y(i))2

2.2 批量梯度下降演算法

原公式:

θj:=θjαθjJ(θ0,θ1)

經過修改,得到現在的公式:

θj:=θjαθjJ(θ0,θ
1
...θn)

代入多變量回歸公式,得:

θj:=θjαθj12mi=1m(hθ(x(i))y(i))2

求導後得到批量梯度下降演算法

θj:=θjα1mi=1m((hθ(x(i))y(i))x(i)j

2.3 梯度下降法實踐 1-特徵縮放(Feature Scaling)

在我們面對多維特徵問題的時候,我們要保證這些特徵都具有相近的尺度,這將幫助梯度下降演算法更快地收斂。

在以下影象中,我們就可以發現,圖片非常地橢圓,這種橢圓使得我們在梯度下降的時候需要非常多次的迭代才能收斂。

迭代影象

因此我們需要特徵縮放去解決這個問題,它將所有的特徵尺度都儘量==縮放到-1到1之間==,太大或者太小都不好,如下圖

特徵縮放

2.3.1 特徵均值歸一化(mean normalization):

xi=xiμisi
符號 含義 計算方法 python(matlab)函式 引數解釋
x_i 特徵
μ_i 平均值 同一個x_n相加求再除以同一個x_n的數量 python:mean(x,axis=0) matlab:mean(x) x:資料集,axit:軸,為0計算每一列,為1計算每一行
s_i 標準差 標準差公式,也可以簡單的使用最大值減去最小值 std(x) 方法同上

2.4 梯度下降法實踐 2-設定梯度下降法迭代次數(Debugging)

代價函式會隨著迭代次數的下降而收斂,不同的迭代演算法需要不同的迭代次數,有的可能需要30次,而有的可能則需要300萬次
梯度下降法迭代次數

我們要判斷代價函式是否收斂有兩個方法
1. 看代價函式的曲線變化
2. 自動收斂測試

當下降幅度少於一個θ值的時候(θ值自己取),則可以看作代價函式收斂

自動收斂測試

但是一般而言,θ值是比較難確定的,最好還是自己通過影象去判斷是否達到了收斂的程度

2.5 梯度下降法實踐 3-學習率(Learning Rate)

2.5.1 學習率α過大

通常,隨著迭代次數的增加,代價函式應該是逐步下降的,但是當你看到代價函式的值增加的時候,很可能學習率過大所導致的,學習率過大使得函式錯過了最低點

學習率過大圖示1

學習率過大圖示2

2.5.2 學習率α過小

學習率過大會有問題,那麼過小了,也會造成問題,如下圖的藍色畫筆所畫,當學習率過小,學習速度就會很慢,需要更多的迭代次數才能迭代到最低點

學習率過小圖示

2.5.3 如何選取學習率

在選取學習率的時候,我們通常都需要設定多個學習率進行測試,學習率之間的倍數通常是3倍和10倍,通過測試,我們就可以找到最好的那一個學習率

學習率選取

3. 特徵與多項式迴歸(Features and Polynomial Regression)

首先我們來舉一個例子:房價預測

房價預測

符號 含義
x1 frontage(臨街寬度)
x2 depth(縱向寬度)
x area(面積)

由此,我們可以建立一個初步的模型

hθ(x)=θ0+θ1x
但是這個線性迴歸並不能很好的擬合我們的資料,因此我們需要一些改變(曲線)更好地擬合數據,比如一個二次方模型
hθ(x)=θ0+θ1x+θ2x2
如下圖

二次方模型

但是我們發現,二次方模型依然不能很好地擬合數據,因為它會隨著Size的增加而下降,房價可不會因為房子面積的增加而下降,因此,我們需要一個三次方模型:

hθ(x)=θ0+θ1x+θ2x2+θ3x3

三次方模型

這樣子,就可以比較好地擬合我們的資料

接下來,我們通過以下方法,將多項式迴歸轉變為多元線性迴歸方程

hθ(x)=

相關推薦

機器學習課程筆記——第二

1. 多變數線性迴歸(Linear Regression with Multiple Variables) 也稱為多元線性迴歸,一元就是一個變數,多元就是多個變數,在這裡也可以叫做多個特徵 1.1 多維特徵(Multiple Features) 之前,

機器學習課程筆記——第一

1. 單變數線性迴歸(Linear Regression with One Variable) 1.1 模型表示 像上述公式,因為只含有一個特徵/輸入變數,因此這樣的問題叫作單變數線性迴歸問題。 例子如下: 單變數線性方程,就是我們初中就學的

機器學習課程筆記02——處理房價預測問題(梯度下降演算法詳解)

  建議記住的實用符號 符號 含義 m 樣本數目 x 輸入變數 y 輸出變數/目標變數

機器學習課程筆記章節二單變數線性迴歸

1、模型描述 Univariate(One variable)Linear Regression m=訓練樣本的數目,x's=輸入的變數/特徵,y's=輸出變數/目標變數 2、代價函式 基本定義: 3、代價函式(一) 回顧一下,前面一些定義: 簡化的假設函式,theta0=0,得到假

機器學習 課程筆記第五

Costfunction代價函式:在前面的課程總我們瞭解了邏輯迴歸的代價函式:在神經網路中,我們增加了對k個輸出的誤差進行了求和。得到代價函式如下:K為輸出的個數,在正則項中L表示神經網路的層數Backpropagation algorithm反向傳播演算法:當我們進行梯度下

Coursera 斯坦福機器學習課程筆記 (1)

看了課程一週後發現忘光了,決定做一個筆記用作複習。如果涉及到侵權問題請聯絡我,我會立馬刪除並道歉。同時,禁止任何形式的轉載,包括全文轉載和部分轉載。如需使用請聯絡本人 [email protected]。如若發現侵權行為,我學過智慧財產權法的,嘿嘿第一週:基礎概念和

Coursera機器學習課程 總結筆記及作業程式碼——第5周神經網路續

Neural Networks:Learning 上週的課程學習了神經網路正向傳播演算法,這周的課程主要在於神經網路的反向更新過程。 1.1 Cost function 我們先回憶一下邏輯迴歸的價值函式 J(θ)=1m[∑mi=1y(i)log(hθ

Coursera機器學習課程 總結筆記及作業程式碼——第1,2周

Linear’regression 發現這個教程是最入門的一個教程了,老師講的很好,也很通俗,每堂課後面還有程式設計作業,全程用matlab程式設計,只需要填寫核心程式碼,很適合自學。 1.1 Model representation 起始給出了

Coursera機器學習課程 總結筆記及作業程式碼——第6周有關機器學習的小建議

1.1 Deciding what to try next 當你除錯你的學習演算法時,當面對測試集你的演算法效果不佳時,你會怎麼做呢? 獲得更多的訓練樣本? 嘗試更少的特徵? 嘗試獲取附加的特徵? 嘗試增加多項式的特徵? 嘗試增加λ? 嘗試減小λ?

機器學習筆記--機器學習課程2

梯度下降法 對於梯度下降法而言,當偏導數 的學習效率過大或過小時,收斂的速率會變得很緩慢,α過大時甚至會無法收斂。學習效率α是一個正數。 同樣梯度下降法初始點在區域性最低點時同樣不會再更新,此時偏導數的值為0.

學習筆記——-機器學習課程-1.3 用神經網路進行監督學習

         神經網路有時媒體炒作的很厲害,考慮到它們的使用效果,有些說法還是靠譜的,事實上到目前為止,幾乎所有的神經網路創造的經濟價值都基於其中一種機器學習,我們稱之為“監督學習”,那是什麼意思呢?         我們來看一些例子, 在監督學習中輸入x,習得一個函式

學習筆記——-機器學習課程 1.2 什麼是神經網路

1.2 什麼是神經網路         “深度學習”指的是訓練神經網路,有的時候 規模很大,那麼神經網路是什麼呢?我們從一個房價預測的例子開始,假設有一個六間房屋的資料集已知房屋的面積,單位是平房英尺或者平方米,已知房屋價格,想要找到一個函式,根據房屋面積,預測房價的函式,

-深度學習-課程筆記-3: Python和向量化( Week 2 )

有時 指數 檢查 都是 效果 很快 -1 tro str 1 向量化( Vectorization ) 在邏輯回歸中,以計算z為例,z = w的轉置和x進行內積運算再加上b,你可以用for循環來實現。 但是在python中z可以調用numpy的方法,直接一句z = np.d

-深度學習-課程筆記-6: 深度學習的實用層面( Week 1 )

data 絕對值 initial 均值化 http 梯度下降法 ati lod 表示 1 訓練/驗證/測試集( Train/Dev/test sets ) 構建神經網絡的時候有些參數需要選擇,比如層數,單元數,學習率,激活函數。這些參數可以通過在驗證集上的表現好壞來進行選擇

-深度學習-課程筆記-8: 超參數調試、Batch正則化和softmax( Week 3 )

erp 搜索 給定 via 深度 mode any .com sim 1 調試處理( tuning process ) 如下圖所示,ng認為學習速率α是需要調試的最重要的超參數。 其次重要的是momentum算法的β參數(一般設為0.9),隱藏單元數和mini-batch的

機器學習視訊筆記03——矩陣和向量

注:非常基礎的內容,學過線性代數的童鞋可以跳過  矩陣介紹: 左邊是一個4×2的矩陣,右邊是一個2×3的矩陣 A是一個四行而列的矩陣 A11=1402(表示第一行第一列) A12=191(第一行第二列)

機器學習視訊筆記——簡單知識背景

  1、生活的機器學習: 電腦區分垃圾郵件 淘寶的智慧推薦 照相時候的美顏 什麼是人工智慧: Arthur Samuel(1959):部分特定程式碼賦予計算機自動學習的能力。 世界上第一個機器學習的程式:Samuel編寫的西洋棋程式 &n

機器學習視訊筆記——梯度下降簡化技巧

    房價預測   多個因素作用下,即θ有多個的情況下,如何得到假設函式。 第二行的訓練樣本,用矩陣進行表示如下: 同樣,假設函式在4個變數的情況下,其表示方法為: 有n個因素作用的情況下(即預設X0 = 1):

機器學習筆記(參考機器學習視訊筆記)16_決策樹

16 決策樹 決策樹是一種監督學習演算法,以樹狀圖為基礎,其輸出結果為一系列簡單實用的規則。它就是一系列的if-then語句,既可以用於分類問題,也可以用於迴歸問題。構建決策樹之通常包括三個步驟:        1)特徵選擇   &n

機器學習筆記(參考機器學習視訊筆記)15_推薦系統

15 推薦系統 一個電影提供商,有5部電影和4個使用者。要求使用者為電影打分: 前三部為愛情片,後兩部為動作片。Alice、Bob更傾向於愛情片,Carol、Dave更傾向於動作片。沒有一個使用者給所有的電影打過分。希望構建一個演算法來預測他們每個人可能會給他們每個人可能會給他們沒