逻辑回归
整理了一下逻辑回归的东西,记录下
逻辑回归,通常用于处理分类任务,常见的是二分类,期望的输出为两种类型。在这里引入sigmoid函数
为什么要用sigmoid函数?
1.数学性质好,连续且可导
2.输出区间为(0,1),定义分割阈值,大于阈值为正例,反之为负例,满足需求
另一层原因是期望输出满足伯努利分布,将伯努利分布带入广义线性模型中,得到sigmoid函数,关于sigmoid函数的由来推导完成之后会做讨论
下面我们来详述下推导过程:
对于二分类问题,我们知道:
所以对于任意一个样本,被预测正确的概率为:
我们要是总的预测正确概率最大,构建最大似然函数
问题转化为求得一组θ使总的似然函数最大,
由梯度下降我们可知:
带入h(x),
因为θ为一组向量,j代表向量中的第j个元素,得到最终的结果为:
上式求得的结果和线性回归很相似,不同点在于h(x)是不一样的。
此时我们已经完成了逻辑回归的推导,现在我们回到最开始的问题,讨论下sigmoid函数的由来
假设有一组只能取{0,1}的数据,我们希望用伯努利随机变量对其建模,变量以θ为参数,这里的θ不同于上面的θ,伯努利变量的参数指定的是Y=1的概率,
即:
当改变θ的同时相当于得到了不同的伯努利分布,得到的这些分布都是指数分布族的一种特例,引入指数分布族
其中η为分布的自然参数
T(y)被称为充分统计量,通常情况下(包括伯努利分布和高斯分布)T(Y) = y
如果我们确定了b,a,T那么对应的公式就确定了一组概率分布集合,对于伯努利分布而言
对照上式得:
由 得 其中对应的θ就是Y的分布
不管线性回归还是逻辑回归都是广义线性回归的一种特例,线性回归是对假设Y服从高斯分布,而逻辑回归假设Y服从伯努利分布,感兴趣的同学可以推导下
备注:
关于sigmoid函数的引入参考:https://cloud.tencent.com/developer/article/1005793 吴恩达网易公开课