这里只推导逻辑回归的损失公式。
假设函数
h θ ( x ) = 1 1 + e − θ T x (假设函数) h_\theta(x) = \frac{1}{1+e^{-\theta^Tx}} \tag{假设函数} hθ(x)=1+e−θTx1(假设函数)
用于二分类
KaTeX parse error: Undefined control sequence: \mbox at position 41: …\theta( x), & \̲m̲b̲o̲x̲{if }y=1 \\ (1-…
总结:如果我们取对数和负值,可以代表对应的成本函数。和似然函数相反的方向。(log只是利于计算)。
KaTeX parse error: Undefined control sequence: \mbox at position 56: …theta( x)), & \̲m̲b̲o̲x̲{if }y=1 \\ -lo…
统一公式
我们找到联合概率公式:
p ( y ∣ x , θ ) = h θ ( x ) y ⋅ ( 1 − h θ ( x ) ) 1 − y , (统一概率) p(y|x,\theta) = h_\theta( x)^{y} \cdot (1-h_\theta(x))^{1-y}, \tag{统一概率} p(y∣x,θ)=hθ(x)y⋅(1−hθ(x))1−y,(统一概率)
最大似然
最大似然就是最大化的所有样本的概率公式:
L ( θ ) = ∏ i = 1 m p ( y i ∣ x i , θ ) (最大似然) L(\theta) = \prod_{i=1}^{m}p(y_i|x_i,\theta)\tag{最大似然} L(θ)=i=1∏mp(yi∣xi,θ)(最大似然)
对数-最大似然
对数最大似然就是最大化的所有样本的概率公式:
L ( θ ) = ∑ i = 1 m l o g p ( y i ∣ x i , θ ) = ∑ i = 1 m [ y i l o g ( h θ ( x i ) ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] L(\theta) = \sum_{i=1}^{m}log p(y_i|x_i,\theta)= \sum_{i=1}^{m}[ {y_i} log(h_\theta( x_i))+{(1-y_i)}log(1-h_\theta( x_i))] L(θ)=i=1∑mlogp(yi∣xi,θ)=i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]
我们的目标是最大化似然函数。 如果转化为损失函数,那就是最小化。
损失函数J(loss function)
J = − 1 m L ( θ ) = − 1 m ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] J = -\frac{1}{m} L(\theta) \\ = -\frac{1}{m}\sum_{i=1}^{m}[{y_i} log h_\theta( x_i)+{(1-y_i)}log(1-h_\theta( x_i))] J=−m1L(θ)=−m1i=1∑m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
##参数迭代公式
θ j : = θ j − α ∗ ∑ i = 1 m ( h ( x ( i ) − y ( i ) ) ( x j ( i ) ) \theta_j:=\theta_j - \alpha*\sum_{i=1}^{m} (h(x^{(i)}-y^{(i)})(x_j^{(i)}) θj:=θj−α∗i=1∑m(h(x(i)−y(i))(xj(i))
解释:
- 参数第j个分量的更新,和每个样例都有关系。
- 如果m取全部,则是用所有数据来更新分量j
- m=1则是用一个实例来更新参数,也就是随机梯度下降。
- 更新的量,与速率、当前实例的j分量、误差值(假设-当前)共同决定。
总结
一般的学习模型的三个重要步骤:
- 寻找h函数(即预测函数);比如逻辑回归的 f(w,b);线性之后多了一个激活。
- 构造J函数(损失函数);不同的损失函数,代表了不同的优化方向。比如:逻辑回归如果用最小方差来作为评价函数,则容易导致局部最优。
-
想办法使得J函数最小并求得回归参数(θ);各种数值优化方法,随机梯度下降;牛顿法等。
简称:找目标、定方向、执行解决。
参考
https://blog.csdn.net/iterate7/article/details/76709492