免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Andrew Ng機(jī)器學(xué)習(xí)記錄(一)

Andrew Ng 機(jī)器學(xué)習(xí)記錄共三篇。本篇是關(guān)于 Andrew Ng 機(jī)器學(xué)習(xí)網(wǎng)易云公開(kāi)課前 6 章的總結(jié)。全部課程共 18 章。觀看課程視頻可點(diǎn)擊 Coursera網(wǎng)易云課堂。網(wǎng)易云課堂目前僅翻譯到正則化,這篇小結(jié)也只到正則化之前,點(diǎn)擊 B 站獲取完整版。


在進(jìn)行小結(jié)之前,我們先看一下本次小結(jié)內(nèi)容的目錄(目錄中文翻譯源自網(wǎng)易云課堂):

· Introduction(緒論:初識(shí)機(jī)器學(xué)習(xí))
· Linear Regression with One Variable(單變量線性回歸)
· Linear Algebra Review(線性代數(shù)回顧)
· Linear Regression with Multiple Variables(多變量線性回歸)
· Octave/Matlab Tutorial(Octave/Matlab教程)
· Logistic Regression(Logistic回歸)

Introduction

  • 監(jiān)督學(xué)習(xí):給出許多正確的值(標(biāo)簽),每一個(gè)例子(橫坐標(biāo))都有一個(gè)對(duì)應(yīng)的正確的值(縱坐標(biāo)),當(dāng)再給出一個(gè)新例(橫坐標(biāo))時(shí),預(yù)測(cè)它正確的值是多少(縱坐標(biāo))。即學(xué)習(xí)如何預(yù)測(cè)。
  • 無(wú)監(jiān)督學(xué)習(xí):給出一堆數(shù)據(jù),并不知道這些數(shù)據(jù)用來(lái)做什么,總之是一堆沒(méi)有標(biāo)簽的數(shù)據(jù),算法自己進(jìn)行判斷這些將這些數(shù)據(jù)分開(kāi),形成不同的類。例如把混在一起的聲音分開(kāi)就是一種無(wú)監(jiān)督學(xué)習(xí)。

Linear Regression with One Variable

  • 回歸分析

用來(lái)分類,它的結(jié)果是一些離散值。

舉個(gè)例子:判斷腫瘤的惡性良性就可以視為一種分類,結(jié)果有良性 (0)、腫瘤類型 A (1)、腫瘤類型 B (2) 等。特征是指腫瘤大小、腫瘤厚度等(我們用機(jī)器學(xué)習(xí)算法不止是想處理3-5個(gè)特征,而是因?yàn)橄胍幚頍o(wú)窮個(gè)特征)。

  • 聚類算法

舉個(gè)例子:社交網(wǎng)絡(luò)判斷你們是否認(rèn)識(shí)并推薦好友,如果你用 facebook 的話應(yīng)該對(duì)這一點(diǎn)感覺(jué)很強(qiáng)烈。

  • 代價(jià)函數(shù)

通過(guò)計(jì)算得出用哪種直線最貼合數(shù)據(jù)。

選擇兩個(gè)參數(shù)

來(lái)得出直線,使
平方差最小,J 就是代價(jià)函數(shù)(Cost function),代價(jià)函數(shù)也被稱作平方誤差函數(shù) (Squared error function)。系數(shù)
中 m 是樣例個(gè)數(shù),作用是求平均值。

代價(jià)函數(shù)的意義

假設(shè)函數(shù) h(x) 是關(guān)于 x 的函數(shù),代價(jià)函數(shù) J 是關(guān)于系數(shù)

的函數(shù)。

一組

值對(duì)應(yīng)一個(gè)假設(shè)函數(shù) h(x),跟數(shù)據(jù)有一個(gè)直線關(guān)系,代價(jià)函數(shù)相當(dāng)于對(duì)誤差的評(píng)估,要做的就是找到一個(gè)
值,使得代價(jià)函數(shù) J 的值最小,我用這時(shí)的
值所得到的假設(shè)函數(shù) h(x) 來(lái)擬合數(shù)據(jù)。

機(jī)器學(xué)習(xí)要做的就是通過(guò)給出的數(shù)據(jù)用算法自動(dòng)找到 J 最小值時(shí)的這個(gè)點(diǎn),而不需要人為的計(jì)算參數(shù)。

  • 梯度下降法 (Gradient descent)
  1. 給出
    的初值
  2. 每次改變一點(diǎn)直到到達(dá)局部最優(yōu)解

初值偏移的方位稍有不同可能會(huì)到達(dá)不同的局部最優(yōu)解,達(dá)到局部最優(yōu)解時(shí)斜率為0 即偏導(dǎo)為0,

不在改變。

在運(yùn)用梯度下降法時(shí)需注意:
· 同時(shí)更新

·

為學(xué)習(xí)率,決定下山的一步邁多大(
每次移動(dòng)多少),恒為正

·

為偏導(dǎo),有正有負(fù)。

將梯度下降法通俗的解釋可以說(shuō):我站在山的某一處,要找到最快下山的路,一是我下一步邁向哪個(gè)方向;二是這一步邁多大,達(dá)成到達(dá)最低點(diǎn)的目的,這就是梯度下降法做的。

梯地下降法也可用于計(jì)算其他函數(shù)的代價(jià)函數(shù),而不僅是以上作為例子介紹的回歸函數(shù)。

  • 將梯度下降法用在回歸函數(shù)中

梯度下降法會(huì)陷入局部最優(yōu),而回歸函數(shù)是一個(gè)凸函數(shù)(它的圖像形狀是一個(gè)碗狀),只有一個(gè)全局最優(yōu)解,這時(shí)用梯度下降法可以得到一個(gè)最小值,即要求的值。

梯度下降法是一種迭代算法,逐步計(jì)算更新回歸函數(shù)里的

,其中偏導(dǎo)項(xiàng)是斜率。

因此在上圖中,右邊紅色的點(diǎn)每移動(dòng)一下,左邊的直線會(huì)隨斜率的改變而改變,紅色的點(diǎn)到達(dá)最低點(diǎn)時(shí),直線最好的擬合了數(shù)據(jù)。

Linear Algebra Review

  • 關(guān)于矩陣

在算法學(xué)習(xí)中需要有把數(shù)據(jù)在函數(shù)中的使用拆成矩陣的計(jì)算能力,向量也可視為列數(shù)為 1 特殊的矩陣,關(guān)于線性代數(shù)的知識(shí)這里不再贅述。

Linear Regression with Multiple Variables

  • 多元線性回歸模型

關(guān)于特征范圍的預(yù)處理和學(xué)習(xí)率的選取。

· 從 1 個(gè)特征值拓展到多個(gè)特征值

·

上標(biāo)表示第i個(gè)特征,下標(biāo)表示第 i 個(gè)特征的第幾個(gè)元素

· 多個(gè)特征在相近的范圍內(nèi),梯度下降法才可快速收斂

· 采用均值歸一化處理

· 可以用迭代次數(shù)和J(

)的函數(shù)來(lái)判斷梯度下降法是否收斂,也可以用小于閾值的方法自動(dòng)判斷,但閾值一般難以設(shè)定,所以推薦用下圖左邊觀察圖像的方法。

· 學(xué)習(xí)率

過(guò)小,收斂將變慢,
過(guò)大會(huì)導(dǎo)致J(
)不是在下降,出現(xiàn)這種情況時(shí)(如下圖左側(cè)圖像所示),解決方法是使用更小的
,嘗試一系列的
值,Ng 使用 3 的倍數(shù)來(lái)逐個(gè)測(cè)試,在最大和最小的
值范圍內(nèi)找大最大可能值的
(或比它小一點(diǎn)也是可以的)。

  • 多項(xiàng)式回歸

關(guān)于用二次函數(shù)、三次函數(shù)等擬合。

此時(shí)注意特征縮放,適合數(shù)據(jù)走向的函數(shù)圖形,你可以自己選擇特征,可以自己設(shè)計(jì)特征(如房屋面積 = 長(zhǎng) * 寬) ????。

  • 正規(guī)方程

不同于梯度下降法,它不需要重復(fù)多次運(yùn)算,可以一次性求出

的解析解,原理是偏導(dǎo)數(shù)為 0 時(shí)求出最小值。

用上圖紅色框中的式子計(jì)算

,再分別寫(xiě)出對(duì)應(yīng)的 x 和 y 。

如果有特別多(百萬(wàn)級(jí))的特征時(shí)則用梯度下降法(Ng 以一萬(wàn)為界考慮)。

當(dāng)出現(xiàn)不可逆的情況時(shí),可能是有多余的特征值或有過(guò)多的特征值(樣本數(shù) m < 特征數(shù)="">

用 Octave 里的 pinv 函數(shù)不會(huì)出現(xiàn)這種情況,因?yàn)?pinv 函數(shù)求的是偽逆(pesedo-inverse)。

Octave/Matlab Tutorial

這里用簡(jiǎn)單的語(yǔ)言介紹 Octave 的使用。推薦查看 Octave 文檔學(xué)習(xí)使用。

邏輯運(yùn)算

1 == 2 %表示注釋,false,輸出 ans = 0,用0來(lái)表示假1~= 2 %1不等于2,不等號(hào)“~=”xor(1, 0) 異或運(yùn)算

PS1('>>>>'); 修改提示符,引號(hào)內(nèi)設(shè)置為你喜歡的提示符,我將提示符修改為 '>>>>'。

Octave 變量

>>>format long %輸入format long,讓字符串顯示默認(rèn)位數(shù)>>>>aa = 3.14159265358979>>>>format short %輸入format short,輸出小數(shù)點(diǎn)后少的位數(shù)>>>>aa = 3.1416' title='' data-original-title='復(fù)制'>
賦值 a = 3 會(huì)打印a = 3; 有分號(hào)不打印 隱藏了>>>>a = pi;>>>>a %按a輸出下面a = 3.1416disp(a) %disp是一個(gè)打印命令>>>>disp(a)3.1416>>>>disp(sprintf('2 decimals: %0.2f', a )) %保留 2 位小數(shù)的寫(xiě)法 %0.2f2 decimals: 3.14>>>>format long %輸入format long,讓字符串顯示默認(rèn)位數(shù)>>>>aa = 3.14159265358979>>>>format short %輸入format short,輸出小數(shù)點(diǎn)后少的位數(shù)>>>>aa = 3.1416

向量和矩陣

>>>>A = [1 2; %矩陣的寫(xiě)法1> 3 4;> 5 6]A = 1 2 3 4 5 6>>>>A = [1 2; 3 4; 5 6] %矩陣的寫(xiě)法2A = 1 2 3 4 5 6>>>>v = 1: 0.1: 2 %從 1 開(kāi)始,步長(zhǎng)為 0.1,一直增加到2v = 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000>>>>v = 1:6 %按整數(shù)輸出v = 1 2 3 4 5 6>>>>ones(2,3) %生成矩陣的快速方式ans = 1 1 1 1 1 1>>>>c = 2*ones(2,3)c = 2 2 2 2 2 2>>>>w = zeros(1,3)w = 0 0 0>>>>w = rand(1,3) %隨機(jī)生成一行三列的矩陣,介于0到1之間的隨機(jī)值w = 0.98343 0.79271 0.93922>>>>w = randn(1,3) %服從高斯分布,均值為0標(biāo)準(zhǔn)差或方差為1w = 0.50732 1.51904 -1.28292hist(w) %繪制直方圖??hist(w,50) %有50個(gè)豎條的直方圖>>>>eye(4) %生成矩陣的特殊方式,生成單位矩陣ans =Diagonal Matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1>>>>help eye %顯示eye函數(shù)的幫助文檔

Octave的基本操作

>>>>size(A) % size 返回矩陣的大小ans = 3 2>>>>size(A,1) %返回A矩陣第一維度的大小,即A矩陣的行數(shù)ans = 3>>>>size(A,2) %列數(shù)ans = 2>>>>length(A) %返回最大維度的大小,可以對(duì)矩陣使用但是也會(huì)造成confusingans = 3>>>>length([1;2;3;4;5]) %通常對(duì)向量使用ans = 5

從文件中加載和查找數(shù)據(jù)

>>>>pwdans = /Users/Ocatave程序安裝路徑,顯示當(dāng)前所在路徑cd 更改路徑,文件名不要包含空格會(huì)出錯(cuò)>>>>who %顯示Octave里現(xiàn)有的變量Variables in the current scope:A a ans c v w>>>>load 文件名 %注意格式,我在這里導(dǎo)入失敗了,視頻里示例的是.dat文件后面輸入不加后綴的文件名,即顯示文件里的內(nèi)容>>>> whos %顯示變量更詳細(xì)的信息Variables in the current scope: Attr Name Size Bytes Class ==== ==== ==== ===== ===== A 3x2 48 double a 1x1 8 double ans 1x39 39 char c 2x3 48 double v 1x6 24 double w 1x10000 80000 doubleTotal is 10058 elements using 80167 bytes>>>>clear A %刪除變量>>>>clear %只輸入clear,則刪除所有變量>>>>v = priceY(1:10) %priceY是之前導(dǎo)入的文件,把它的前10個(gè)數(shù)據(jù)賦給v>>>>save vector.mat v %將v存在當(dāng)前路徑命名為vector.mat的文件,壓縮形式>>>>save vector.txt v -ascii %儲(chǔ)存為人能看懂的文本形式,-ascii必須要加

索引操作

>>>>A(3,2) %顯示第三行第二列的那個(gè)元素ans = 6>>>>A(2,:) %顯示第二行的所有元素ans = 3 4>>>>A(:,2) %顯示第二列的所有元素ans = 2 4 6>>>>A([1 3], :) %顯示第一行第三行的所有列元素ans = 1 2 5 6>>>>A(:,2) = [11,22,33] %索引也可以用來(lái)賦值A(chǔ) = 1 11 3 22 5 33>>>>A = [A,[90;80;70]] %給矩陣A新增加一列A = 1 11 90 3 22 80 5 33 70>>>>A(:) %把A中所有的元素按一列輸出ans = 1 3 5 11 22 33 90 80 70>>>>C = [A B] %把A和B兩個(gè)矩陣合起來(lái)(延伸:把矩陣看作一個(gè)數(shù)值元素進(jìn)行操作,[A, B] [A;B])C = 1 2 11 22 3 4 33 44 5 6 55 66

對(duì)矩陣中的元素進(jìn)行運(yùn)算

>>>val = max(a)val = 15>>>>[val, ind] = max(a) %ind是max(a)索引val = 15ind = 2>>>>max(A) %默認(rèn)輸出每一列的最大值ans = 5 6>>>>aa = 1.00000 15.00000 2.00000 0.50000>>>>a < 3="" %對(duì)應(yīng)元素比較,返回真假ans="1" 0="" 1="" 1="">>>>find(a < 3)="" %找到符合的值,返回索引,a是向量ans="1" 3="" 4="">>>>[r, c] = find(A >= 7) %A是矩陣,r行c列r = 1 3 2c = 1 2 3>>>>A = magic(3) %幻方,任意行列加起來(lái)的值相等(包括對(duì)角線),便捷的生成一個(gè)3*3的矩陣A = 8 1 6 3 5 7 4 9 2>>>>sum(a) %求和ans = 18.500>>>>prod(a) %求積ans = 15>>>>floor(a) %向下取整ans = 1 15 2 0>>>>ceil(a) %向上取整ans = 1 15 2 1>>>>max(rand(3), rand(3)) %由兩個(gè)隨機(jī)矩陣中較大的數(shù)值組成ans = 0.50037 0.85282 0.86935 0.87063 0.82242 0.72379 0.75042 0.38446 0.72941>>>>max(A,[],1) %輸出每一列的最大值,1表示從第一維度取值ans = 8 9 7>>>>max(A, [], 2) %輸出每一行的最大值ans = 8 7 9>>>>max(max(A)) %只是想知道整個(gè)矩陣的最大值ans = 9>>>>sum(A,1) %求A每一列的總和,第 1 維度是列;第 2 維度是行 ans = 369 369 369 369 369 369 369 369 369>>>>A .*eye(9) %得到對(duì)角線元素的一個(gè)方法ans = 47 0 0 0 0 0 0 0 0 0 68 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 41 0 0 0 0 0 0 0 0 0 62 0 0 0 0 0 0 0 0 0 74 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 35>>>>A .*flipud(eye(9)) % flipud 使矩陣垂直翻轉(zhuǎn)ans = 0 0 0 0 0 0 0 0 45 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 43 0 0 0 0 0 0 0 42 0 0 0 0 0 0 0 41 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 39 0 0 0 0 0 0 0 38 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 0>>>>pinv(A) %求偽逆' title='' data-original-title='復(fù)制'>
>>>>A * C %矩陣乘法,這里注意A的列數(shù)和B的行數(shù)相等>>>>A .*B %A中的元素和B中對(duì)應(yīng)位置的元素相乘,這里也默認(rèn)它們size一樣,這個(gè)點(diǎn)通常表示元素的運(yùn)算,對(duì)矩陣和向量都可以用ans = 11 24 39 56 75 96>>>>A .^2 %對(duì)A中元素進(jìn)行平方運(yùn)算ans = 1 4 9 16 25 36>>>>log(v) %對(duì)v求對(duì)數(shù)ans = 0.00000 0.69315 1.09861>>>>exp(v) %求以e為底v次方的指數(shù)函數(shù)ans = 2.7183 7.3891 20.0855>>>>abs(v) %求v的絕對(duì)值ans = 1 2 3>>>>v + ones(length(v), 1) %給向量v的值都加1,v = [1; 2; 3]ans = 2 3 4>>>>v + 1 %也可以ans = 2 3 4>>>>A' %A的轉(zhuǎn)置ans = 1 3 5 2 4 6>>>>val = max(a)val = 15>>>>[val, ind] = max(a) %ind是max(a)索引val = 15ind = 2>>>>max(A) %默認(rèn)輸出每一列的最大值ans = 5 6>>>>aa = 1.00000 15.00000 2.00000 0.50000>>>>a <>3 %對(duì)應(yīng)元素比較,返回真假ans = 1 0 1 1>>>>find(a <>3) %找到符合的值,返回索引,a是向量ans = 1 3 4>>>>[r, c] = find(A >= 7) %A是矩陣,r行c列r = 1 3 2c = 1 2 3>>>>A = magic(3) %幻方,任意行列加起來(lái)的值相等(包括對(duì)角線),便捷的生成一個(gè)3*3的矩陣A = 8 1 6 3 5 7 4 9 2>>>>sum(a) %求和ans = 18.500>>>>prod(a) %求積ans = 15>>>>floor(a) %向下取整ans = 1 15 2 0>>>>ceil(a) %向上取整ans = 1 15 2 1>>>>max(rand(3), rand(3)) %由兩個(gè)隨機(jī)矩陣中較大的數(shù)值組成ans = 0.50037 0.85282 0.86935 0.87063 0.82242 0.72379 0.75042 0.38446 0.72941>>>>max(A,[],1) %輸出每一列的最大值,1表示從第一維度取值ans = 8 9 7>>>>max(A, [], 2) %輸出每一行的最大值ans = 8 7 9>>>>max(max(A)) %只是想知道整個(gè)矩陣的最大值ans = 9>>>>sum(A,1) %求A每一列的總和,第 1 維度是列;第 2 維度是行 ans = 369 369 369 369 369 369 369 369 369>>>>A .*eye(9) %得到對(duì)角線元素的一個(gè)方法ans = 47 0 0 0 0 0 0 0 0 0 68 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 41 0 0 0 0 0 0 0 0 0 62 0 0 0 0 0 0 0 0 0 74 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 35>>>>A .*flipud(eye(9)) % flipud 使矩陣垂直翻轉(zhuǎn)ans = 0 0 0 0 0 0 0 0 45 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 43 0 0 0 0 0 0 0 42 0 0 0 0 0 0 0 41 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 39 0 0 0 0 0 0 0 38 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 0>>>>pinv(A) %求偽逆

在運(yùn)行一個(gè)學(xué)習(xí)算法后,最有用的是能夠觀察你的數(shù)據(jù),或說(shuō)使數(shù)據(jù)可視化。

根據(jù)數(shù)據(jù)繪制圖像(plotting and visualizing Data)

>>>xlabel('time') %顯示橫縱坐標(biāo)軸代表什么>>>>ylabel('value')>>>>legend('cos') %標(biāo)記函數(shù),在右上角,表示函數(shù)內(nèi)容>>>>title('my plot') %標(biāo)題>>>>print -dpng 'my-plot.png' %儲(chǔ)存圖像,先cd到儲(chǔ)存路徑>>>>close %關(guān)掉圖像>>>>figure(2); plot(t, y2); %figure為圖像標(biāo)號(hào)>>>>subplot(1,2,1); %分成兩個(gè)小格子,顯示第一個(gè)>>>>plot(t, y1);>>>>subplot(1,2,2)>>>>plot(t, y2)>>>>axis([0.5 1 -1 1]) %改變坐標(biāo)軸刻度>>>>clf; %清除圖像>>>>A = magic(5);>>>>imagesc(A) >>>>imagesc(A), colorbar, colormap gray; %用逗號(hào)連續(xù)調(diào)用函數(shù)' title='' data-original-title='復(fù)制'>
>>>>plot(t, y2) >>>>hold on; %保留原有圖像,在其上面繪制,而不是直接替換掉>>>>plot(t, y1, 'r') %'r'表示顏色>>>>xlabel('time') %顯示橫縱坐標(biāo)軸代表什么>>>>ylabel('value')>>>>legend('cos') %標(biāo)記函數(shù),在右上角,表示函數(shù)內(nèi)容>>>>title('my plot') %標(biāo)題>>>>print -dpng 'my-plot.png' %儲(chǔ)存圖像,先cd到儲(chǔ)存路徑>>>>close %關(guān)掉圖像>>>>figure(2); plot(t, y2); %figure為圖像標(biāo)號(hào)>>>>subplot(1,2,1); %分成兩個(gè)小格子,顯示第一個(gè)>>>>plot(t, y1);>>>>subplot(1,2,2)>>>>plot(t, y2)>>>>axis([0.5 1 -1 1]) %改變坐標(biāo)軸刻度>>>>clf; %清除圖像>>>>A = magic(5);>>>>imagesc(A) >>>>imagesc(A), colorbar, colormap gray; %用逗號(hào)連續(xù)調(diào)用函數(shù)

控制語(yǔ)句與函數(shù)

>>>>for i = 1:10 %for循環(huán)> v(i) = 2^i;> end;>>>>vv = 2 4 8 16 32 64 128 256 512 1024>>>>indices = 1:10;>>>>indicesindices = 1 2 3 4 5 6 7 8 9 10>>>>for i = indices %另一種方法,用索引> disp(i);> end;12345678910>>>>while i<>5 %while的使用> v(i) = 100;> i = i + 1;> end;>>>>vv = 100 100 100 100 100>>>>exit/quit %退出Octave

在 .m 文件里定義函數(shù),然后在它所在的路徑下可以調(diào)用。

>>>>addpath(' ') %把 .m 文件所在的路徑添加后,即使跑到別的路徑下也可以找到,方便查找

Octave 特有的定義函數(shù)功能,定義一個(gè)函數(shù),可返回多個(gè)值,如下圖所示:

在 .m 文件里寫(xiě)好函數(shù),在 Octave 里有數(shù)據(jù),調(diào)用即可。

線性代數(shù)庫(kù)

用向量化的方法取代for循環(huán),會(huì)高效的多(將系數(shù)抽象為向量來(lái)表示)。

Logistic Regression

Logistic回歸算法 (Logistic regression)

一種分類算法,Y 值為離散的 0 和 1(二元)(也可以是多元,即多個(gè)離散值)。它的優(yōu)點(diǎn)是讓預(yù)測(cè)值在 0 到 1 之間(之前的線性回歸會(huì)讓值小于0或大于1)。

Logistic 函數(shù)也稱 Sigmoid 函數(shù),它的假設(shè)函數(shù)如上圖,用參數(shù)

擬合我們的數(shù)據(jù)。舉例來(lái)說(shuō),如在給定 x 的條件下 y = 1 的概率?。?

決策邊界(Decision boundary)

關(guān)于 h(x) 怎么做出預(yù)測(cè),通俗的來(lái)說(shuō)可理解為大于決策邊界這條線為正,小于這條直線則為負(fù),從而完成了分類。

要注意的是,決策邊界是假設(shè)函數(shù)的一個(gè)屬性,由

決定,而跟數(shù)據(jù)無(wú)關(guān)。

如上圖用多項(xiàng)式得到更復(fù)雜的決策邊界。

代價(jià)函數(shù)

解決如何求 Logistic 回歸的參數(shù)

。寫(xiě)出代價(jià)函數(shù),用梯度下降法求
,從而得到
。

用線性回歸的代價(jià)函數(shù)得到的是非凸函數(shù),會(huì)有多個(gè)局部最優(yōu)解。

Logistic 回歸代價(jià)函數(shù),預(yù)測(cè)y=1的概率。

線性回歸和 Logsitic 回歸 h(x) 的定義不同。同時(shí),特征值歸一化處理也可以用在 Loistic 回歸中。

高級(jí)優(yōu)化算法

它的優(yōu)點(diǎn)是可自動(dòng)選擇學(xué)習(xí)率

。

代碼實(shí)現(xiàn):

下圖的方法用在 logstic 回歸中,通過(guò)寫(xiě)代碼計(jì)算代價(jià)函數(shù)值和梯度值,需注意 Octave 中下標(biāo)從 1 開(kāi)始。

邏輯回歸:一對(duì)多分類

關(guān)于如何用邏輯回歸解決多類別分類問(wèn)題。

將其分成三個(gè)獨(dú)立的二元分類問(wèn)題。三個(gè)偽分類器,每一個(gè)計(jì)算的是 y=i 時(shí)的概率。

輸入 x,選擇 h 最大的類別,可信度最高效果最好,得到一個(gè)最高的概率值,為我們所要預(yù)測(cè)的 y 值。


后記:本篇總結(jié)可能沒(méi)有覆蓋全部知識(shí)點(diǎn),僅根據(jù)我在學(xué)習(xí)過(guò)程中的理解所記錄。如有疏漏還望指正。文中圖片均來(lái)自 Andrew Ng 公開(kāi)課的 PowerPoint。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
機(jī)器學(xué)習(xí)之如何完成矩陣的參數(shù)求導(dǎo)?
主成分分析、線性回歸-簡(jiǎn)要說(shuō)明
機(jī)器學(xué)習(xí)中的最優(yōu)化算法總結(jié)
機(jī)器學(xué)習(xí)萌新必備的三種優(yōu)化算法 | 選型指南
深度學(xué)習(xí)模型的構(gòu)建
ML,DL核心數(shù)學(xué)及算法知識(shí)點(diǎn)總結(jié)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服