下面給出H函數
git
由這個函數生成的曲線稱爲Sigmoid曲線
算法
先不從數學上說爲何這個模型中二元分類上比線性模型好,單純從圖形上看就能夠獲得直觀的結論
首先Y值域在[0,1],其次圖形中中間陡峭而兩邊平緩,符合二元分類的樣本點特性函數
肯定了模型,下面要作的是fit最優的θ,仍然是採用最大似然法,即找出對訓練數據可能性最大的那個θpost
前面對於線性迴歸問題,符合高斯分佈(連續迴歸問題每每符合高斯分佈),最終咱們由最大似然推導出最小二乘迴歸
可是對於二元分類,符合伯努利分佈(the Bernoulli distribution, 又稱兩點分佈,0-1分佈),由於二元分類的輸出必定是0或1,典型的伯努利實驗
by the way,二項分佈是n次獨立的伯努利實驗造成的機率分佈,當n=1時,就是伯努利分佈
一樣,若是離散輸出是多個值,就是符合多項分佈
學習
看看由最大似然能夠推導出什麼
首先給出伯努利分佈
spa
是否好理解,給定x;θ,y=1的機率等於h的值,看看圖中,固然是h的值越大越可能爲1,越小越可能爲0
那麼這個式子能夠合併寫成,比較tricky的寫法,Y爲0或1,總有一項爲1
那麼θ的似然函數定義爲,θ的可能性取決於模型對訓練集擬合的好壞
3d
一樣爲了數學計算方便,定義log likelihood,
blog
很顯然,對於伯努利分佈,這裏沒法推導出最小二乘
下面要作的是找到θ使得ℓ(θ)最大,因爲這裏是找最大值而非最小值,因此使用梯度上升(gradient ascent),道理是同樣的
首先計算梯度,計算過程參考原文
數學
因此最終隨機梯度上升rule寫成,
這個梯度公式,奇蹟般的和線性迴歸中的梯度公式表面上看是同樣的,能夠仔細比較同樣的
之因此說表面上,是由於其中的是不一樣的,這裏是logitics函數。it
Perceptron Learning Algorithm(感知機算法)
這裏談感知機,好像有些離題,可是你看下感知機的函數
單純從直觀圖形的角度,彷佛是邏輯函數的簡化形式
邏輯函數是連續的在[0,1]區間上,而感知機直接非0則1,參考下圖紅線
一樣使用梯度降低的感知機算法也是和上面相同的形式
一樣不一樣的僅僅是h(x) 1960s,感知機被看做是大腦工做中獨立神經元的粗糙的模型,因爲簡單,會用做後面介紹的學習算法的起點 雖然直觀看上去感知機和以前看到的logistic迴歸或最小二乘迴歸很像,可是實際上是很是不同的算法 由於,對於感知機,很難賦予一種有意義的機率解釋(probabilistic interpretations),或使用最大似然估計算法來推導感知機算法 而對於最小二乘或logistic均可以給出像高斯分佈或伯努利分佈的機率解釋,並能夠使用最大似然進行推導。