机器学习-逻辑回归推导

96
sunny4handsome
2018.10.11 16:07 字数 783

逻辑回归在机器学习中属于比较常见的模型,它由感知机模型发展而来。刚学习机器学习的时候,看到感知机这个名字好奇怪,为什么就叫感知机呢?不就用一个超平面来分割所有的样本并且使得损失函数最小嘛,叫一个这么深奥的名字吓唬人啊。后来学习神经网络时候也看到了这个名字,才发现这个名字来源于神经网络。就是单层的神经网络嘛。所以很多时候我们学习一个东西的时候可能暂时不明白,我们可以先跳过去,不必在哪里死磕。

一、感知机模型

先给出感知机模型的定义(公式不好编辑,就复制粘贴了):

image

机器学习三要素:模型、策略、算法,既然模型给出来了,我们用什么策略和什么算法来学习这个模型呢。学习策略就是所有的误样本点到上面我们定义的超平面的距离最小。算法就用常规的梯度下降法。李航的《统计学习方法》中有明确的推导和例子。这里不再赘述。本文重点记录的逻辑回归的推导。

二、为什么要有逻辑回归

对于线性可分的分类问题,有了感知机为什么还要逻辑回归呢?比如我们给感知机模型输入一个样本,模型输出为0.00001>0, 那么我们就把这个样本划分到正分类中,我像这里很难有说服力吧,毕竟你就比0大那么一丢丢啊。这是应为我们用到了sign函数,这是一个跳跃函数。在0附近是不连续的,在数学上连续可导可是一件很重要的事情。所以我们就像是不是有其他的函数来替代这个调试函数。于是申请的sigmod函数就出现了。

sigmod函数表达式:

 ![image](http://upload-images.jianshu.io/upload_images/8596800-809302232a98649c?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

图像如下:

image

函数性质:

1、连续可导

2、输入区间在负无穷到正无穷,值域在(0,1)之间

完全满足我们概率上的要求,给sigmod函数输入一个样本,如果输出大于0.5,那么就可以判为正例,如果输出小于0.5就可以判为负列。如果等于0.5就看心情了,随便了。

所以我们可以定义如下模型来解决二分类问题:

image
image

为了方便

image

可以变换为(第一个向量最后一个数为b,x向量最后一个数为1即可)

image

所以最后的模型可以简写为:

image

三、逻辑回归模型推导

对于给定的训练数据集
image

,其中

image

令:

image

下面用极大似然函数估计模型参数

image
image
image

上面的推导就是用梯度下降法来求似然函数的最大值,有的同学可能会问,直接令偏导等于0不就可以求出极值点了嘛。在某些情况下确实是可以的,比如线性回归在某些情况下是可以求出极值点的。但是很多情况下是得不到极值点的具体表达式的。所以就出现了像梯度下降法、牛顿法等估计参数的方法。
逻辑回归在机器学习中是比较简单的模型,很多库中都有现成的函数可以调用,所以这里就重新实现了。重点在思想、思想、思想

技术分享
Gupao