逻辑回归

逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。

以二分类为例,对于所给数据集,假设存在这样的一条直线可以将数据完成线性可分

Sigmoid函数
逻辑回归使用Sigmoid函数(也称为Logistic函数)将线性组合的输入映射到一个介于0和1之间的概率值。

sigmoid函数如下:
$$g(z) = \frac{1}{1+e^{-z}}$$

sigmoid函数易求导,适合梯度下降更新。其求导过程为:
$$
g’(z) = (\frac{1}{1+e^{-z}})’ \
= \frac{e^{-z}}{(1+e^{-z})^2} ] \
= \frac{1}{1+e^{-z}} \frac{e^{-z}}{1+e^{-z}}
= g(z)(1-g(z))
$$

假设函数

逻辑回归假设函数的表达式为:
$$h_θ(x) = \frac{1}{1+e^{-θ^{T}x}}$$

其中,$h_\theta(x)$是预测的概率,$\theta$是模型的参数,$x$是输入特征。

对于二分类,其模型满足如下条件:
$$
p(y=1|x;θ) = h(x),p(y=0|x,θ) = 1-h(x)
$$

其将逻辑回归的预测值赋予概率的意义。例如,$h(x)$是逻辑回归假设的目标函数,其值被定义于$y=1$(预测值为真)的概率。

上述两个式子可以合并为:
$$
p(y|x;θ) = (h(x))^y(1-h(x))^{1-y}
$$

损失函数:

似然函数:

$$
L(θ) = \prod_{i = 1}^{m}P(y_i|x_i;θ) = \prod_{i = 1}^{m}(h_θ(x_i))^{y_i}(1-h_θ(x_i))^{1-{y_i}}
$$

对数似然:
$$
l(θ) = logL(θ) = \sum_{i=1}^{m}(y_{i}log(h_θ(x_i))+(1-y_i)log(1-h_θ(x_i)))
$$

应用梯度上升求最大值,引入$J(θ) = -\frac{1}{m}l(θ)$,转换成梯度下降任务。

即对于二分类问题,损失函数的表达式为:
$$
J(θ) = -\frac{1}{m}\sum_{i=1}^{m}[y_i\log(h_θ(x_i)) + (1 - y_i)\log(1 - h_θ(x_i))]
$$

其中,$m$是训练样本的数量,$y_i$是样本的实际类别。

其对$θ$求偏导:
$$
\frac{\partial }{\partial θ}J(θ) = \frac{1}{m}\sum{i=1}^{m}(h_θ(x_i)-y_i)x_i
$$

参数更新:
$$
θ_j := θ_j - \alpha\frac{1}{m}\sum_{i=1}^{m}(h_θ(x_i)-y_i)x_i
$$

文章作者: Dar1in9
文章链接: http://dar1in9s.github.io/2023/10/06/机器学习/逻辑回归/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Dar1in9's Blog