【机器学习】逻辑回归——数学原理推导

以逻辑回归的二分类模型作出如下推导:

1. 定义
在线性回归上套一层sigmoid函数
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1 + e^{-z}} g(z)=1+ez1

y = h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x = 1 1 + e − ( θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n ) y = h_\theta(x) = g(\theta^Tx) = \frac{1}{1 + e^{-\theta^Tx}} = \frac{1}{1 + e^{-(\theta_0 + \theta_1x_1 + \theta_2x_2 + ... + \theta_nx_n)}} y=hθ(x)=g(θTx)=1+eθTx1=1+e(θ0+θ1x1+θ2x2+...+θnxn)1

注: x 0 x_0 x0是为了便于计算,人为增添的一列,值全为1

这里对函数 g ( z ) g(z) g(z)进行下求导运算,后面推导会用到。

g ′ ( z ) = ( 1 1 + e − z ) ′ g'(z) = (\frac{1}{1 + e^{-z}})' g(z)=(1+ez1)

= e − z + 1 − 1 ( 1 + e − z ) 2 \quad\quad=\frac{e^{-z} +1-1}{{(1+e^{-z})}^2} =(1+ez)2ez+11

= 1 1 + e − z − 1 ( 1 + e − z ) 2 \quad\quad=\frac{1}{1+e^{-z}} - \frac{1}{{(1+e^{-z})}^2} =1+ez1(1+ez)21

= g ( z ) ( 1 − g ( z ) ) \quad\quad=g(z)(1-g(z)) =g(z)(1g(z))

2. 计算概率
假定:

  • p ( y = 1 ∣ x ; θ ) = h θ ( x ) p(y=1|x;\theta) = h_\theta(x) p(y=1x;θ)=hθ(x)
  • p ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) p(y=0|x;\theta) = 1 - h_\theta(x) p(y=0x;θ)=1hθ(x)

组合上述两式:

p ( y ∣ x θ ) = h θ ( x ) y i ( 1 − h θ ( x ) ) 1 − y i p(y|x\theta) = h_\theta(x)^{y_i}(1-h_\theta(x))^{1-y_i} p(yxθ)=hθ(x)yi(1hθ(x))1yi

y y y是标签,正类标记1,负类标记0

3. 极大似然估计

L ( θ ) = ∏ i = 1 m ( h θ ( x i ) y i ( 1 − h θ ( x i ) ) 1 − y i ) ) L(\theta) = \prod_{i=1}^{m}{(h_\theta(x_i)^{y_i}(1-h_\theta(x_i))^{1-y_i}))} L(θ)=i=1m(hθ(xi)yi(1hθ(xi))1yi))

取对数,转累加

l ( θ ) = ln ⁡ L ( θ ) l(\theta) = \ln L(\theta) l(θ)=lnL(θ)

= ∑ i = 1 m ln ⁡ ( h θ ( x i ) y i ( 1 − h θ ( x i ) ) 1 − y i ) ) \quad =\sum_{i=1}^{m}{\ln(h_\theta(x_i)^{y_i}(1-h_\theta(x_i))^{1-y_i}))} =i=1mln(hθ(xi)yi(1hθ(xi))1yi))

= ∑ i = 1 m [ y i ln ⁡ h θ ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − h θ ( x i ) ) ] \quad =\sum_{i=1}^{m}{[y_i \ln h_\theta(x_i) + (1-y_i)\ln(1-h_\theta(x_i))]} =i=1m[yilnhθ(xi)+(1yi)ln(1hθ(xi))]

说明:

  • 当y=1时,我们期望 p ( y = 1 ∣ x ; θ ) p(y=1|x;\theta) p(y=1x;θ)的值越大,即预测结果为正类的概率越大,误差就越小
  • 当y=0时,我们期望 p ( y = 0 ∣ x ; θ ) p(y=0|x;\theta) p(y=0x;θ)的值越大,即预测结果为负类的概率越大,误差也越小

因此我们的目标是求取似然函数 l ( θ ) l(\theta) l(θ)的最大值。

4. 损失函数

对似然函数求最大值需要使用梯度上升的方式,这里我们引入 J ( θ ) = − l ( θ ) J(\theta) = -l(\theta) J(θ)=l(θ),转化为使用梯度下降的方式计算损失函数的最小值。

5. 梯度下降

∂ ∂ θ J ( θ j ) = − ∂ ∂ θ ∑ i = 1 m [ y i ln ⁡ h θ ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − h θ ( x i ) ) ] \frac{\partial}{\partial\theta}J(\theta_j) = -\frac{\partial}{\partial\theta}\sum_{i=1}^{m}{[y_i \ln h_\theta(x_i) + (1-y_i)\ln(1-h_\theta(x_i))]} θJ(θj)=θi=1m[yilnhθ(xi)+(1yi)ln(1hθ(xi))]

= − ∑ i = 1 m [ y i 1 h θ ( x i ) ∂ ∂ θ h θ ( x i ) − ( 1 − y i ) 1 1 − h θ ( x i ) ∂ ∂ θ h θ ( x i ) ] \quad\quad\quad = -\sum_{i=1}^{m}{[y_i\frac{1}{h_\theta(x_i)}\frac{\partial}{\partial \theta} h_\theta(x_i)-(1-y_i)\frac{1}{1-h_\theta(x_i)}\frac{\partial}{\partial \theta} h_\theta(x_i)]} =i=1m[yihθ(xi)1θhθ(xi)(1yi)1hθ(xi)1θhθ(xi)]

= − ∑ i = 1 m [ y i 1 h θ ( x i ) − ( 1 − y i ) 1 1 − h θ ( x i ) ] ∂ ∂ θ h θ ( x i ) \quad\quad\quad = -\sum_{i=1}^{m}{[y_i\frac{1}{h_\theta(x_i)} - (1-y_i)\frac{1}{1-h_\theta(x_i)}]}\frac{\partial}{\partial \theta} h_\theta(x_i) =i=1m[yihθ(xi)1(1yi)1hθ(xi)1]θhθ(xi)

= − ∑ i = 1 m [ y i 1 g ( θ T x ) − ( 1 − y i ) 1 1 − g ( θ T x ) ] ∂ ∂ θ g ( θ T x ) \quad\quad\quad = -\sum_{i=1}^{m}{[y_i\frac{1}{g(\theta^Tx)} - (1-y_i)\frac{1}{1-g(\theta^Tx)}]}\frac{\partial}{\partial \theta} g(\theta^Tx) =i=1m[yig(θTx)1(1yi)1g(θTx)1]θg(θTx)

= − ∑ i = 1 m [ y i 1 g ( θ T x ) − ( 1 − y i ) 1 1 − g ( θ T x ) ] g ( θ T x ) ( 1 − g ( θ T x ) ) ∂ ∂ θ θ T x \quad\quad\quad = -\sum_{i=1}^{m}{[y_i\frac{1}{g(\theta^Tx)} - (1-y_i)\frac{1}{1-g(\theta^Tx)}]}g(\theta^Tx)(1-g(\theta^Tx))\frac{\partial}{\partial \theta}\theta^Tx =i=1m[yig(θTx)1(1yi)1g(θTx)1]g(θTx)(1g(θTx))θθTx

= − ∑ i = 1 m [ y i ( 1 − g ( θ T x ) ) − ( 1 − y i ) g ( θ T x ) ] x i ( j ) \quad\quad\quad = -\sum_{i=1}^{m}{[y_i(1-g(\theta^Tx)) - (1-y_i)g(\theta^Tx)]}x_i^{(j)} =i=1m[yi(1g(θTx))(1yi)g(θTx)]xi(j)

= − ∑ i = 1 m [ y i − g ( θ T x ) ] x i ( j ) \quad\quad\quad = -\sum_{i=1}^{m}{[y_i - g(\theta^Tx)]}x_i^{(j)} =i=1m[yig(θTx)]xi(j)

= ∑ i = 1 m ( h θ ( x i ) − y i ) x i ( j ) \quad\quad\quad = \sum_{i=1}^{m}{(h_\theta(x_i) - y_i)}x_i^{(j)} =i=1m(hθ(xi)yi)xi(j)

更新参数:

θ j : = θ j − α ∑ i = 1 m ( h θ ( x i ) − y i ) x i ( j ) \theta_j := \theta_j - \alpha\sum_{i=1}^{m}{(h_\theta(x_i) - y_i)}x_i^{(j)} θj:=θjαi=1m(hθ(xi)yi)xi(j)

逻辑回归是一种用于二分类问题的机器学习算法,它通过建立一个逻辑回归模型来预测样本的类别概率。在推导逻辑回归算法的数学原理时,我们将使用最大似然估计的方法。 假设我们有一个训练数据集,包含n个样本点。每个样本点由输入向量x和对应的类别标签y组成,其中x ∈ R^d,y ∈ {0, 1}。 逻辑回归的目标是建立一个模型,能够根据输入向量x预测出样本属于类别1的概率P(y=1|x)。 为了建立逻辑回归模型,我们使用逻辑函数(或称为sigmoid函数)将线性模型的输出转化为概率值。逻辑函数的形式为: g(z) = 1 / (1 + e^(-z)) 其中,z是线性模型的输出。在逻辑回归中,我们假设线性模型可以表示为: z = w^Tx + b 其中,w是权重向量,b是偏置项。 根据最大似然估计的思想,我们希望找到一组最优的参数w和b,使得在给定训练数据集下,模型对每个样本属于类别1的概率P(y=1|x)尽可能接近其真实标签y。 假设训练数据集中的样本是独立同分布的,我们可以构造似然函数来描述模型的拟合度。对于一个样本点(x, y),似然函数可以表示为: L(w, b) = P(y=1|x)^y * P(y=0|x)^(1-y) 为了简化计算,我们可以将似然函数取对数,得到对数似然函数: l(w, b) = log(L(w, b)) = y * log(P(y=1|x)) + (1-y) * log(P(y=0|x)) 我们的目标是最大化对数似然函数。为了实现这个目标,我们可以通过最小化负对数似然函数来转化为一个优化问题: minimize: -l(w, b) 接下来,我们可以使用梯度下降等优化算法来求解上述优化问题。通过计算负对数似然函数的梯度,并不断更新参数w和b,直到收敛为止。 具体地,我们可以计算负对数似然函数关于参数w和b的偏导数,并进行参数更新。更新规则可以表示为: w := w - α * ∂l/∂w b := b - α * ∂l/∂b 其中,α是学习率,控制参数更新的步长。 通过迭代执行上述更新步骤,我们可以逐渐优化参数w和b,找到最大似然估计下的最优解。 总结起来,逻辑回归算法的数学原理是通过最大似然估计的方法,构建逻辑回归模型,将线性模型的输出通过逻辑函数转化为概率值。通过最小化负对数似然函数,使用梯度下降等优化算法来求解模型的参数。最终,我们可以根据模型的参数来预测样本属于类别1的概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值