吴恩达机器学习第七章---Logistic回归

分类

                            

      我们先来考虑什么是分类,对于一个具体的事物我们可以将其划分为某一类,例如上图中对于垃圾邮件的分类,或者对于肿瘤的分类,我们可以将邮件分为正常邮件或者垃圾邮件,同样我们还可以将肿瘤分为良性或恶性。一般来说,我们将能获得的分为1,不能获得的分为0.当然这仅仅是二分类问题,我们还可以将其按照上面y的手写取值一样划分为为0,1,2,3这称之为多分类问题。

                                            

        但我们要考虑的一点是分类最终得出的结果只有两个值,但我们如果使用前面提到的线性回归去拟合训练数据,得出的很可能是一条如图中紫线部分所画的线。这很明显是一个连续的,我们如何将其分类那?答案是设定阈值,本例中设定阈值为0.5,当得出的结果大于0.5时为1,小于0.5时为0. 

                                                         

            但给定的数据集往往并不是如同我们预料到的一样,如上图所示的情况中,我们在恶性肿瘤的情况下增加了一个样本,但它的位置距离我们原本给定的阈值较远,此时我们在使用线性回归生成的线大致如同蓝线所示。那这个时候我们给定的阈值就将一些原本是恶性肿瘤的样本划分到了良性,很明显这是很不合适的。将线性回归应用于分类问题看来不是一个好主意。因此我们提出Logistic回归,它的结果介于0到1之间。尽管名字里有回归但实际上它是分类算法。

假设陈述

                                    

           如上图所示,我们采用线性回归的方法使用的假设函数为hθ(x)=θ^T*x,我们对于线性回归则使用将等号右边的值放置函数g里面,函数g称之为逻辑函数这也是逻辑回归的由来,而g(x)对应的图像如右图红线部分所示。介于0到1之间。我们将二者结合起来就得到上面的函数。 

                                             

         具体例子如上图所示我们给定一个特征是肿瘤的大小(X0=1为对应于第一个参数我们假设其值为“1”)作为输入。然后我们得到的是一个概率问题,我们由图可得知hθ(x)得出的结果为0.7。这就要用到以前学过的条件概率问题,它的意思为在x为θ的条件下,y=1的概率为0.7.由上面的两个图我们其实就已经得到逻辑回归的假设函数是怎样的了。

决策界限

                                              

                  我们在上面两步可以得出逻辑回归对应的假设函数如上图所示,我们得知g(z)的图形如右图所示。我们从图像上可以得出结论,当g(z)函数的自变量z>=0时,g(z)>=0.5,此时y=1,当g(z)中z<0时g(z)<=0.5此时y=0。而我们对应于z为θ^T*x,所以我们得出如下结论,当θ^T*x>=0时 hθ(x)=1,当θ^T*x<0时 hθ(x)=0。

                                                

              如上图所示,我们得到一个逻辑回归的假设函数我们先假设其对应的三个参数θ1 = -3.θ2=1,θ3=1  这样实际就是 -3+x1+x2作为g(z)的自变量,我们很容易可以看出有两个特征,根据我们在前面所得知的。我们认定当 

-3+x1+x2>=0时y=1,否则y=0,这时我们将-3移动到等号的右边,就得到x1+x2>=3.我们根据特征值与该式子输入是否成立作为判别y值得依据。这样我们实际得到一个式子,即x1+x2=3我们在右图将这个函数画出正好是一条直线,而且正好将给出的数据集分成了两部分,我们便称这条线为决策界限,根据我们的推论我们可以得出实际我们并不需要数据集就可以得出决策边界,只要我们确定好参数后就可以得出。

                                                    

          上图中的例子同样如此,已知给出两个特征,给出的数据集的图像如左边的图像所示。很明显无法根据两个特征绘制出该图形,我们在前面提到,实际上可以自己创建特征,在这里分别使用x1^2和x2^2作为两个新的特征。那么假设我们给定的参数为

θ0=-1,θ1=0,θ2=0,θ3=1,θ4=1。这样实际的式子应该为我们令其等于0,就可以得到一个圆,这个圆就是该式子对应的决策界限。我们可以知道实际上我们并没有通过训练集来确定决策边界的,我们使用训练集来拟合θ。

代价函数

           我们在线性回归中为了求得一个合适的参数提出代价函数的概念,在这里我们同样使用代价函数来求参数θ。

                              

          给出的训练集如上图所示。 

                                         

            如上图所示,我们给出线性回归的代价函数,然后列出逻辑回归的代价函数,但我们发现一个问题。由于g(x)并非是线性的,这就导致我们所画的代价函数也并非线性的,它的图像大部分时间如左边的图所表现出来的一样。而这样我们就没有办法求得其最小值,左边的图有太多的局部最小值,如果使用梯度下降,明显不行。那我们就要考虑能否构建一个新的代价函数。

                                            

            如上图所示,我们使用log来定义逻辑回归的代价函数,同线性回归一样二者都是通过真实值与预测值之间的对比来判断参数。当y=1时,其对应的图如左下角所示。(注意,竖轴不是y的取值,而是代价函数的代价,y在这个图里面取值一直是1).这样我们可以做出如下判断当预测值与真实值均为1的情况下,代价函数代价就为0.而当真实值为1,预测为0时代价就会无穷大。同理,当y=0时对应的图像如下。

                                                  

简化代价函数与梯度下降

                                      

              我们在上一小节得出结论代价函数应当分为y=0和y=1的两种情况。我们在考虑时总是分开考虑,那么能不能将代价函数简化一下放置到一个式子中来那?自然是可以得。如上图所示我们将二者结合起来,得到下图的结果。

                                            

                                                     

           我们在得出正确的代价函数后,开始考虑使用梯度下降算法来得出参数。我们可以看到这个梯度下降算法与前文中所讨论的线性回归的梯度下降十分相似。那么二者是否一致那?结果是否,因为h(x)对应的具体不相同,因此其对应的梯度下降也不一样。但前面对线性回归中梯度下降算法的精确求值(特征缩放)在这里同样适用。

高级优化

           

多元分类:一对多

                              

        我们在之前提到多分类问题,即一个最后有两个以上的结果。现实中的例子有很多,如上述的邮件分类,病人诊断,天气情况等。

                                    

            我们在面对这样的问题时其实要做的就是将原本的多分类,变为二分类。如上图所示,本来数据集中一共有三个不同的类别,我们先求三角形,将任意的其他的类型设置为负类。同理,对于正方形以及x我们都是采用同样的方法。每个分类器只针对一种情况。最后得出预测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值