网站建设公司网站模版,php做网站优势,中国房地产行情分析,模块建站平台逻辑回归是一种广泛使用的分类算法#xff0c;用于估计一个事件发生的概率。它是线性回归的扩展#xff0c;通过sigmoid函数将线性回归的输出映射到[0, 1]区间#xff0c;从而用于分类任务。 在逻辑回归中#xff0c;我们使用对数似然损失函数#xff08;log-likelihood l…逻辑回归是一种广泛使用的分类算法用于估计一个事件发生的概率。它是线性回归的扩展通过sigmoid函数将线性回归的输出映射到[0, 1]区间从而用于分类任务。 在逻辑回归中我们使用对数似然损失函数log-likelihood loss function来衡量模型预测值与真实值之间的差异。我们的目标是最小化这个损失函数以找到最优的模型参数。 假设我们有以下符号 h θ ( x ) h_{\theta}(x) hθ(x) 是模型预测的概率 h θ ( x ) 1 1 e − θ T x h_{\theta}(x) \frac{1}{1 e^{-\theta^T x}} hθ(x)1e−θTx1。 m m m 是训练样本的数量。 y y y 是实际输出标签取值为0或1。 θ \theta θ 是模型参数。 x x x 是单个训练样本的特征向量。
对数似然损失函数为(也可以说是交叉熵损失来源于KL散度的后一项) L ( θ ) − 1 m ∑ i 1 m [ y ( i ) log ( h θ ( x ( i ) ) ) ( 1 − y ( i ) ) log ( 1 − h θ ( x ( i ) ) ) ] L(\theta) -\frac{1}{m} \sum_{i1}^{m} [y^{(i)} \log(h_{\theta}(x^{(i)})) (1 - y^{(i)}) \log(1 - h_{\theta}(x^{(i)}))] L(θ)−m1i1∑m[y(i)log(hθ(x(i)))(1−y(i))log(1−hθ(x(i)))]
为了找到最小化损失函数的参数 θ \theta θ我们需要计算损失函数关 $\theta $ 的梯度。以下是梯度计算的过程
对 $ L(\theta) $ 求关于$ \theta_j $ 的偏导数 ∂ ∂ θ j L ( θ ) − 1 m ∑ i 1 m [ y ( i ) ∂ ∂ θ j log ( h θ ( x ( i ) ) ) ( 1 − y ( i ) ) ∂ ∂ θ j log ( 1 − h θ ( x ( i ) ) ) ] − 1 m ∑ i 1 m [ y ( i ) h θ ( x ( i ) ) ∂ ∂ θ j h θ ( x ( i ) ) − 1 − y ( i ) 1 − h θ ( x ( i ) ) ∂ ∂ θ j h θ ( x ( i ) ) ] − 1 m ∑ i 1 m [ y ( i ) 1 h θ ( x ( i ) ) − ( 1 − y ( i ) ) 1 1 − h θ ( x ( i ) ) ] ∂ ∂ θ j h θ ( x ( i ) ) \begin{align*} \frac{\partial}{\partial \theta_j} L(\theta) -\frac{1}{m} \sum_{i1}^{m} \left[ y^{(i)} \frac{\partial}{\partial \theta_j} \log(h_{\theta}(x^{(i)})) (1 - y^{(i)}) \frac{\partial}{\partial \theta_j} \log(1 - h_{\theta}(x^{(i)})) \right] \\ -\frac{1}{m} \sum_{i1}^{m} \left[ \frac{y^{(i)}}{h_{\theta}(x^{(i)})} \frac{\partial}{\partial \theta_j} h_{\theta}(x^{(i)}) - \frac{1 - y^{(i)}}{1 - h_{\theta}(x^{(i)})} \frac{\partial}{\partial \theta_j} h_{\theta}(x^{(i)}) \right] \\ -\frac{1}{m} \sum_{i1}^{m} \left[ y^{(i)} \frac{1}{h_{\theta}(x^{(i)})} - (1 - y^{(i)}) \frac{1}{1 - h_{\theta}(x^{(i)})} \right] \frac{\partial}{\partial \theta_j} h_{\theta}(x^{(i)}) \end{align*} ∂θj∂L(θ)−m1i1∑m[y(i)∂θj∂log(hθ(x(i)))(1−y(i))∂θj∂log(1−hθ(x(i)))]−m1i1∑m[hθ(x(i))y(i)∂θj∂hθ(x(i))−1−hθ(x(i))1−y(i)∂θj∂hθ(x(i))]−m1i1∑m[y(i)hθ(x(i))1−(1−y(i))1−hθ(x(i))1]∂θj∂hθ(x(i))
计算 h θ ( x ) h_{\theta}(x) hθ(x) 关于 θ j \theta _{j} θj的偏导数: ∂ ∂ θ j h θ ( x ) ∂ ∂ θ j ( 1 1 e − θ T x ) e − θ T x ( 1 e − θ T x ) 2 ∂ ∂ θ j ( − θ T x ) e − θ T x ( 1 e − θ T x ) 2 ( − x j ) h θ ( x ) ( 1 − h θ ( x ) ) ( − x j ) \begin{align*} \frac{\partial}{\partial \theta_j} h_{\theta}(x) \frac{\partial}{\partial \theta_j} \left( \frac{1}{1 e^{-\theta^T x}} \right) \\ \frac{e^{-\theta^T x}}{(1 e^{-\theta^T x})^2} \frac{\partial}{\partial \theta_j} (-\theta^T x) \\ \frac{e^{-\theta^T x}}{(1 e^{-\theta^T x})^2} (-x_j) \\ h_{\theta}(x) (1 - h_{\theta}(x)) (-x_j) \\ \end{align*} ∂θj∂hθ(x)∂θj∂(1e−θTx1)(1e−θTx)2e−θTx∂θj∂(−θTx)(1e−θTx)2e−θTx(−xj)hθ(x)(1−hθ(x))(−xj) 将 ( ∂ ∂ θ j h θ ( x ) \frac{\partial}{\partial \theta_j} h_{\theta}(x) ∂θj∂hθ(x) ) 的结果代入梯度公式中 ∂ ∂ θ j L ( θ ) − 1 m ∑ i 1 m [ y ( i ) 1 h θ ( x ( i ) ) − ( 1 − y ( i ) ) 1 1 − h θ ( x ( i ) ) ] h θ ( x ) ( 1 − h θ ( x ) ) ( − x j ) − 1 m ∑ i 1 m [ y ( i ) ( 1 − h θ ( x ( i ) ) ) − ( 1 − y ( i ) ) h θ ( x ( i ) ) ] ( − x j ( i ) ) − 1 m ∑ i 1 m [ y ( i ) − h θ ( x ( i ) ) ] ( − x j ( i ) ) \begin{align*} \frac{\partial}{\partial \theta_j} L(\theta) -\frac{1}{m} \sum_{i1}^{m} \left[ y^{(i)} \frac{1}{h_{\theta}(x^{(i)})} - (1 - y^{(i)}) \frac{1}{1 - h_{\theta}(x^{(i)})} \right]h_{\theta}(x) (1 - h_{\theta}(x)) (-x_j) \\ -\frac{1}{m} \sum_{i1}^{m} \left[ y^{(i)} (1 - h_{\theta}(x^{(i)})) - (1 - y^{(i)}) h_{\theta}(x^{(i)}) \right] (-x_j^{(i)}) \\ -\frac{1}{m} \sum_{i1}^{m} \left[ y^{(i)} - h_{\theta}(x^{(i)}) \right] (-x_j^{(i)}) \end{align*} ∂θj∂L(θ)−m1i1∑m[y(i)hθ(x(i))1−(1−y(i))1−hθ(x(i))1]hθ(x)(1−hθ(x))(−xj)−m1i1∑m[y(i)(1−hθ(x(i)))−(1−y(i))hθ(x(i))](−xj(i))−m1i1∑m[y(i)−hθ(x(i))](−xj(i)) 因此逻辑回归损失函数 L ( θ ) L(\theta) L(θ) 关于参数 θ j \theta_j θj的梯度是 ∂ ∂ θ j L ( θ ) − 1 m ∑ i 1 m [ h θ ( x ( i ) ) − y ( i ) ] x j ( i ) \frac{\partial}{\partial \theta_j} L(\theta) -\frac{1}{m} \sum_{i1}^{m} \left[ h_{\theta}(x^{(i)}) - y^{(i)} \right] x_j^{(i)} ∂θj∂L(θ)−m1i1∑m[hθ(x(i))−y(i)]xj(i)
这个梯度表达式告诉我们对于每个参数 θ j \theta_j θj我们需要计算模型预测 h θ ( x ( i ) ) h_{\theta}(x^{(i)}) hθ(x(i)) 和实际标签 y ( i ) y^{(i)} y(i) 之间的差异然后将这个差异乘以特征 x j ( i ) x_j^{(i)} xj(i)最后对所有训练样本求和并除以样本数量 m m m。这个梯度用于在优化过程中更新参数 θ j \theta_j θj以最小化损失函数。