單變量線性回歸
模型描述

代價函數。
即討論如何選擇預測函數中的參數θ0和θ1,使得函數與實際數據點盡量好的擬合。使平方差盡量小。
m指訓練集的樣本容量。改變θ0和θ1求代價函數J(θ0,θ1)函數的最小值。也叫平方誤差函數或平方誤差代價函數。

若只有一個參數得到的代價函數是一個碗狀圖。兩個參數得到的是三維空間的碗狀圖,一般用等高線圖表示,即下圖第二圖。

中心是最小值點。
梯度下降
一種可以自動找到使函數J最小的θ0,θ1算法。使函數最小化,不止適用於線性函數。

原理:選中一點,環顧360度,找到最快下山的那個方向點,邁一步,不斷重復,直到找到最低點或局部最低點。
特點:若從不同點出發下山,很可能會得到不同的局部最優解。
數學原理:
α表示學習率,即每次要邁多大的步子。當接近局部最低點時,梯度函數會自動逐漸縮小步伐。
:=在計算機中是賦值操作,=是判斷是否等於。
θ0,θ1是同步更新,注意下圖四個步驟地順序。

線性回歸的梯度下降算法

只有全局最優。也叫Batch梯度下降:每一步梯度下降都遍歷了整個訓練集樣本。
高數上有正規方程組方法可以求出代價函數最小值。不過梯度下降算法適用於大的數據集。
線性代數回顧
4x3的矩陣指某一個矩陣。R4x3指所有4x3矩陣的集合。大寫字母表示矩陣,小寫表示數字。
向量是只有一列的矩陣,n維向量。R4指所有4維向量的集合

矩陣相乘可以用來解決線性回歸問題中參數θ0和θ1的計算問題。而不需要梯度下降算法等迭代算法。矩陣乘法不可交換,可組合律。單位矩陣Inxn

逆矩陣:兩者相乘=單位矩陣。
方陣才有逆矩陣。
Condave軟件的pinv(A),好多軟件也有公式直接求逆矩陣。
不存在逆矩陣的矩陣可以理解為奇異矩陣或退化矩陣。
矩陣轉置:i行變第i列。
多變量線性回歸
多功能

多元梯度下降法

使梯度下降算法使用技巧一:均值歸一化,使收斂加快。

使梯度下降算法使用技巧二:學習率α,算法更新規則之一。以確保梯度下降正常工作。
希望找到一個θ能最小化代價函數J(θ)。但若下圖曲線是往上或者上下浮動,說明學習率太大,越過最低點了,要盡量使學習率低點。

特征和多項式回歸
有時通過定義新特征會得到更好的模型。例:預測房價,有兩個參數,房子長與深度,若認為一個特征x = 房子長*房子深,可以決定房子價格,則最終可以認為h(θ)=θ0+θ1x。

上圖除了三次函數還有其他選擇:![]()
要學會尋找特征,函數的多選擇性。
正規方程

上圖方程若是遇到不可逆矩陣怎么辦?計算機有兩個計算逆的方法:pinv和inv,pinv即使處理非可逆矩陣,也會出來結果,稱為偽逆。兩者區別,是進階知識。
若矩陣是奇異矩陣或不可逆,則先看特征里面是否有多余的特征,若多余則刪除;再看是否有過多的特征,可以刪不必要的特征或使用正規化。

交作業流程:
先看pdf文件,明確要求並編寫代碼。再在Octave中運行,
代碼:A = eye(5);輸出一個標准矩陣。

