继续机器学习系列基础算法,逻辑回归
定义问题
首先我们依然是定义问题,逻辑回归是解决分类问题,而且是基本的二分类问题,比如经典的垃圾邮件判定,根据疾病的特征预测死亡率。比如现在我给出这样一个问题,基于邮件的两个特征值去判定邮件是不是为垃圾邮件,根据数据画出的分布图如下。蓝色表示不是垃圾邮件,红色表示是垃圾邮件,我们要做的是学习去拟合一个分类决策边界,然后就能根据这个模型预测。
逻辑回归分布
设X是连续的随机变量,X服从逻辑分布是指X具有下列分布函数和密度函数,在公式中,u为位置参数,r>0位形状参数,参考下面的图我们会发现,函数曲线是以(u, 0.5)中心对称,而r越小,中心附近增长越快。
就整个图形来说,曲线在中心附近增量最快,两端增长较慢,所以导函数图形是一个凹的钟形图。
逻辑回归模型
首先,定义几率(Odds), Odds=p1−p ,既一件事发生的概率和不发生概率的比值,大于1则表示发生概率大,(0-1)表示不发生概率大,我们用一个性质很好的log函数就能够把线性回归到逻辑回归做了映射,可以看到log函数的值域是整个实数范围,对应于线性回归函数,而定义域 x>0 ,符合上面所有的定义。
我们对上面公式进行变换,就是说y=1的对数几率是x的线性函数,就是我们所说的逻辑回归模型。换个角度来说,线性函数的值越接近正无穷,概率值越接近1,线性函数的值越接近负无穷,y越接近0,可以参照log函数图像。
对上面的公式进行变形,得到逻辑回归模型是一个如下的条件概率分布:
到这里我们就发现他其实就是给线性回归套上了一个log函数,然后让y的值分布在(0,1)之间
定义损失函数
我们现在要做的就是根据前面给出的观测样本去估计这些参数w,按照前面线性回归的思想我们定义均方误差损失函数,然后通过梯度下降法不断减小损失函数去迭代求解。
但是这里损失函数不能用均方误差,均方误差是最小二乘估计得到的,线性回归其误差属于正态分布,而逻辑回归是一个二项分布,这里要用一个最大似然估计定义损失函数,线性回归运用最大似然估计求解结果就是均方误差,有兴趣的可以推导一下。
最大似然估计在前面讲贝叶斯的时候写过,核心思想就是用现有的样本去找到一组参数使得现有样本的可能性最大,从统计学的角度讲就是使得所有观测样本的联合概率最大化,前提条件是所有样本之间必须相互独立,这也是逻辑回归的前提,就是问题必须是个二分类问题,两个只能选一个,在样本之间相互独立时,联合概率是各个样本出现概率的练乘积,既这个问题中的似然函数。
现在要做的就是求他的最大值,我们分析这个函数发现它是一个非凸函数,意思就是可能存在极小值,如果直接通过梯度下降法求解可能得到的不是最小值,之前线性回归中能直接求解因为它就是一个凸函数。因此我们对上面函数进行自然对数变换,将似然函数转换为对数似然函数,其中: g(x)=eθx1+eθx