初始化v
for循環(huán)酱虎,針對各個賦值
兩者for循環(huán)方式等價
while 循環(huán)
注意每個if while for 都要有對應的end表示結(jié)束
雖然沒有強制要求羡微,最好還是通過縮進來表達邏輯關(guān)系
注意elseif中間沒有空格
整個if結(jié)束了才用end
因為之前是按照上課演示的敲攻冷,發(fā)現(xiàn)每個條件后面都會跟一個逗號丈攒,所以測試一下沒有逗號是否可以運行
沒有逗號也可以運行
自定義的函數(shù)
函數(shù)文件得在當前路徑下或添加到搜索路徑中
多個返回值的函數(shù)
成功調(diào)用
對于代價函數(shù)的表示
成功計算
向量化(Vectorization):
向量化是指將數(shù)據(jù)通過矩陣和向量的方式進行計算,使得過程更易于理解也更易于編寫
對于很多數(shù)據(jù)狞甚,如果直接計算則需要多個for循環(huán)锁摔,不僅麻煩還不好理解,以假設(shè)函數(shù)為例:
視頻截圖
在未向量化之前哼审,我們?nèi)粝肭骽(x)谐腰,代碼如上圖中一般用過for循環(huán),不易理解且繁瑣涩盾,然而若通過向量化十气,直接θ'*X得到假設(shè)值的向量矩陣
下求梯度下降法的向量化:
假設(shè)特征數(shù)為2,假設(shè)方程為h(x)
此時要不斷循環(huán)
循環(huán)賦值求最小
于是對于θ中的每一項都得寫個for循環(huán)進行賦值
此時將整個賦值過程旁赊,改為:
其中 α 仍為學習速率桦踊,是一個實數(shù)椅野,而 θ 和 δ 都是一個n+1維的向量终畅,其中 θ為:
θ的內(nèi)容
根據(jù)定義 δ 應為:
改為矩陣表示為:
最終的結(jié)果大小應為一個3*1的向量
左邊的矩陣就是X的矩陣的轉(zhuǎn)置,而右邊的矩陣可通過h(x)的向量減去y得到竟闪,最終計算的過程應為:
梯度下降法的求值過程
一步可以直接計算离福,非常方便