目录
1 逻辑回归理论知识
逻辑回归算法是干什么的?
逻辑回归模型的假设函数:
决策边界(decision boundary)
损失函数
为什么用这损失函数?
损失函数的求导:
2 代码复现
1 逻辑回归理论知识
逻辑回归算法是干什么的?
答:(单变量)线性回归算法是试图找到一条直线去拟合数据,而逻辑回归算法是试图找到一根线,去分隔数据,是一种分类算法,如下图:
逻辑回归模型的假设函数:
-
- 其中,X代表特征向量,g代表逻辑函数,一个常用的逻辑函数是sigmoid函数。
- 为什么要用个sigmoid函数?答:对于给定的输入变量,函数要输出一个分类的概率值,取值在0~1之间。
决策边界(decision boundary)
损失函数
在线性回归中,我们用误差平方和作为损失函数,但是如果将下面这种假设函数带入误差平方和损失函数中,它会是一个非凸函数,即有很多局部最小值,会影响梯度下降寻找全局最小值。
线性回归的损失函数是:
我们重新定义逻辑回归损失函数为如下:
为什么用这损失函数?
- 要知道,y即分类标签,其值要么是1要么是0,这就有:
- 公式中log就是ln()函数:
- h取值在0~1之间(因为是sigmoid的输出),所以 h 和 Cost 关系图如下:
损失函数的求导:
2 代码复现
用numpy复现了文章开头两个案例图的逻辑回归,具体代码在:
https://github.com/YM2025/machine_learning/tree/master/2_logistic_regression