斯坦福大学深度学习笔记:逻辑回归

z

逻辑回归(LOGISTIC REGRESSION)

           Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。之前在经典之作《数学之美》中也看到了它用于广告预测,也就是根据某广告被用户点击的可能性,把最可能被用户点击的广告摆在用户能看到的地方,然后叫他“你点我啊!”用户点了,你就有钱收了。这就是为什么我们的电脑现在广告泛滥的原因了。

 1.分类问题

          分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈,判定是否有肿瘤等等。
         我们从二元的分类问题开始讨论。
         我们将因变量(dependant variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量

           
         y=0为negative class

       y=1为positive class

   2.数学模型

           以肿瘤问题为例,我们对肿瘤问题用线性回归的方法求出了适合数据的一条直线:


          线性回归给了我们一条直线,而对于分类问题,我们要输出是或否,我们可以预测

       当hθ大于等于0.5时,预测y=1
       当hθ小于0.5时,预测y=0

       但如何这是有了一个很大的肿瘤这个时候0.5作为阀值来预测肿瘤是不是良性的就不合适了,所以我们引入新的数学模型,逻辑回归 让模型输出的范围在0到1之间。

         逻辑回归模型的假设是:hθ(x)=g(θTX)

         其中:

        X是特征向量
        g代表逻辑函数(logistic function)是一个常用的逻辑函数为S形函数(Sigmoid function),公式为:

                    

              其图形为:

                 

              所以我们得到:

           

                                     

              hθ(x) = 对于给定的输入x,y=1的概率。

              例如,如果对于给定的x,通过已经确定的参数计算得出hθ(x)=0.7,则表示有百分之70的几率y为正向类,相应地y为负向类的几率为1-0.7=0.3。

  3.判定边界

       我们通过图像可以看出θTx = 0是一个决策边界,当它大于0或小于0时,逻辑回归模型分别预测不同的分类结果。例如,hθ(x)=g(θ0+θ1x1+θ2x2)

       θ0,θ1,θ2分别取-3, 1, 1,

       则当3+x1+x2≥0时, y = 1; 则x1+x2 =3是一个决策边界,图形表示如下:

          决策边界-我爱公开课-52opencourse.com

         上述只是一个线性的决策边界,当hθ(x)更复杂的时候,我们可以得到非线性的决策边界,例如:

            非线性的决策边界1-我爱公开课-52opencourse.com

        这个描述的边界为一个圆

                这里当x1^2+x2^2≥1时,y=1

              

          我们可以用非常复杂的模型来适应非常复杂形状的判定边界。

4.代价函数

             我们习惯用平方差来定义代价函数,但这里我们用平方差定义hθ(x) 我们得到的是一个非凸函数。它会有很多局部最小值,这样会影响我们用阶梯下降算法寻找最小值。

            

         

             所以我们重新定义了代价函数:

        

        

 

        

       对于Cost(hθ(x),y)我们先看 y=1的情况

                    

      当y=1但hθ不为1时误差随着hθ的变小而变大。如果在y=1时得到hθ(x)=0 那Cost→∞,这是对学习算法很大的惩罚。

     对于Cost(hθ(x),y)我们先看 y=0的情况

      

       当y=0但hθ不为0时误差随着hθ的变大而变大。

       由于只有两种分类,我们可以把Cost(hθ(x),y)简化如下:

        https://i-blog.csdnimg.cn/blog_migrate/5332917d2a67f7e53d302bddbc69903b.png

      

       代入代价函数得到:

 

        

       在得到这样一个代价函数以后,我们便可以用梯度下降算法来求得能使代价函数最小的参数了。
       算法为:

    

       求导后得到:

          

        注:虽然得到的梯度下降算法表面上看上去与线性回归的梯度下降算法一样,但是这里的hθ(x)=g(θTX)与线性回归中不同,所以实际上是不一样的。另外,在运行梯度下降算法之前,进行特征缩放依旧是非常必要的。
一些梯度下降算法之外的选择:
除了梯度下降算法以外还有一些常被用来令代价函数最小的算法,这些算法更加复杂和优越,而且通常不需要人工选择学习率,通常比梯度下降算法要更加快速。这些算法有:共轭梯度(Conjugate Gradient),局部优化法(Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法(LBFGS)

                        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值