本文来自之前在Udacity上自学机器学习的系列笔记。这是第9篇,介绍了监督学习中的Logistic回归。
Logistic回归
Logistic回归虽然带有回归两字,但它和之前介绍的线性回归模型不一样,因为它主要解决分类问题。它可以解决只有标签为0或者1的分类问题,也可以解决多分类问题。
Logistic回归模型定义为:
其中
给定训练集,计算出参数
模型解读
可以认为是在给定情况下概率预估,比如说表示肿瘤的大小。如果,表示肿瘤是良性的。那么
这个结果就表示,当给定肿瘤大小为的情况下,判断其为良性的概率为0.7.
所以
即为函数在给定下的概率。
由此还可以得到
决策边界
Logistic回归模型
可以得到的函数图像为:
设定:
当时,那么
当时,那么
根据上面的设定,我们来看看下面两种情况的数据集。
第一个例子如下图所示,可以假设,
取,
那么
如果,可以得到,
如果,可以得到,
所以直线可以将数据集完美地进行分类。我们称为数据集的决策边界。
下面的数据集,可以假设,
如果,可以得到,
如果,可以得到,
所以,数据集的决策边界为
损失函数
在上面的决策边界例子中,我们直接设置了值,但我们希望的是给定训练集的情况下,使用算法自动地找到合适的值将数据集正确地分类,得到决策边界。
样本数据一共有个:,,其中, 是的矩阵,
对于,如何选择值呢?
定义损失函数
这个式子可以简化为
使用梯度下降法就可以求得使损失函数为最小的的值了。
通过对进行求导,可以得到
其中
代入到的更新式子中,那么有