吳恩達機器學習筆記----前五章

初識

機器學習的定義

Samuel(1959):在沒有明確設置的情況下使計算機具有學習能力的研究領域
Tom Mitchell(1998):一個適當的學習問題定義如下:計算機程序從經驗E中學習解決某一任務T進行某一性能度量P,通過P測定在T上的表現因經驗E而提高

分類

  • *監督學習
  • *無監督學習
  • 強化學習
  • 推薦系統

監督學習

迴歸問題

給定的數據集中包含了正確答案,目的是給出更多正確答案
每一個連續量對應一個值,預測連續數值輸出

分類

將數據劃分爲一些離散量
目標是處理無窮多的特徵

無監督學習

給出的數據集沒有任何的標籤只有特徵
將數據分成不同的簇(聚類算法)
用來組織大型機集羣、社交網絡分析、市場細分、天文數據分析
雞尾酒會問題

單變量線性迴歸

Univariate linear regression
hypothesis代價函數h(x)

最小化問題(使得誤差最小)

在這裏插入圖片描述
該表達式也被叫做平方誤差函數Squared error function

代價函數

代價函數就是我們所要求的那個線性迴歸表達式
在這裏插入圖片描述
我們將它簡化到單變量
在這裏插入圖片描述
我們所尋求的那個最優解就是使Cost Function(偏差函數)最小的θ1的取值,當取到這個值的時候可以使平方差函數取得最小值
若是兩個變量需要使用等高線圖

梯度下降算法最小化J

在這裏插入圖片描述梯度下降算法就像是下山,從一個點開始然後環視四周找下降最快的方向,走一小步,逐漸收斂最低點到或者局部最低點
算法實現
在這裏插入圖片描述
注意點

  • '='是賦值語句
  • α是學習率,指的是梯度下降的時候每次邁多大的步子,α過大可能會使梯度下降算法無法收斂甚至發散,當我們接近局部最小值時,偏導數的值減小會自動減小我們的步子大小,所以沒有必要減小阿爾法的值
  • 後面的偏導數指的就是變化率(斜率或者梯度)
  • 這個式子是同時更新參數0和參數1,後面的錯誤表達中沒有同步更新

兩個參數的梯度下降算法
在這裏插入圖片描述
我們現在使用的是Batch梯度下降算法:每一步都要遍歷整個數據集

線性代數知識回顧

描述:行乘列的矩陣
使用大寫字母描述矩陣
下標一般從1開始
矩陣相加相減必須是兩個相同維度的矩陣
數與矩陣相乘是與矩陣中每一個元素相乘
矩陣與向量相乘
在這裏插入圖片描述
矩陣與矩陣相乘
在這裏插入圖片描述
注意乘的時候都是行乘列再相加

一些特徵

  • 矩陣乘法不滿足交換律
  • 滿足結合律
  • 單位矩陣 1Z=Z1=1
    在這裏插入圖片描述

逆矩陣

在這裏插入圖片描述
逆矩陣這個概念很重要,在機器學習中時常會用到
沒有逆矩陣的矩陣稱爲奇異矩陣或者退化矩陣

矩陣轉置

在這裏插入圖片描述

多變量線性迴歸

Multivariate linear regression
在這裏插入圖片描述
可以用向量內積表示

多元梯度下降算法

在這裏插入圖片描述
在這裏插入圖片描述
特徵縮放:將特徵的取值限制到-1到1之間 (不是絕對的 只是說讓取值範圍最好在個位數範圍,不要太大也不要太小)
均值歸一化:將特徵值減去平均值在進行特徵縮放
在這裏插入圖片描述

學習率α的選取

繪製minJ(θ)(代價函數)關於迭代次數的曲線,如果算法正確,隨着迭代次數的增加,minJ(θ)值應該是逐漸減小的,當代價函數基本不下降時就已經接近於收斂
在這裏插入圖片描述自動收斂測試:當代價函數J(θ)一次迭代後的下降小於一個很小值(比如10^-3),但是這個很小的閾值是不容易確定的,所以一般是看圖而不是依靠自動收斂測試
1、如果這個圖像是上升的應當使用較小的α
在這裏插入圖片描述
2、如果圖像反覆的上升下降也是使用較小的α
在這裏插入圖片描述
只要學習率足夠小每次迭代都會下降,但是不要太小,否則要迭代好多次,收斂的很慢
在這裏插入圖片描述
可以嘗試以上的α取值方式

正規方程求θ

在這裏插入圖片描述
這樣就可以求出最優解θ
若不可逆,應當檢查是否有多餘的特徵或者樣本數量太少(m<n),通常不會出現,在octave中使用pinv總會給出結果無論是否可逆

梯度下降法與正規方程法的對比

在這裏插入圖片描述
梯度下降算法需要選擇α同時需要許多次迭代,正規方程法則不需要這些,一次就能算出來
但是如果n(特徵)特別大10000+,計算逆矩陣是十分費勁的,所以當n很大,選擇梯度下降算法更好

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章