引言
Logistic回归可以算作是一种分类算法但也可以说是线性回归的拓展。之所以还将其归于广义的线性回归是因为它的推导是利用化归的思想在试图构造一个线性模型来解释因变量。
在实际生活中,处理许多问题时得到的样本都是0或1的情况,而没有一个准确的取值,这样一来在我们进行模型拟合的时候就会出现效果非常差的情况,如下图所示
线性回归拟合的曲线,看起来和散点毫无关系,似乎没有意义。但我们可以在计算出 y^ 的结果后,加一个限制,即 y^>0.5 ,就认为其属于1这一类,购买了商品,否则认为其不会购买。这样一来就得到了一个类似阶跃函数的形式
问题也随之而来,这个函数是不连续不可微的,这样就没有办法较好的进行拟合。
sigmoid函数
为了解决上述问题,我们找到了逻辑回归算法的拟合函数,叫做sigmond函数:
图像如上
sigmoid函数是一个s形曲线,就像是阶跃函数的温和版,阶跃函数在0和1之间是突然的起跳,而sigmoid有个平滑的过渡。从图形上看,sigmoid曲线就像是被掰弯捋平后的线性回归直线,将取值范围(−∞,+∞)映射到(0,1) 之间,更适宜表示预测的概率,即事件发生的“可能性” 。
最后求y值就可以用如下公式
似然函数
我们常常用概率 来描述一个事件发生的可能性。而似然性 正好反过来,意思是一个事件实际已经发生了,反推在什么参数条件下,这个事件发生的概率最大。当我们在取得某个参数的时候,似然函数的值到达了最大值,说明在这个参数下最有可能发生x事件,即这个参数最合理。
我们拟合模型就是一个调整参数的过程,于是我们就可以在似然函数最大化的时候取得参数,这个参数就是我们所需要的未知的模型参数。(为降低计算难度,通常可采用对数加法替换概率乘法,通过导数为零/极大值来求解未知参数)
最大似然估计
我们可根据样本的概率密度累乘构造似然函数:
通过似然函数最大化(求导为零),求解未知参数,另外我们知道,如果事件A与事件B相互独立,那么两者同时发生的概率为P(A)*P(B)。那么我们观测到的y1,y2……yn,他们同时发生的概率就是 L是所有观测到的y发生概率的乘积,这种情况求最大值比较麻烦,一般我们会先取对数,将乘积转化成加法。变成下面的式子
上面是似然函数的求参数μ的过程