邏輯迴歸與梯度下降法
轉載自:http://www.cnblogs.com/yysblog/p/3268508.html
一、邏輯迴歸
1) Classification(分類)
分類問題舉例:
- 郵件:垃圾郵件/非垃圾郵件?
- 線上交易:是否欺詐(是/否)?
- 腫瘤:惡性/良性?
以上問題可以稱之為二分類問題,可以用如下形式定義:
其中0稱之為負例,1稱之為正例。
對於多分類問題,可以如下定義因變數y:
y∈{0,1,2,3,...,n}如果分類器用的是迴歸模型,並且已經訓練好了一個模型,可以設定一個閾值:
- 如果hθ(x)≥0.5,則預測y=1,既y屬於正例;
- 如果hθ(x)<0.5,則預測y=0,既y屬於負例;
如果是線性迴歸模型,對於腫瘤這個二分類問題,圖形表示如下:
但是對於二分類問題來說,線性迴歸模型的Hypothesis輸出值hθ(x)可以大於1也可以小於0。
這個時候我們引出邏輯迴歸,邏輯迴歸的Hypothesis輸出介於0與1之間,既:
0≤hθ(x)≤1注: 以下引自李航博士《統計學習方法》1.8節關於分類問題的一點描述:
分類是監督學習的一個核心問題,在監督學習中,當輸出變數Y取有限個離散值時,預測問題便成為分類問題。這時,輸入變數X可以是離散的,也可以是連續的。監督學習從資料中學習一個分類模型或分類決策函式,稱為分類器(classifier)。分類器對新的輸入進行輸出的預測(prediction),稱為分類(classification).
2) Hypothesis Representation
邏輯迴歸模型:
上一節談到,我們需要將Hypothesis的輸出界定在0和1之間,既:
0≤hθ(x)≤1但是線性迴歸無法做到,這裡我們引入一個函式g, 令邏輯迴歸的Hypothesis表示為:
hθ(x)=g(θTx)這裡g稱為Sigmoid function或者Logistic function, 具體表達式為:
g(z)=11+e−zSigmoid 函式在有個很漂亮的“S"形,如下圖所示(引自維基百科):
綜合上述兩式,我們得到邏輯迴歸模型的數學表示式:
hθ(x)=11+e−θT其中θ是引數。
Hypothesis輸出的直觀解釋:
hθ(x) = 對於給定的輸入x,y=1時估計的概率
例如,對於腫瘤(惡性/良性),如果輸入變數(特徵)是腫瘤的大小:
這裡Hypothesis表示的是”病人的腫瘤有70%的可能是惡性的“。
較正式的說法可以如下表示:
給定輸入x,引數化的θ(引數空間), y=1時的概率。
數學上可以如下表示:
hθ(x)=P(y=1|x;θ)對於因變數y=0或1這樣的二分類問題:
P(y=0|x;θ)+P(y=1|x;θ)=1 P(y=0|x;θ)=1−P(y=1|x;θ)3) Decision boundary(決策邊界)
如上節所述,邏輯迴歸模型可以如下表示:
假設給定的閾值是0.5,當hθ(x)≥0.5時, y = 1;
當hθ(x)<0.5時,y = 0;
再次回顧sigmoid function的圖形,也就是g(z)的圖形:
當g(z)≥0.5時, z≥0;
對於hθ(x)=g(θTx)≥0.5, 則θTx≥0, 此時意味著預估y=1;
反之,當預測y = 0時,θTx<0;
我們可以認為θTx = 0是一個決策邊界,當它大於0或小於0時,邏輯迴歸模型分別預測不同的分類結果。例如,
hθ(x)=g(θ0+θ1x1+θ2x2)θ0,θ1,θ2分別取-3, 1, 1,
則當−3+x1+x2≥0時, y = 1; 則x1+x2=3是一個決策邊界,圖形表示如下:
上述只是一個線性的決策邊界,當hθ(x)更復雜的時候,我們可以得到非線性的決策邊界,例如:
這裡當x21+x22≥1時,y=1,決策邊界是一個圓形,如下圖所示:
更復雜的例子,請參考官方PPT,這裡就不再舉例了。
4) Cost function(代價函式,成本函式)
邏輯迴歸概覽:
邏輯迴歸是一種有監督的學習方法,因此有訓練集:
對於這m個訓練樣本來說,每個樣本都包含n+1個特徵:
其中x∈Rn+1, x0=1,y∈{0,1}.
Hypothesis可表示為:
hθ(x)=11+e−θTx
與線性迴歸相似,我們的問題是如何選擇合適的引數θ?
Cost Function:
線性迴歸的Cost Function定義為:
J(θ)=1m∑i=1m12(hθ(x(i))−y(i))2這裡可以把12(hθ(x(i))−y(i))2簡寫為Cost(hθ(x(i),y),更簡化的表示式為:
Cost(hθ(x),y)=12(hθ(x)−y)2如果和線性迴歸相似,這裡取 hθ(x)=11+e−θTx,會存在一個問題,也就是邏輯迴歸的Cost Function是“非凸”的,如下圖所示:
我們知道,線性迴歸的Cost Function是凸函式,具有碗狀的形狀,而凸函式具有良好的性質:對於凸函式來說區域性最小值點即為全域性最小值點,因此只要能求得這類函式的一個最小值點,該點一定為全域性最小值點。
因此,上述的Cost Function對於邏輯迴歸是不可行的,我們需要其他形式的Cost Function來保證邏輯迴歸的成本函式是凸函式。
這裡補充一段李航博士《統計學習方法》裡關於Cost Function或者損失函式(loss function)的說明,大家就可以理解Cost Function不限於一種方式,而是有多種方式可選,以下摘自書中的1.3.2小節:
監督學習問題是在假設空間F中選取模型f作為決策函式,對於給定的輸入X,由f(X)給出相應的輸出Y,這個輸出的預測值f(X)與真實值Y可能一致也可能不一致,用一個損失函式(loss function)或代價函式(cost function)來度量預測錯誤的程度。損失函式是f(X)和Y的非負實值函式,記作L(Y, f(X)).
統計學習中常用的損失函式有以下幾種:
(1) 0-1損失函式(0-1 loss function):
L(Y,f(X))={1,0,Y≠f(X)Y=f(X)(2) 平方損失函式(quadratic loss function)
L(Y,f(X))=(Y−f(X))2(3) 絕對損失函式(absolute loss function)
L(Y,f(X))=|Y−f(X)|(4) 對數損失函式(logarithmic loss function) 或對數似然損失函式(log-likelihood loss function)
L(Y,P(Y|X))=−logP(Y|X)損失函式越小,模型就越好。
邏輯迴歸的Cost Function:
基於上節的描述和補充,這裡我們選擇對數似然損失函式作為邏輯迴歸的Cost Function:
直觀的來解釋這個Cost Function,首先看當y=1的情況:
直觀來看, 如果y = 1, hθ(x)=1,則Cost = 0,也就是預測的值和真實的值完全相等的時候Cost =0;
但是,當hθ(x)→0時, Cost→∞
直觀來看,由於預測的結果南轅北轍:
如果h
轉載自:http://www.cnblogs.com/yysblog/p/3268508.html
一、邏輯迴歸
1) Classification(分類)
分類問題舉例:
郵件:垃圾郵件/非垃圾郵件?線上交易:是否欺詐(是/否)?腫瘤:惡性/良性?
以上問題可以
Logistic迴歸為概率型非線性迴歸模型,是研究二分類觀察結果與一些影響因素之間關係的一種
多變數分析方法。通常的問題是,研究某些因素條件下某個結果是否發生,比如醫學中根據病人的一些症狀來判斷它是
否患有某種病。
在講解Logistic迴歸理論之前,我們先從LR分類器說 機器學習三要素
機器學習的三要素為:模型、策略、演算法。
模型:就是所要學習的條件概率分佈或決策函式。線性迴歸模型
策略:按照什麼樣的準則學習或選擇最優的模型。最小化均方誤差,即所謂的 least-squares(在spss裡線性迴歸對應的模組就叫OLS即Ordinary Least Squares):
一、deeplearning-assignment
這篇文章會幫助構建一個用來識別貓的邏輯迴歸分類器。通過這個作業能夠知道如何進行神經網路學習方面的工作,指導你如何用神經網路的思維方式做到這些,同樣也會加深你對深度學習的認識。
儘量不要在程式碼中出現for迴圈,可以用nu
1. 概率
1.1 定義
1.2 範圍
1.3 計算方法
1.3.1 根據個人置信
1.3.2 根據歷史資料
1.3.3 根據模擬資料
1.4 條件概率
2.
2.1 &
本文主要使用markdown進行編輯的。
概述
在講述梯度下降演算法之前,我們先需要了解一下導數(derivative)、偏導數(partial derivative)和方向導數(directional derivative),然後我們看看梯度下降法(
在前面部落格中介紹了單變數線性迴歸的實現過程,本文將介紹多變數線性迴歸演算法。
兩者的對比如下:
1.資料方面的差異:
單變數線性迴歸資料:
多變數線性迴歸資料:
對於單變數線性迴歸來說,只有一個特徵(房子的大小),而對於多變數線性特徵迴歸特徵
線性迴歸(Linear Regression)
從這篇文章開始,主要介紹機器學習的一些列基本演算法,本文介紹線性迴歸問題,以及利用最小均方和梯度下降解決線性迴歸問題。
(以下內容是根據斯坦福大學ng教授的機器學習公開課總結的內容)
監督學習:即訓練資料中既包含了輸入資
最近在網易公開課上學習Andrew Ng教授的機器學習課程,從第二講開始就雲裡霧裡了。雖然講的數學概念和公式都很眼熟,但是具體的內容又說不上來。最讓我疑惑的是最小二乘法和梯度下降法,這
一篇經典部落格:
http://blog.csdn.net/walilk/article/details/50978864
1.導數定義:導數代表了在自變數變化趨於無窮小的時候,函式值的變化與自變數的變化的比值。幾何意義是這個點的切線。物理意義是該時刻的(瞬時)變化率。
# 第一個機器學習演算法:線性迴歸與梯度下降
## 符號解釋
* $x^{(i)}$,$y^{(i)}$:某個訓練樣本
* $m$:樣本總數量
* $h_{\theta}$:假設函式
## Linear regression(線性迴歸)
### 如何獲得一個線性迴歸模型?
* 將**訓練資料**放入 # 預測從瞎猜開始
按[上一篇文章](https://mp.weixin.qq.com/s/-KsbtgOc3C3ry-8P5f8K-Q)所說,機器學習是應用數學方法在資料中發現規律的過程。既然數學是對現實世界的解釋,那麼我們迴歸現實世界,做一些對照的想象。
想象我們面前有一塊塑料泡沫做的白板,白板上
Python梯度下降法實現二元邏輯迴歸
二元邏輯迴歸假設函式
定義當函式值大於等於0.5時,結果為1,當函式值小於0.5時,結果為0.函式的值域是(0, 1)。
二元邏輯迴歸的損失函式
上圖為二元邏輯迴歸的概率公式,則代價函式可以表示為 損失函式求偏倒數為
可以發
引言
邏輯迴歸常用於預測疾病發生的概率,例如因變數是是否惡性腫瘤,自變數是腫瘤的大小、位置、硬度、患者性別、年齡、職業等等(很多文章裡舉了這個例子,但現代醫學發達,可以通過病理檢查,即獲取標本放到顯微鏡下觀察是否惡變來判斷);廣告界中也常用於預測點選率或者轉化 3.1 初始 屬性 author alt closed sta lose cnblogs 本文主要使用了對數幾率回歸法與線性判別法(LDA)對數據集(西瓜3.0)進行分類。其中在對數幾率回歸法中,求解最優權重W時,分別使用梯度下降法,隨機梯度下降與牛頓法。
代碼如下:
叠代 -s nbsp xib 大量 步長 空間 圖片 ges Hulu優秀的作者們每天和公式抗爭,只為提升你們的技能,感動的話就把文章看完,然後哭一個吧。
今天的內容是
【隨機梯度下降法】
場景描述
深度學習得以在近幾年迅速占領工業界和學術界的高地,重要原因之一是數
本文也是根據吳恩達機器學習課程作業的答案。
迴歸:預測值是連續的; 分類:預測值是離散的;
建模誤差:預測值與實際值之間的差距;
目標:選擇模型引數,使得建模誤差的平方和能夠最小,即代價函式最小;
代價函式:選擇平方誤差函式,是解決迴歸問題最常用的手段;代價函式是幫助我們選擇最優 梯度下降法是非常常見的優化方法,在神經網路的深度學習中更是必會方法,但是直接從深度學習去實現,會比較複雜。本文試圖使用梯度下降來優化最簡單的LSR線性迴歸問題,作為進一步學習的基礎。
import numpy as np
import pandas as pd
from numpy import *
對於資料分析而言,我們總是極力找數學模型來描述資料發生的規律, 有的資料我們在二維空間就可以描述,有的資料則需要對映到更高維的空間。資料表現出來的分佈可能是完全離散的,也可能是聚整合堆的,那麼機器學習的任務就是讓計算機自己在資料中學習到資料的規律。那麼這個規律通常是可以用一些函式來描述,
回顧
關於梯度下降法 以及線性迴歸的介紹,我們知道了:
線性迴歸的損失函式為:
J
(
相關推薦
邏輯迴歸與梯度下降法
邏輯迴歸與梯度下降
斯坦福CS229機器學習課程筆記一:線性迴歸與梯度下降演算法
吳恩達深度學習deeplearning.ai-Week2課後作業-Logistic迴歸與梯度下降向量化
邏輯迴歸和梯度下降
梯度與梯度下降法
斯坦福大學機器學習筆記——多變數的線性迴歸以及梯度下降法注意事項(內有程式碼)
線性迴歸與梯度下降
最小二乘法與梯度下降法
機器學習與高數:梯度(Gradient)與梯度下降法(Gradient Descent)
第一個機器學習演算法:線性迴歸與梯度下降
機器學習(二):理解線性迴歸與梯度下降並做簡單預測
Python梯度下降法實現二元邏輯迴歸
邏輯迴歸梯度下降法詳解
對數幾率回歸法(梯度下降法,隨機梯度下降與牛頓法)與線性判別法(LDA)
Hulu機器學習問題與解答系列 | 二十四:隨機梯度下降法
線性迴歸和梯度下降講解與程式碼
梯度下降法實現最簡單線性迴歸問題python實現
梯度下降法求多元線性迴歸及Java實現
【機器學習】基於梯度下降法的自線性迴歸模型