1. 程式人生 > >Coursera機器學習-第三週-邏輯迴歸Logistic Regression

Coursera機器學習-第三週-邏輯迴歸Logistic Regression

Classification and Representation
1. Classification

Linear Regression (線性迴歸)考慮的是連續值([0,1]之間的數)的問題,而Logistic Regression(邏輯迴歸)考慮的是離散值(例如只能取0或1而不能取0到1之間的數)的問題。舉個例子,你需要根據以往季度的電力資料,預測下一季度的電力資料,這個時候需要使用的是線性迴歸,因為這個值是連續的,而不是離散的。而當你需要判斷這個人抽菸還是不抽菸的問題時,就需要使用邏輯迴歸了,因為答案必然是抽菸或不抽菸這其中的一個,也就是離散值。
圖一
這裡寫圖片描述
圖解:
第1:對於Email的分類是否是垃圾/不垃圾
第2:線上交易:欺詐/不欺詐
第3:腫瘤:惡性或良性
上面所說的都是分類問題,因為選擇是有限個的(都是2個),這個應該很好理解。
通常,將我們所需要得到的定義為正類,另外的定義為負類,但有時也可以隨意,並不是嚴格的。例如,與圖中相反的,可以將惡性(malignant)定義為負類(Negative),良性(benign)為正類(Positive)。
圖二:

/下圖給出8個樣例/
這裡寫圖片描述
使用線性迴歸hθ(x)=θTx,對這8個樣例進行擬合,如上圖中粉線所示,我們設定一個閾值,當hθ0.5 ,我們將它判定為正類,表示為惡性,當hθ0.5,我們將它判定為負類,表示為良性。
即malignant=0.5的點投影下來,其右邊的點預測y=1;左邊預測y=0;則能夠很好地進行分類。
可以這麼理解,我們先觀看橫軸,表示Tumor Size也就是腫瘤大小,越往右邊為惡性的可能性也就越大,所以看起來這圖還是合理的。
但是,這個時候來了一個新的樣本,如下圖三
這裡寫圖片描述
這種情況下,假設linear regression預測由粉紅線變為藍線,那麼由0.5的boundary得到的線性方程中,不能很好地進行分類。不滿足,
h
θ
(x)0.5,y=1

hθ(x)<0.5,y=0
上圖,豎直的藍線本是原本的分割線,左邊為良性,右邊為惡性,多了一個新樣本後,線性迴歸又擬合出一條新線(藍線),這樣,你再根據上面hθ(x)的值來判斷,就會將一些本是惡性的歸為良性了。
說到這裡,應該引入邏輯迴歸了。
2. Hypothesis Representation

Logistic Regression(邏輯迴歸)
圖四
這裡寫圖片描述
邏輯迴歸的取值,從圖上右側來看也能得到 0hθ(x)1
仔細觀察一下,不就是將原來的線性函式θTx 通過函式g 進行映射了麼?得到邏輯迴歸的表達公式: hθ(x)=g(z)=11+ez,
z=θTx

z0,g(z)0.5;z<0,g(z)<0.5
由下圖五,我們可以知道它的性質,在給定xθ 的值後,y=1y=0 的概率之和為1,也就是說不是1就是0的意思
圖五
這裡寫圖片描述
3. Decision Boundary

所謂決策邊界,其實就是分類邊界,如下圖所示的粉線,向上則是y=1區域 ,向下則是y=0區域, 那麼問題來了,決策邊界是怎麼來的?
圖六
這裡寫圖片描述

這裡先給出了θT={3,1,1}的取值 ,其實θT的取值我們是需要通過選擇才能得到的,而不是直接給出,這裡只是為了更好的理解而直接給出的, 我們得到hθ(x)=g(3+x1+x2),回顧一下上面所講的邏輯迴歸:

圖七

這裡寫圖片描述

hθ(x)=g(z)=11+ez,z=θTx
z0,g(z)0.5y=1;z<0,g(z)<0.5,y=0,由此得到當3+x1+x20時,y=1,則得到如圖六所示的粉線上方啦。

我們來看一個例題:

這裡寫圖片描述

根據上面所講,將θT={5,1,0}代入,得到5x1,當5x10時,也就是x15時, y=1,得到:
這裡寫圖片描述

當然,決策邊界並不一定都是線性的,還有非線性的,我們來看這麼一個例子:
圖八
這裡寫圖片描述

按照上面所講,將θT={1,0,0,1,1}代入得到hθ(x)=g(x21+x221),令x21+x2210得到一個半徑為1的圓,為決策邊界,圓的內側為y=

相關推薦

Coursera機器學習--邏輯迴歸Logistic Regression

Classification and Representation 1. Classification Linear Regression (線性迴歸)考慮的是連續值([0,1]之間的數)的問題,而Logistic Regression(邏輯迴歸)考

Stanford機器學習---.邏輯迴歸、正則化

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

機器學習演算法之: 邏輯迴歸 logistic regression (LR)

by joey周琦 LR介紹 邏輯迴歸屬於probabilistic discriminative model這一類的分類演算法 probabilistic discriminative mode這類演算法的思路如下: - 直接建模 P(Ck|x)

機器學習筆記04:邏輯迴歸(Logistic regression)、分類(Classification)

說明:本文章所有圖片均屬於Stanford機器學課程,轉載請註明出處 面對一些類似迴歸問題,我們可以通過線性迴歸方法來擬合一個函式,以此來預測資料,但它的輸出是連續的。有時候呢,我們需要一種方法給出一個判定結果,例如”同意(agree)”、”不同意

Stanford機器學習 邏輯迴歸與正則化

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

吳恩達 機器學習

轉載https://www.cnblogs.com/LoganGo/p/8562575.html 一.邏輯迴歸問題(分類問題) 生活中存在著許多分類問題,如判斷郵件是否為垃圾郵件;判斷腫瘤是惡性還是良性等。機器學習中邏輯迴歸便是解決分類問題的一種方法。 二分類:通常表示為yϵ{0,1}

機器學習 | 吳恩達機器學習程式設計作業(Python版)

實驗指導書  下載密碼:fja4 本篇部落格主要講解,吳恩達機器學習第三週的程式設計作業,作業內容主要是利用邏輯迴歸演算法(正則化)進行二分類。實驗的原始版本是用Matlab實現的,本篇部落格主要用Python來實現。   目錄 1.實驗包含的檔案 2.使用邏

機器學習(下)

擬合 1、擬合程度 1.1、過擬合 1.1.1、原因 1.1.2、理論解決方法 1.1.3、實際解決方法之一:正則化 1.1.3.1、正則化線性迴歸 1.1.3.2、正則化正規方

機器學習 | 吳恩達機器學習學習筆記

第三週PPT彙總下載連結:https://pan.baidu.com/s/101uY5KV_2i3Ey516DYma_A  密碼:8o4e 上一篇部落格主要介紹了第二週的課程的內容,包括多變數線性迴歸,使用梯度下降法求解多變數線性迴歸的實用技巧,特徵縮放與模型特徵選擇並

Coursera機器學習--Neural Network BackPropagation

Cost Function and Backpropagation Cost Function 假設有樣本m個。x(m)表示第m個樣本輸入,y(m)表示第m個樣本輸出,L表示網路的層數,sl表示在l層下,神經單元的總個數(不包括偏置bias units)

Coursera機器學習--Support Vector Machine

Large Margin Classification 支援向量機(Support vector machine)通常用在機器學習 (Machine learning)。是一種監督式學習 (Supervised Learning)的方法,主要用在統計分類

Coursera-吳恩達-機器學習--測驗-Support Vector Machines

  忘記截圖了,做了二次的,有點繞這裡,慢點想就好了。 正確選項是,It would be reasonable to try increasing C. It would also be reasonable to try decreasing σ2.  &n

Coursera-吳恩達-機器學習--程式設計作業: Support Vector Machines

本次文章內容: Coursera吳恩達機器學習課程,第七週程式設計作業。程式語言是Matlab。 本文只是從程式碼結構上做的小筆記,更復雜的推導不在這裡。演算法分兩部分進行理解,第一部分是根據code對演算法進行綜述,第二部分是程式碼。 本次作業分兩個part,第一個是using SVM,第

Coursera-吳恩達-機器學習--測驗-Large Scale Machine Learning

本片文章內容: Coursera吳恩達機器學習課程,第十週 Large Scale Machine Learning 部分的測驗,題目及答案截圖。 1.cost increase ,說明資料diverge。減小learning rate。 stochastic不需要每步都是減

Coursera-吳恩達-機器學習--程式設計作業: K-Means Clustering and PCA

本次文章內容: Coursera吳恩達機器學習課程,第八週程式設計作業。程式語言是Matlab。 本文只是從程式碼結構上做的小筆記,更復雜的推導不在這裡。演算法分兩部分進行理解,第一部分是根據code對演算法進行綜述,第二部分是程式碼。 本次作業分兩個part,第一個是K-Means Clu

Coursera-吳恩達-機器學習--測驗-Principal Component Analysis

本片文章內容: Coursera吳恩達機器學習課程,第八週的測驗,題目及答案截圖。                    

Coursera-吳恩達-機器學習--程式設計作業: Regularized Linear Regression and Bias/Variance

本次文章內容: Coursera吳恩達機器學習課程,第六週程式設計作業。程式語言是Matlab。 學習演算法分兩部分進行理解,第一部分是根據code對演算法進行綜述,第二部分是程式碼。 0 Introduction  在這個練習中,應用regularized linea

Coursera-吳恩達-機器學習--測驗-Machine Learning System Design

說實話,這一次的測驗對我還是有一點難度的,為了刷到100分,刷了7次(哭)。 無奈,第2道和第4道題總是出錯,後來終於找到錯誤的地方,錯誤原因是思維定式,沒有動腦和審題正確。 這兩道題細節會在下面做出講解。 第二題分析:題意問,使用大量的資料,在哪兩種情況時

Coursera NG 機器學習 正則化 bias Vs variance Python實現

ex5.py import scipy.optimize as op import numpy as np from scipy.io import loadmat from ex5modules import * #Part 1: Loading and visuali

Coursera-吳恩達-機器學習--程式設計作業: Neural Networks Learning

本次文章內容: Coursera吳恩達機器學習課程,第五週程式設計作業。程式語言是Matlab。 學習演算法分兩部分進行理解,第一部分是根據code對演算法進行綜述,第二部分是程式碼。 0 Introduction  在這個練習中,將應用 backpropagation