自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機器學習蝦扯淡之Logostic回歸

開發(fā) 開發(fā)工具
大家好我是小蕉。不知道小伙伴有沒有什么意見建議,是不是發(fā)現(xiàn)每個字都看得懂,但是全篇都不知道在說啥?哈哈哈哈哈哈,那就對了。

0x00 前言

大家好我是小蕉。上一次我們說完了線性回歸。不知道小伙伴有沒有什么意見建議,是不是發(fā)現(xiàn)每個字都看得懂,但是全篇都不知道在說啥?哈哈哈哈哈哈,那就對了。

這次我們來聊聊,有小伙伴說,那我如果我么想把結果分為兩撥,就這樣的,咋辦?

大蕉大筆一揮。啊這不是分好了嗎?

我敢說,現(xiàn)在百分之很多十(目測七八十)說自己在做人工智能的,都只是用Logistic回歸在做分析。

“就你事多。我不會分。”

“想學啊你?我教你啊。”

0x01 Logistic是啥玩意

想法大概是這樣。把數(shù)據(jù)映射到Logistic函數(shù)上邊,大于0.5我們就認為是類別y1 = 0,小于0.5我們認為是類別y2 = 1。

  1. y ∈ {0 , 1} 

這個函數(shù)長啥樣?就長下面這樣。

  1. π (x) = 1 / ( 1 + exp (-x)) 

所以我們在這種情況下,觀察到各個樣本的概率長下面這樣。

  1. P( Y = 1 | x ) = 1 / ( 1 + exp (-x))  
  2. P( Y = 0 | x ) = 1 / ( 1 + exp (x)) 

所以比值比ODD 長這樣

  1. odd = P( Y = 1 | x ) / P( Y = 0 | x ) = exp (x) 

對數(shù)比值比剛剛好

  1. ln odd = x 

你說神不神奇!!當然我們不僅僅只有一個參數(shù)是吧?所以對原始數(shù)據(jù)變成

  1. g(x) = θ.T * x + b 

其中θ是一個N維的向量,跟每一個樣本X的維度保持一致這樣。

所以LR的映射函數(shù)做一下線性變換就變成這樣了。

  1. π (x) = 1 / ( 1 + exp (-g(x))) 

到這里,我們已經(jīng)知道Logistic回歸是什么鳥了,其實就是把數(shù)據(jù)映射到Logistic函數(shù)上,根據(jù)概率來進行分類。

0x02 極大似然估計

那我們要怎么得到損失函數(shù)loss呢?不要急跟大蕉一步一步來。

上面我們已經(jīng)看到了每個樣本的概率。現(xiàn)在說一下極大似然估計是什么東西。極大似然估計,就是我們裝作這些個參數(shù)啊,我們老早就知道了,然后借此來估計現(xiàn)在這些樣本被觀察到的概率。你腦子wata啦?既然這些樣本都已經(jīng)發(fā)現(xiàn)了,所以實際概率肯定是***啊!!概率要越大越好越大越好,而又只是一個估計值,所以我們就叫它極大似然估計啦。

所以我們觀察到樣本的概率是

  1. P = (p ^ Y) * (( 1 - p) ^ ( 1 - Y )) 

怎么容易一點去理解這行蜈蚣一樣的公式呢?把Y的值0跟1代進去就行了,你就懂了,Y等于0的時候就是(1 - p ),y等于1時就是 p。就是這么簡單。

下面是重點。敲黑板,劃重點!!!我就是卡在這里想了很多天,完全不知道損失函數(shù)怎么來的!

因為所有樣本都是相互獨立的,所以他們的聯(lián)合概率分布是他們的概率乘積。

  1. L(θ) = ∏ (p ^ yi) * ( (1 - p) ^ (1 - yi)) 

yi是每個樣本的實際Y值。我們這里要求***值嘛,那要變成損失函數(shù)咋變?我們知道這個值永遠是 ( 0 , 1)的,所以直接加個負號,本來求***就變成求最小了。

  1. ∴ loss = - L(θ) 

當然我們習慣這樣加,看起來比較高端,m是樣本的個數(shù)

  1. ∴ loss = - 1/m * L(θ) 

無所謂,原理一樣的。

乘法是很消耗資源的,我們可以把它轉換成對數(shù),這樣所有的乘法都變成加法啦!!而且而且函數(shù)的性質(zhì)不變。所以最終的損失函數(shù)長這樣。

  1. loss(θ) = - log L(θ) 

下面開始我們用Andrew NG大大的方式變換一下好了,僅僅是為了后面比較好算而已。

  1. P = p ^ (y + 1) / 2 * (1 - p) ^ - (y - 1) / 2  
  2. Y ∈ {-1,1} 

跟上面沒什么本質(zhì)的差別,只是把Y的值域變成-1跟1了。下面就是普通的公式變換。

0x03 損失函數(shù)咋來的

  1. l(θ) = - ∑ ln(p ^ (yi + 1) / 2 * (1 - p) ^ - (yi - 1) / 2) 

進行l(wèi)og變換,冪乘變成乘法。

  1. = - ∑ (yi + 1) / 2 * lnp - (yi - 1) / 2 * ln(1 - p) ) 

把p代進去,也就是把把負號放到P里邊了。變成直接取倒數(shù)。就得到下面這個

  1. = ∑ (yi + 1) / 2 * ln(1 + exp (-g(xi)) - (yi - 1) / 2 * ln( 1 + exp (g(xi))) 

觀察一下,就可以看出來。自己代進去就知道啦。

  1. ∴ 當yi = 1 時,l(θ) = ∑ ln(1 + exp ( - g(xi)) 

當yi = -1 時,l(θ) = ∑ ln(1 + exp ( g(xi))

所以最終的損失函數(shù)長這樣。

  1. l(θ) = ∑ ln(1 + exp ( - yi * g(xi)) 

好了,到這里我們的推導就結束了,接下來就按照梯度下降算法去求最小值就好啦。

0x04 怎么用呢

然后我們就可以用最終得到的參數(shù)進行預測,大于0就當成類別Y1 ,即Y = 1,小于0當成類別Y1,即Y = -1。當然,這只能用于二分類。

那這玩意有什么用呢?應用場景比比皆是。

用戶點擊還是不點擊?客戶是欺詐還是沒欺詐?客戶逾期還是不逾期?這個產(chǎn)品是推薦還是不推薦?

傳說中的人工智能預測高端引擎就出來了,小伙伴自己試試看把。

0x05 結束語

今天就醬,掰~跪在地上求不掉粉。

【本文為51CTO專欄作者“大蕉”的原創(chuàng)稿件,轉載請通過作者微信公眾號“一名叫大蕉的程序員”獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2021-04-21 10:47:48

機器學習邏輯回歸

2017-06-14 17:18:43

機器學習數(shù)據(jù)研究回歸

2014-08-22 10:06:46

機器學習

2017-05-17 08:24:08

TensorFlow機器學習線性回歸

2017-11-24 10:43:43

Madlib機器學習

2020-12-19 10:54:25

機器學習線性回歸算法

2020-12-23 07:54:56

Python機器學習邏輯回歸算法

2020-12-20 20:31:56

Python機器學習多元線性回歸

2020-11-06 09:00:00

機器學習集成學習人工智能

2018-03-15 11:50:53

機器學習入門Tensorflow

2020-11-10 08:37:05

Python線性回歸機器學習

2022-08-16 15:17:37

機器學習算法模型

2014-06-19 14:14:35

機器學習

2018-08-03 10:30:16

算法回歸機器學習

2023-11-29 14:34:15

機器學習統(tǒng)計學

2024-06-13 09:12:38

2017-07-25 12:09:10

機器學習預測性維護模型

2022-09-06 08:00:00

機器學習金融數(shù)據(jù)科學

2020-12-24 06:54:45

Python機器學習多類分類邏輯回歸

2020-12-22 07:09:01

Python機器學習多項式回歸
點贊
收藏

51CTO技術棧公眾號