[監督式]Logistic Regression(邏輯回歸)

回顧分類問題

Logistic Regression

可分為3個部分,1.定義Function set,2.定義Loss function,3.做Gradient Descent。

Function Set

這邊我們先以二元分類來說明。

  • 定義假設函數
    Gradient Descent一樣,我們需要定義一個hypothesis set,hypothesis set是可能產生我們手上資料的函數集合。
    在之前分類問題中有講到,分類問題的機率可以用機率分佈推得,然而這樣的概念可以延伸到Logistic Regression。
    注意:x^j_i表示第j筆資料的第i個特徵。

邏輯回歸與線性回歸hypothesis set之差異

Loss Function

  • 定義L(loss function)

N:樣本數。
P_{w,b}(C_1|x):特徵x確定時,\hat{y}=C_1=1的機率。
P_{w,b}(C_2|x):特徵x確定時,\hat{y}=C_2=0的機率。
假設C_1資料由P_{w,b}(C_1|x)=P_{w,b}(\hat{y}=1|x)=f_{w,b}(x)=\sigma\left(\sum_{i=1}^{N}w_ix_i+b\right)這個機率分佈所產生的,C_2資料=P_{w,b}(\hat{y}=0|x)=f_{w,b}(x)

L(w,b)就是由這些數據點產生P_{w,b}(\hat{y}|x)的機率,因為每個數據點獨立所以等於由每個數據點產生\hat{y}(f_{w,b}(x^1)、f_{w,b}(x^2)、(1-f_{w,b}(x^3))...)機率的乘積。
我們要找到某個(w,b)使L這個機率最大,就是求斜率等於零(函數的最高點或最低點),找到的這個(w,b)就是P(x|C_1)(w,b)
注意:因為x^3C_2,所以x^3產生C_2的機率為(1-f_{w,b}(x^3))f_{w,b}(x^3)x^3產生C_1的機率。

  • 求最大值轉換為求最小值
    左右同乘(-ln),L(w,b)越大,-ln\left(L(w,b) \right)就越小,所以需要求-ln\left( L(w,b) \right)最小值。

  • 二項分佈與hypothesis set之關係
    二項分佈
    二項分佈當n=1時,就是白努力分佈。所以C(n,x)永遠等於1,這邊圖一的x就是\hat{y}
    \hat{y}等於白努力分佈成功X次(0\ge\hat{y}\le1),p=p(x)=f_{w,b}(x)q=q(x)=1-f_{w,b}(x)
    所以出現\hat{y}次成功的機率為:p(\hat{y}|x)=p(x)^{\hat{y}} \cdot q^{1- \hat{y}}= f_{w,b}(x)^{\hat{y}} \cdot (1-f_{w,b}(x))^{1-\hat{y}}

圖一
  1. -ln(p(\hat{y}|x))
    -ln(p(\hat{y}|x)) = -ln(f_{w,b}(x)^{\hat{y}} \cdot q^{1- \hat{y}})
    =-[ln(f_{w,b}(x)^{\hat{y}}) + ln((1-f_{w,b}(x))^{1-\hat{y}})]
    =-[\hat{y}ln(f_{w,b}(x)) + (1-\hat{y})ln(1-f_{w,b}(x))]
  2. -ln(f_{w,b}(x))由圖三可證明:
    -ln(f_{w,b}(x)) = -ln(p(\hat{y}=1|x)) = -[\hat{y}ln(f_{w,b}(x)) + (1-\hat{y})ln(1-f_{w,b}(x))],\hat{y}代入1
    -ln(1-f_{w,b}(x)) = -ln(p(\hat{y}=0|x)) = -[\hat{y}ln(f_{w,b}(x)) + (1-\hat{y})ln(1-f_{w,b}(x))],\hat{y}代入0
    所以可以推得:
    -ln(L(w,b)) = \sum_{j=1}^{N}-[\hat{y}^jln(f_{w,b}(x^j)) + (1-\hat{y}^j)ln(1-f_{w,b}(x^j))]
    =-ln(\prod_{j=1}^NP_{w,b}\left({\hat{y}^j|x^j}\right))(∏為所有數值的乘積)
    結論:L(w,b) = \prod_{j=1}^NP_{w,b}\left({\hat{y}^j|x^j}\right)
圖二

圖三
  • Cross entropy(交叉熵)概念
    Cross entropy相關文章。

  • Cross-Entropy(交叉熵)形式
    實際的機率分佈(\hat{y})與我們找到的機率分佈(f_{w,b}(x))的Cross-Entropy的公式為:H(\hat{y}||f_{w,b}(x)) = \sum_{c=1}^{2}\hat{y}\left(c\right) \cdot \log_e\left(\frac{1}{f_{w,b}(x)\left(c\right)}\right) = -\sum_{c=1}^{2}\hat{y}\left(c\right) \cdot \log_e\left({f_{w,b}(x)\left(c\right)}\right)
    p_1= P_{w,b}(x)_1,這是實際上產生C的function,它與p_2有不同的p(x)
    [c=1,p_1=\hat{y}], [c=0,p_1=1-\hat{y}]
    p_2 = P_{w,b}(x)_2,這是我們找到的產生C的Function,它與p_1有不同的p(x)
    [c=1,p_2=f_{w,b}(x)],[c=0,p_2=1-f_{w,b}(x)]
    代入cross entropy後得-[\hat{y}ln(f_{w,b}(x)) + (1-\hat{y})ln(1-f_{w,b}(x))]
    注意:\hat{y}為機率分佈,\hat{y}^j為機率
    結論:
    -ln(L(w,b))就是在求兩個P_{w,b}(x)實際的機率分佈(\hat{y})與我們找到的機率分佈(f_{w,b}(x))的Cross entropy,Cross entropy 越小表示找到的function與實際越接近。
    所以我們可以直接定義Loss function為L(f)=\sum_{j=1}^{N}Cross entropy(f(x),\hat{y})

邏輯回歸與線性回歸loss function之差異

最佳的hypothesis

  • 對Loss function(L(f))做Gradient Descent找最小值。
  • cross entropy與square error差異
    square error再距離目標很遠時,比較平坦,更新速度慢,cross entropy再距離目標很遠時很陡峭,更新速度快。

Discriminative v.s. Generative

  • Discriminative 比較 Generative
    假設有一個分佈為\sigma(w,b)去定義Loss Function這方法稱為Discriminative ,而分類問題那篇我們使用假設高斯分佈去推測機率的方法稱為Generative。
    然而他們找出來的答案不會是一樣的,Generative我們假設資料是高斯分佈,而Discriminative 我們假設資料為任何機率分佈,通常Discriminative model會比Generative
    model表現得更好 。
    當資料少的時候,有時候加一些假設或許會有比較好的結果。

多類別分類(Multi-class Classification)

我們有3個類的時候,我們想像成求3個二元分類問題。
m個樣本、n個特徵、K個類別,\theta^T=w^T,將x多一個全為1的特徵,b換成w_0

  • Softmax
    Softmax函數:將值映射成0~1之間的值,所有值之和等於1
    Softmax([z_1,z_2,z_3])=\left[\frac{e^{z_1} }{\sum_{j=1}^{3}e^{z_j}},\frac{e^{z_2} }{\sum_{j=1}^{3}e^{z_j}},\frac{e^{z_3} }{\sum_{j=1}^{3}e^{z_j}}\right] = function set

  • Softmax的Hypothesis and Loss function and gradient
    I\left\{ y^i=j \right\},如果\left\{ y^i=j \right\}成立,則I=1,否則I=0

Hypothesis

Loss function

Gradient

Logistic Regression的限制

Logistic Regression無法做非線性分類,需要使用Neural Network,或手動作特徵轉換。

參考李宏毅老師ML課程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 为何叫做 shell ? shell prompt(PS1) 与 Carriage Return(CR) 的关系?...
    Zero___阅读 3,153评论 3 49
  • 更改Jupyter notebook初始目录 系统环境:64位Windows 10,Anaconda3,Pytho...
    IT小小阅读 129评论 0 0
  • 从上床到真正入眠,我大概需要一到两个小时的时间。在这一段时间中,我会反复的打开微信、微博、简书、知乎,漫无目的地查...
    魔术师阅读 402评论 1 4