李宏毅机器学习笔记第5周_逻辑回归


一、Logistic Regression

这里的Logistic Regression是采用机器学习的三个步骤进行的,步骤如下所示。

二、Step 1: Function Set

在这里插入图片描述
1)Function中有两组参数,一组是w,称为权重weight,然后有常数b,称为bias。现在我们有一组输入xi,分别乘上wi,然后再加上b,就可以得到Z,Z通过Sigmoid Function,得到output值是概率probability。
在这里插入图片描述
2)在Logistic Regression和Linear Regression中,Logistic Regression的输出值只能是0到1之间 ,而Linear Regression的输出值是任何值。
在这里插入图片描述

三、Step 2: Goodness of a Function

1) 给我们一组w和b,我们就可以计算某一组w和b的x比TrainingData的概率。下图所示的L(w,x)就可以计算出x1,x2,x3,……xN的概率,而最有可能的两个参数w和b就称为w*,b*。
在这里插入图片描述
2)我们可以找到w*,b*=argmax(w,b)L(w,b)等价于w*,b*=argmin(w,b)-ln⁡〖L(w,b)〗,这样可以让计算变得更加容易。我们再进行一次变换,如果x属于Class1,ŷ就为1,反之x属于Class2,ŷ就为0。这样就可以得到−lnL(w,b)的展开式。
在这里插入图片描述
3)下图中当x属于C1时,y^ 就为1,因此1-y^ =0。
在这里插入图片描述
4)通过上述步骤,就可以得到如下图所示。
在这里插入图片描述
5) 现在给两个Distribution p和Distribution q,计算这两个cross entropy交叉熵,也就是计算这两个Distribution接近的程度。如果这两个Distribution分布的一样,那么交叉熵为0。因此我们的目标是让这两个Distribution的分布越接近越好,这样可以使它们的交叉熵越小。交叉熵的公式如下图所示。
在这里插入图片描述
6)Logistic Regression与Linear Regression不同,如果x属于Class1,y^ 就为1,反之x属于Class2,y^ 就为0。而它的L(f)是cross entropy交叉熵的和。
在这里插入图片描述

四、Step 3: Find the best function

1)公式如下图所示
在这里插入图片描述
2)手推公式
在这里插入图片描述
3)整个过程受到三个因素影响,第一个是Learing rate,第二个是xi,第三个是ŷ-fw,b(x hat n),ŷ只能取值0或1,fw,b(x^n)是函数的输出值,两者差异越大,需要更新的量也越大。
在这里插入图片描述
4)Logistic Regression和Linear Regression一模一样,唯一不一样的是 Logistic Regression的target只能是0或1,f一定是介于0到1之间,而Linear Regression的target可以是任何数,f可以是任何数。
在这里插入图片描述

五、Logistic Regression + Square Error

在这里插入图片描述
1)我们采用Class 1的例子,得到它对应的两种函数的计算偏导的结果都是0,这显然是合理的。
在这里插入图片描述
2)我们采用Class 2的例子,得到它对应的两种函数的计算偏导的结果都是0,这显然是不合理的。
在这里插入图片描述
3)Cross Entropy 比较 Square Error
如下图所示,黑色的是Cross Entropy,红色的是Square Error。Cross Entropy在距离中心点(最低点)很近的位置,微分值很小,在距离中心点(最低点)很远的位置,微分值很大,这意味着参数的更新很快。Square Error在距离中心点(最低点)很近的位置,微分值很小,在距离中心点(最低点)很远的位置,微分值也很小,这意味着参数的更新很慢。
在这里插入图片描述

六、Discriminative 比较 Generative

1)Discriminative和Generative它们二者的Function set一模一样,但是由于我们的假设不一样,所以在相同的Function set中,我们求出来的w和b不相同。在Generative model中,假设数据来自高斯分布或者伯努利分布。
在这里插入图片描述
2)只考虑2种因素,两者的结果比较接近,但考虑7种因素后,Discriminative比Generative的结果更好一些。
在这里插入图片描述
3)如下图所示,每一笔data有两个feature,我们给两个label为1是Class 1,其余都为Class 2。现在我们给一组Testing Data,我们人为判断它为Class 1。
在这里插入图片描述
4)通过计算得到Testing Data属于Class 2。因为Naïve Bayes不考虑不同的dimension之间的correlation,对于Naïve Bayes来说,这两个dimension是independent所产生的。在Class 2里面之所以没有观察到Training Data,是因为sample得不够多。
Generative模型对data做了某些假设,它进行了脑补,假设data来自某个分布。通常脑补不是一件好的事情,因为data没有告诉我们,但是在data很少的情况,是可以脑补的。
在这里插入图片描述
5)Generative会遵循自己的假设,有时会去无视这个假设,而去遵从自己,因此在data量很小的时候很有优势,而Discriminative依靠data,随着data量增大,Discriminative Model的error会越来越小。
当data所含的noise比较多时,Generative会比Discriminative更好,因为data的label本身就有问题,所以Generative自己做了脑补去把data里面的noise给忽略掉。
在这里插入图片描述

七、Multi-class Classification

1)假设我有3个class,参数如下图所示。
在这里插入图片描述
2)max是求最大值,softmax函数会对最大值做强化,而强化的意思是会使每一个Zi的值之间的差距拉的更大。假设data来自高斯分布,而每一个Class所属的分布都使用协方差矩阵,通过推导就可以得到softmax函数。
在这里插入图片描述
3)通过上述操作,整理得到下图所示。
在这里插入图片描述
4)如下图所示,这样设置会隐性地给分类增加限制,Class1和Class2会比较近,Class1和Class3会比较远。
在这里插入图片描述

八、Limitation of Logistic Regression

1)提出问题:无论我们怎么选择w和b,怎么画一条线,都不能将红色点和蓝色点划分开。
在这里插入图片描述
2)我们可以做Feature Transformation,自己定转换的原则,我们把x1,x2转换到另外的位置上。但不是每一次都能找到好的transformation,这个需要人为来做,失去了机器学习的意义。
在这里插入图片描述
3)我们需要靠机器自己产生transformation,因此我们需要Cascading logistic regression models。
在这里插入图片描述
4)如下图所示,右上角的蓝色是通过调整w和b得到的输出,可以发现左上角的数字比右下角的数字大。右下角的绿色也是通过调整w和b得到的输出,可以发现左上角的数字比右下角的数字小,这些操作都是做到的。
在这里插入图片描述
5)如下图所示,通过transformation,红色的两个点变成了(0.73,0.05)和(0.05,0.73),蓝色的点变成了(0.27,0.27),因此现在我们可以找到一个线把红色的点和蓝色的点区分开来。
在这里插入图片描述


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值