逻辑回归
一.基本概念
逻辑回归,也叫作logistic regression,是一种特殊的线性回归函数。其核心函数为sigmoid函数,主要是用来解决二分类问题。
二.逻辑回归的理论与核心
1.逻辑回归的原理:
逻辑回归的原理是将一个线性回归函数(ax+b,x是特征值,分类范围是{0,1},x是现有的条件)转化为值域只在0到1之间的函数(此处0到1表示的是值域范围,因为概率在0到1的范围内),目的是用来判断在x的变化范围内,该函数为0或1(此处0和1代表的是假或真,就是二分类的分类范围,类似离散数学的命题值)的概率是多少。
2.简单阐述二分类问题:
二分类问题是判断结果单一的问题,只有属于还是不属于两种结果。
而逻辑回归是一个用于二分类(binary classification)的算法。首先我们从一个问题开始说起,这里有一个二分类问题的例子,假如你有一张图片作为输入,比如这只精灵,如果识别这张图片为雷伊,则输出标签1作为结果;如果识别出不是雷伊,那么输出标签0作为结果。现在我们可以用字母y来表示输出的结果标签,如下图所示:
而利用sigmoid函数就可以输出该图片是雷伊的概率啦!(情怀seer)
3.什么是sigmoid函数呢?
这种形式就是sigmoid函数
如上图所示,无论x取何值,不管它多大还是多么小,它的值域总是(0,1)。
4.线性回归和sigmoid函数之间的转化:
一元线性回归函数:wx + b = y
sigmoid函数:
只需将sigmoid函数中的自变量x换成wx + b 即可
即
5.条件概率:
上文提到,sigmoid函数是利用现有的特征值x求出它为类别1的概率
即
那么Y = 0的概率为1 - P
即
三、关于逻辑回归问题的解题思路
1.明确机器学习与经典算法之间的区别:
经典算法是利用已有的输入,利用掌握的算法条件,来得到输出
而机器学习与之不同的是,它利用的是已知输入,并且给予输出,来得到中间的算法条件,换句话说就是获得一个算法模型。
2.逻辑回归主要解决的问题:
关于逻辑回归,最主要解决的问题就是获得算法模型,因此它需要训练集(就是包含输入和输出),可以理解为给你题目和答案,需要去求方法。而建立算法模型最根本的核心就是去求变量w,b就是线性回归的参数,求出它们就可以代数求出任意特征值的类别概率,也就是利用测试集测试,看一下算法模型是否合适。
3.求解逻辑回归最常用的方法:
1)极大似然估计。
极大似然估计是数理统计中参数估计的一种重要方法。其思想就是一个事件发生了,那么发生这个事件的概率就是最大的。对于样本i,其类别为
。对于样本i,可以把
看成是一种概率。yi对应是1时,概率是h(xi),即xi属于1的可能性;yi对应是0时,概率是1-h(xi),即xi属于0的可能性 。那么它构造极大似然函数
其中i从0到k是属于类别1的个数k,i从k+1到n是属于类别0的个数n-k。由于y是标签0或1,所以上面的式子也可以写成:
这样无论y是0还是1,其中始终有一项会变成0次方,也就是1,和第一个式子是等价的。
为了方便,我们对式子取对数。因为是求式子的最大值,可以转换成式子乘以负1,之后求最小值。同时对于n个数据,累加后值会很大,之后如果用梯度下降容易导致梯度爆炸。所以可以除以样本总数n。
求最小值方法很多,机器学习中常用梯度下降系列方法。也可以采用牛顿法,或是求导数为零时w的数值等。
(2)损失函数
逻辑回归中常用交叉熵损失函数,交叉熵损失函数和上面极大似然法得到的损失函数是相同的。这里不再赘述。另一种也可以采用平方损失函数(均方误差),即
这个是比较直观的。就是让这个预测函数h(xi)与实际的分类1或0越接近越好。也就是损失函数越小越好。求最小值还是用到上面说到的方法。
目前我们这里已经得到了这两种函数。我们以梯度下降为例,即求损失函数的导数。
对于损失函数(1),导数求解过程如下
(2)式求导结果相同,接下来用梯度下降算法求最小值即可。