逻辑回归理论知识
一、什么是逻辑回归?
逻辑回归是一种二分类算法,一般只用来解决二分类问题,但是它也可以用来解决多分类问题,当使用它来解决多分类问题的时候,由于逻辑回归的特点,我们一般将多分类问题转化为二分类问题,这里多分类问题的转化有三种拆分策略,分别是一对一、一对其余和多对多,通过多分类拆分策略,我们可以使用逻辑回归来进行多分类问题的预测,但是这种方法我们一般不用,因为多分类问题我们可以使用随机森林、朴素贝叶斯、神经网络这些更好的算法进行预测。
逻辑回归是判别模型吗?
回答:是的,逻辑回归是一种判别模型,它使用线性回归的式子作为输入(就是将输入项转化为线性回归的形式,再把它输入到sigmoid函数中),在sklearn中, 使用了L2正则化 的方法,可以解决过拟合的问题。
二、什么是sigmoid函数?
逻辑回归中使用sigmoid函数将输入的任意数据转为[0,1]中的概率值。sigmoid函数的形式如下:
z = w*x + b , 函数的图像为:
其中,sigmoid函数与y轴交于0.5的点,函数的值域为[0,1]
三、损失函数(了解)
对数似然函数的损失函数为:
对数似然损失函数中具有多个局部最小值,这个是目前还解决不了的问题。丘求解局部最小值中较好的解决方法是梯度下降法,具体的解决方式如下:
1、多次随机初始化,多次比较获得的最小值结果
2、求解的过程中,调整学习率,尽量地改善
3、虽然对数似然损失函数没有全局最小值点,但是效果还都是不错的
当y = 1时的损失函数图像:
当 y=0 时的损失函数图像:
四、逻辑回归函数是如何进行分类的?
逻辑回归使用了sigmoid函数返回的概率值进行分类。将输入类别少的判定为正例,将输入类别多的判定为反例。一般地, 会将判定的概率值大于0.5的判为正例(即1),将概率值小于0.5的判为反例(即0)。
逻辑回归可不可以通过改变概率值的阈值来改变分类的效果?
答:可以的,我们可以通过sigmoid函数的取值来改变分类。如,我们可以将概率大于0.6的判为正例,将概率小于0.6的判为反例。
五、模型的度量
逻辑回归主要是看召回率而不是单纯地看准确率。这里,我们就需要引入混淆矩阵了。
召回率:分类正确的正样本个数占真正的正样本个数的比例: TP/(TP+FN)
如何控制召回率?
答:可以通过控制sigmoid函数分类时候的阈值来控制召回率
如何求解sigmoid函数?
使用极大似然函数法,再将求解极大似然函数梯度上升的最大值转为求解梯度下降最小值
求出来beta之后就可以知道z是多少了,知道了z就能知道概率了
六、逻辑回归的优点
1、直接对分类可能性进行建模,无需事先假设数据分布,这样就能避免假设分布不准确带来的问题
2、它不是仅仅预测出类别,还能知道近似概率预测,这对许多需利用概率辅助决策的任务很有用。
3、逻辑回归求解的目标函数是任意可导的凸函数吗,有很好的数学性质,现有的许多优化算法都能直接用于求解最优值
七、逻辑回归的应用
逻辑回归能应用于任何需要二分类的问题。如癌症检测、垃圾邮件分类、广告点击预测、医疗效果分析等。
参考文档:
《机器学习》 周志华