1. 程式人生 > >機器學習入門系列三(關鍵詞:邏輯迴歸,正則化)

機器學習入門系列三(關鍵詞:邏輯迴歸,正則化)

一、邏輯迴歸

1.邏輯迴歸

什麼是邏輯迴歸問題,通俗地講就是監督下的分類問題。通過前面的學習,我們已經掌握如何解決線性(非線性)迴歸的問題。那面對分類問題我們是否也可以用線性迴歸呢?簡單起見,我們先討論二元分類,首先讓我們來看一個例子,腫瘤的大小與是否是惡性的關係,其中紅色的×表示腫瘤大小,對應的y軸表示是否為惡性。
這裡寫圖片描述
我們對資料進行線性迴歸,得到了一條很完美的直線。我們可以規定,當擬合出來的y值大於0.5時,為惡性1;當y值小於0.5時,為良性0。這一切看起來似乎很合理,當我們增加一個數據,即有一個腫瘤非常大,顯然它是惡性的,但是再用線性迴歸時,我們可以發現為了去更好地擬合,直線的斜率變低,0.5不再是惡性與良性的分界線。除了這個問題之外,我們知道y

的可取值應該是[0,1],而採用線性迴歸我們發現y的可取值是[,+]。這一系列的問題就促使我們希望尋求一個新的方法來解決分類問題。

2.假設表示

線上性迴歸問題中,我們定義了

hθ(x)=θTx(1) 在分類問題中,我們改變該函式,增加一個作用函式,即 hθ(x)=g(θTx)(2) 其中g(z)為sigmoid函式 g(z)=11+ez(3)
那麼把式(3)代入式(2),得 hθ(x)=11+eθTx(4) 為什麼要使用sigmoid函式?有一系列的數學原因,感興趣的可以搜尋廣義線性模型,在這裡就不闡述原因了。我們來直觀地感受一下sigmoid函式,當z
時,g0;當z+時,g1
這裡寫圖片描述
下面我們對hθ(x)輸出的結果做一個解釋。由於它的取值範圍,我們可以把它理解為概率。若hθ(x)=0.7,在二元分類(本例)中即表示腫瘤在輸入變數x下為惡性(y=1)的概率為70%。由於是二元分類,y取值不是0就是1,因此腫瘤為良性(y=0)的概率為170%=30%
由於sigmoid函式的性質,且hθ(x)(0,1),我們認為當hθ(x)0.5時,我們把資料x預測為類1即y=1;當hθ(x)<0.5時,我們把資料x預測為類0即y=0。因此當θTx0時,預測為類1;當θTx<0時,預測為類0。

3.決策邊界

既然是分類問題,那麼對於二分類,h

θ(x)一定可以做出一個決策邊界,當資料集在某一側時預測為類1,在另一側時預測為類0。為了更直觀地理解,我們來看一個這樣一個例子,訓練集分為兩類,其中紅叉表示一類,藍圈表示另一類。
這裡寫圖片描述
對於

hθ(x)=g(θ0+θ1x1+θ2x2)(5) 假設我們得到的引數θ=[311],此時決策邊界為黑線所示。由sigmoid函式我們可知,當θ0+θ1x1+θ2x20時,預測為類1,即為直線以上;當θ0+θ1x1+θ2x2<0時,預測為類0,即為直線以下。我們預先規定:紅叉為類1,藍圈為類0。
注:這裡有人可能會有疑問,假如我們規定紅叉為類0,藍圈為類1,如果我們還是認為θTx0即取得直線上方的點為為類1,θTx<0即取得直線下方的點為類0,那豈不是會分錯?學完本系列,我將給出答案,這也是我曾經學習ML時的困惑。

4.代價函式

線上性迴歸問題中,我們是這樣定義代價函式的

J(θ)=12mi=1m(hθ(x(i))y(i))2(6) 那我們可不可以用這個代價函式來解決邏輯迴歸?答案是否定的,因為hθ(x)中包含了一個非線性函式即sigmoid函式,這使得J(θ)不是凸函式,有很多區域性最小值,很難通過梯度下降法或其他方法得到全域性最優值。我們來看一下

相關推薦

機器學習入門系列關鍵詞邏輯迴歸

一、邏輯迴歸 1.邏輯迴歸 什麼是邏輯迴歸問題,通俗地講就是監督下的分類問題。通過前面的學習,我們已經掌握如何解決線性(非線性)迴歸的問題。那面對分類問題我們是否也可以用線性迴歸呢?簡單起見,我們先討論二元分類,首先讓我們來看一個例子,腫瘤的大小與是否是惡性的關係,其中紅色的×表示腫瘤大小,對應的y軸

Stanford機器學習邏輯迴歸

一、邏輯迴歸 1.1 分類問題 判斷一封電子郵件是否是垃圾郵件;判斷一次金融交易是否是欺詐;判斷腫瘤是惡性的還是良性的等屬於分類問題。 Eg:預測病人的腫瘤是惡性(malignant)還是良性(benign),用線性迴歸的方法擬合一條直線如圖 當hθ大於等於0.5時,預測 y

Stanford機器學習---第週.邏輯迴歸

第三週 邏輯迴歸與正則化 學完前三週簡要做個總結,梳理下知識框架: 第一講 邏輯迴歸Logistic Regression 1.分類問題Classification Problem for e

吳恩達機器學習 - 邏輯迴歸 吳恩達機器學習 - 邏輯迴歸

原 吳恩達機器學習 - 邏輯迴歸的正則化 2018年06月19日 15:07:25 離殤灬孤狼 閱讀數:181 更多

機器學習】過擬合、欠擬合與

過擬合(over-fitting) 在演算法對模型引數的學習過程中,如果模型過於強大,比如說,樣本空間分佈在一條直線的附近,那麼我們的模型最好是一條直線, h

斯坦福大學(吳恩達) 機器學習課後習題詳解 第六週 程式設計題 線性迴歸以及方差與偏差

作業下載地址:https://download.csdn.net/download/wwangfabei1989/103031341. 正則化線性迴歸代價函式 linearRegCostFunctionfunction [J, grad] = linearRegCostFun

深度學習小白——神經網路3資料預處理dropout

一、資料預處理 資料矩陣X,維度是【N*D】N是資料樣本數,D是資料維度 1.均值減法 它對資料中每個獨立特徵減去平均值,從幾何上可以理解為在每個維度上都將資料雲的中心都遷移到原點 X-=np.mean(X,axis=0) 2.歸一化 先對資料做零中心化,然後每個維度都除以

機器學習入門系列04Gradient Descent梯度下降法

什麼是Gradient Descent(梯度下降法)? Review: 梯度下降法 在迴歸問題的第三步中,需要解決下面的最優化問題: θ∗=argminθL(θ) L:lossfunction(損失函數) θ:parameter

機器學習入門系列03Error的來源偏差和方差(bias和variance)

回顧 第二篇中神奇寶貝的例子:         可以看出越複雜的model 再測試集上的效能並不是越好 這篇要討論的就是 error 來自什麼地方?error主要的來源有兩個,bias(偏差) 和 variance(方差) 估測 假設上圖為神奇寶貝cp值的真正方程,當然

Spring Boot入門系列資源文件屬性配置

response mage 註意 site spa website 圖片 process ram   Spring Boot 資源文件屬性配置     配置文件是指在resources根目錄下的application.properties或application.yml配置

CS231n——機器學習演算法——線性分類Softmax及其損失函式

在前兩篇筆記中,基於線性分類上,線性分類中繼續記筆記。 1. Softmax分類器 SVM和Softmax分類器是最常用的兩個分類器,Softmax的損失函式與SVM的損失函式不同。對於學習過二元邏輯迴歸分類器的讀者來說,Softmax分類器就可以理解為邏輯迴歸分類器面對多個分類的一

CS231n——機器學習演算法——線性分類SVM及其損失函式

損失函式 Loss function 在線性分類(上)筆記中,定義了從影象畫素值到所屬類別的評分函式(score function),該函式的引數是權重矩陣W。 在函式中,資料 (

機器學習入門系列(2)--機器學習概覽(下)

這是本系列的第二篇,也是機器學習概覽的下半部分,主要內容如下所示: 文章目錄 1. 機器學習的主要挑戰 1.1 訓練資料量不足 1.2 沒有代表性的訓練資料 1.3 低質量的資料

機器學習入門系列(1)--機器學習概覽(上)

最近打算系統學習和整理機器學習方面的知識,會將之前看的 Andrew Ng 在 course 課程筆記以及最近看的書籍《hands-on-ml-with-sklearn-and-tf》結合起來,簡單總結下機器學習的常用演算法,由於數學功底有限,所以可能不會也暫時不能過多深入公式和演算法原

機器學習實戰》第五章Logistic迴歸1基本概念和簡單例項

最近感覺時間越來越寶貴,越來越不夠用。不過還是抽空看了點書,然後整理到部落格來。 加快點節奏,廢話少說。 Keep calm & carry on. ----------------------------------------------------------

NLP大神推薦的機器學習入門書單附大量百度網盤電子書

繼NLP之後,我又開了ML這個大坑。這是因為NLP涉及到太多的ML模型,僅僅拿過來用的話,我實現的HanLP已經快到個人極限了。而模型背後的原理、如何優化、如何並行化等問題,都需要尋根求源才能解決。 所以我找了個書單自學,電子書為主,順便分享出來。 ML書單│李航.統

Udacity機器學習入門——交叉驗證cross-validation

測試資料可以讓你評估你的分類器或迴歸在獨立資料集上的效能,還能幫助你避免過度擬合在sklearn中訓練/測試分離載入資料集以適應線性SVM:from sklearn import datasets from sklearn.svm import SVC iris = dat

用Python開始機器學習7邏輯迴歸分類

在本系列文章中提到過用Python開始機器學習(3:資料擬合與廣義線性迴歸)中提到過迴歸演算法來進行數值預測。邏輯迴歸演算法本質還是迴歸,只是其引入了邏輯函式來幫助其分類。實踐發現,邏輯迴歸在文字分類領域表現的也很優秀。現在讓我們來一探究竟。1、邏輯函式假設資料集有n個獨立的

機器學習筆記 -吳恩達第七章邏輯迴歸python實現 附原始碼

(1)邏輯迴歸概念 1. 迴歸(Regression) 迴歸,我的理解來說,其直觀的理解就是擬合的意思。我們以線性迴歸為例子,在二維平面上有一系列紅色的點,我們想用一條直線來儘量擬合這些紅色的點,這就是線性迴歸。迴歸的本質就是我們的預測結果儘量貼近實際觀測的結果,或者說我們

機器學習演算法的Python實現 (1)logistics迴歸 與 線性判別分析LDA

本文為筆者在學習周志華老師的機器學習教材後,寫的課後習題的的程式設計題。之前放在答案的博文中,現在重新進行整理,將需要實現程式碼的部分單獨拿出來,慢慢積累。希望能寫一個機器學習演算法實現的系列。 本文主要包括: 1、logistics迴歸 2、線性判別分析(LDA) 使