一.什么是逻辑回归

逻辑回归是一种二分类算法,即寻找一条直线,将两类样本分开(如下图)

细说逻辑回归

二.逻辑回归的过程

既然是寻找一条直线将两类样本分开,那我们定义如下直线

细说逻辑回归

根据直线方程

细说逻辑回归,则细说逻辑回归 代表的点在直线的一侧

细说逻辑回归,则细说逻辑回归 代表的点在直线的另一侧

细说逻辑回归

好,现在我们的直线已经能把样本点分开了

为了区分两个类别,我们把蓝色的点都记为1,把红色的点都记为0,也就是令

细说逻辑回归细说逻辑回归

细说逻辑回归细说逻辑回归

函数g的结果就是我们对(样本)点的划分结果

但是,我们能明显的看出A,B两点与直线的距离是不同的,如果都记为0的话,这种差异就体现不出来了

所以,大牛们又引入了一种新的g函数——sigmoid函数(函数图像如下)

细说逻辑回归 

细说逻辑回归

经过sigmoid函数的映射(细说逻辑回归

蓝色的点越远离线,就越接近1

不是蓝色(红色)的点越远离线,就越接近0

既然sigmoid的结果为区间(0, 1),那我们是不是可以把它看做是一种概率

结果越靠近1,那他是蓝色点的可能就越大

反之,不是蓝色(红色)点的可能就越大

我们现在已经可以很好的把两类样本分开了,但是怎样一条直线才算把样本分开呢

也就是我们要怎样评价这条直线的好坏

就像线性回归的平方误差那样,我们这里引入一个东西——交叉熵

细说逻辑回归

其中,y为样本实际的结果(0或1),细说逻辑回归为直线预测的结果(也就是sigmoid的值)

当y为1的时候1-y=0,只看左半部分细说逻辑回归,当细说逻辑回归越接近1,loss就越小,反之则越大。y为0则同理

也就是说,当预测的概率与实际值相差越大时,损失(loss)会越大

我们想找到一条最好的直线,也就是要最小化loss

然后就可以使用一些最优化的算法(例如梯度下降,adam)去最小化loss

三.寻找分类直线的过程

我们想更新细说逻辑回归使得loss最小,那我们就慢慢调整细说逻辑回归使得loss最小

既然是慢慢的,我们首先要知道细说逻辑回归改变一点点,loss改变了多少

是不是很像导数,也就是细说逻辑回归细说逻辑回归(梯度)

我们先回顾一下获取loss的整个过程

用直线将样本点分割在两侧:细说逻辑回归

经过sigmoid函数后获得"概率":细说逻辑回归

将预测的概率转化成损失:细说逻辑回归

细说逻辑回归——链式求导(复合函数求导)

           细说逻辑回归

           细说逻辑回归

我们已经知道细说逻辑回归改变一点点,loss改变多少了

如果采用梯度下降那么细说逻辑回归的更新方式为:

细说逻辑回归

四.为什么损失用交叉熵

我们把sigmoid所得的值当做概率,那么

一个点是A类的概率    细说逻辑回归

一个点不是A类的概率细说逻辑回归

将上面两个式子整合

细说逻辑回归

我们使用最大似然估计估算最有可能的细说逻辑回归

细说逻辑回归

对最大似然取对数

细说逻辑回归

          细说逻辑回归

          细说逻辑回归

是不是发现和我们的交叉熵就相差一个负号

五.推广到高维

刚才我们讲的一直是二维的点,现在把二维推广到高维

为了简洁,我们使用向量表示,以下的 细说逻辑回归均为向量

首先定义超平面(直线):细说逻辑回归

获得分类"概率":细说逻辑回归

获得损失:细说逻辑回归

计算梯度:细说逻辑回归

                               细说逻辑回归

                               细说逻辑回归

更新规则:细说逻辑回归

b则同理:细说逻辑回归

 

参考文献 

http://cs229.stanford.edu/notes/cs229-notes1.pdf

相关文章:

猜你喜欢
  • 2021-12-05
  • 2021-05-30
  • 2021-12-19
  • 2021-09-27
  • 2021-09-07
  • 2021-12-04
相关资源
相似解决方案