分类问题之logistic回归算法

问题简介

        假设今天医院有一位病人要诊断他的肿瘤是良性的还是恶性的,诊断只可能有两个结果,良性的用0表示,恶性的用1表示,这就是一个典型的分类问题,而且是简单的二分类问题。

        如果分类的结果不止有两个,例如通过前段时间的天气数据来预测明天的天气情况,可能有下雨、下雪、晴朗、多云等多种结果,这种就是多分类问题。

        在分类问题中,我们想要得到离散化的输出结果,而不是线性回归所输出的那种连续函数,所以线性回归对于分类问题并不适用。logistic回归算法在分类问题中应用广泛,效果良好。

        从二分类问题开始研究,二分类问题的输出结果只有0和1两个,之前线性回归用的预测函数是连续的,不能直接在这里使用。logistic回归的假设公式如下图所示:

        此处的h_{\Theta}(x) 与线性回归的预测函数的区别在于,为了使函数的输出值收敛在0和1之间,借助了sigmoid函数,即 g(z)。g(z)也叫logistic函数,其函数值收敛与0和1,正好符合分类问题的预期结果,其函数图像如下:

 


 代价函数及梯度下降

         在有了预测函数之后,所要做的仍是找出最优的参数取值θ,这里又要用到代价函数。logistic回归算法中,代价函数定义为:

         当y=1,即真实情况是y=1,那么如果我们预测函数所给出的结果是1,代价函数值就变成了-log(1),代价为0,也就是说我们预测的非常准确;但如果预测函数给出的结果是0,代价函数值就变成了-log(0),代价是无穷大,也就说我们预测错了将付出很大的代价。y=1时的函数图像如下图所示:

         当y=0,即真实情况是y=0,那么如果我们预测函数所给出的结果是1,代价函数值就变成了-log(1-1),即无穷大,也就是说我们预测错了;但如果预测函数给出的结果为1,代价函数值为-log(1-0),代价为0,预测正确。y=0时的函数图像如下图所示:

        可以将代价函数中的两行合并为一行,以一个简单的形式写出来:

         与线性回归相同,logistic回归算法的预测函数仍然可以通过梯度下降来最小化。其梯度下降算法公式为:

        与单变量线性回归的梯度下降算法公式是一样的。但在此处,预测函数已经发生了变化,所以实际上它与单变量线性回归的梯度下降是完全不一样的。Logistic回归同样可以使用特征缩放来加快收敛速度。


决策边界

        假设我们已经得到了最优的参数取值θ,也就是说我们已经确定了问题的预测函数,那么预测函数是如何工作的呢,预测函数是怎么得到y=1或y=0的结果呢?

        一般来说,如果预测函数告诉我们y=1的概率大于0.5时,我们可能会认为结果是y=1;反之,我们可能认为结果是y=0。体现在sigmoid函数中就是,当x>0时,函数值大于0.5,当x<0时,函数值小于0.5。

        假设有一个训练集,并且我们已经得到了最优的预测函数,将他们绘制在坐标轴中:

        假设该预测函数为x1+x2=3,在函数图像上方的点带入预测函数中得到的函数值一定大于0,那么函数图像上方的点就会被预测为y=1。反之,下方的点会被预测为y=0。正是这条彩色的线将y=1和y=0的点分隔开了,我们称之为决策边界。当预测函数的参数更多时,决策边界也会更复杂。

        决策边界不是训练集的属性,而是假设函数本身和参数的属性。也就是说,决策边界不会因训练集的改变而改变,而是根据假设函数和参数来算出来的,我们在实际应用过程中也不会用到决策边界。


多类别分类

        与二分类问题不同的是,多类别分类问题中预测结果可能有多种,例如天气预测问题。如下图所示:

        图中三种形状的点代表三种不同的类别。这种问题的做法就是设置伪训练集:选择其中一个类别的数据设为正样本,剩下所有类别的数据设为负样本,并将其当做二分类问题来拟合出决策边界,然后对每个类别都重复上面的操作,最终我们可以得到多个决策边界,如下图所示:

        我们得到了三个预测函数(也可以叫做分类器),每个分类器都是针对其中一种情况进行训练的结果,可以分别预测结果为1,2,3的概率是多少。当我们输入变量x后,只需要找到各个分类器中取最大值的那个即是结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值