←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
2.17 Jupyter/iPython 笔记本的快速指南 | 回到目录 | 2.19 总结习题 |
Logistic 损失函数的解释 ( Explanation of Logistic Regression Cost Function (Optional))
在前面的视频中,我们已经分析了逻辑回归的损失函数表达式,在这节选修视频中,我将给出一个简洁的证明来说明逻辑回归的损失函数为什么是这种形式。
回想一下,在逻辑回归中,需要预测的结果 y ^ \hat{y} y^ ,可以表示为 y ^ = σ ( w T x + b ) \hat{y}=\sigma(w^Tx+b) y^=σ(wTx+b) , σ \sigma σ 是我们熟悉的 S S S 型函数 σ ( z ) = σ ( w T x + b ) = 1 1 + e − z \sigma(z)=\sigma(w^Tx+b)=\frac{1}{1+e^{-z}} σ(z)=σ(wTx+b)=1+e−z1 。我们约定 y ^ = p ( y = 1 ∣ x ) \hat{y}=p(y=1|x) y^=p(y=1∣x) ,即算法的输出 y ^ \hat{y} y^ 是给定训练样本 x x x 条件下 y y y 等于1的概率。换句话说,如果 y = 1 y=1 y=1 ,在给定训练样本 x x x 条件下 y = y ^ y=\hat{y} y=y^ ;反过来说,如果 y = 0 y=0 y=0 ,在给定训练样本 x x x 条件下 y y y 等于1减去 y ^ ( y = 1 − y ^ ) \hat{y}(y=1-\hat{y}) y^(y=1−y^) ,因此,如果 y ^ \hat{y} y^ 代表 y = 1 y=1 y=1 的概率,那么 1 − y ^ 1-\hat{y} 1−y^ 就是 y = 0 y=0 y=0 的概率。接下来,我们就来分析这两个条件概率公式。
这两个条件概率公式定义形式为 p ( y ∣ x ) p(y|x) p(y∣x) 并且代表了 y = 0 y=0 y=0 或者 y = 1 y=1 y=1 这两种情况,我们可以将这两个公式合并成一个公式。需要指出的是我们讨论的是二分类问题的损失函数,因此, y y y 的取值只能是0或者1。上述的两个条件概率公式可以合并成如下公式:
p ( y ∣ x ) = y ^ y ( 1 − y ^ ) 1 − y p(y|x)=\hat{y}^y(1-\hat{y})^{1-y} p(y∣x)=y^y(1−y^)1−y
接下来我会解释为什么可以合并成这种形式的表达式: ( 1 − y ^ ) (1-\hat{y}) (1−y^) 的 ( 1 − y ) (1-y) (1−y) 次方这行表达式包含了上面的两个条件概率公式,我来解释一下为什么。
第一种情况,假设 y = 1 y=1 y=1 ,由于 y = 1 y=1 y=1 ,那么 ( y ^ ) y = y ^ (\hat{y})^y=\hat{y} (y^)y=y^ ,因为 y ^ \hat{y} y^ 的1次方等于 y ^ \hat{y} y^ , 1 − ( 1 − y ^ ) ( 1 − y ) 1-(1-\hat{y})^{(1-y)} 1−(1−y^)(1−y) 的指数项 ( 1 − y ) (1-y) (1−y) 等于0,由于任何数的0次方都是1, y ^ \hat{y} y^ 乘以1等于 y ^ \hat{y} y^ 。因此当 y = 1 y=1 y=1 时 p ( y ∣ x ) = y ^ p(y|x)=\hat{y} p(y∣x)=y^ (图中绿色部分)。
第二种情况,当 y = 0 y=0 y=0 时 p ( y ∣ x ) p(y|x) p(y∣x) 等于多少呢? 假设 y = 0 y=0 y=0 , y ^ \hat{y} y^ 的 y y y 次方就是 y ^ \hat{y} y^ 的0次方,任何数的0次方都等于1,因此 p ( y ∣ x ) = 1 ∗ ( 1 − y ^ ) 1 − y p(y|x)=1*(1-\hat{y})^{1-y} p(y∣x)=1∗(1−y^)1−y ,前面假设 y = 0 y=0 y=0 因此 ( 1 − y ) (1-y) (1−y) 就等于1,因此 p ( y ∣ x ) = 1 ∗ ( 1 − y ^ ) p(y|x)=1*(1-\hat{y}) p(y∣x)=1∗(1−y^) 。因此在这里当 y = 0 y=0 y=0 时, p ( y ∣ x ) = 1 − y ^ p(y|x)=1-\hat{y} p(y∣x)=1−y^ 。这就是这个公式(第二个公式,图中紫色字体部分)的结果。
因此,刚才的推导表明 p ( y ∣ x ) = y ^ ( y ) ( 1 − y ^ ) ( 1 − y ) p(y|x)=\hat{y}^{(y)}(1-\hat{y})^{(1-y)} p(y∣x)=y^(y)(1−y^)(1−y) ,就是 p ( y ∣ x ) p(y|x) p(y∣x) 的完整定义。由于 log \log log 函数是严格单调递增的函数,最大化 log ( p ( y ∣ x ) ) \log(p(y|x)) log(p(y∣x)) 等价于最大化 p ( y ∣ x ) p(y|x) p(y∣x) 并且地计算 p ( y ∣ x ) p(y|x) p(y∣x) 的 log \log log 对数,就是计算 log ( y ^ ( y ) ( 1 − y ^ ) ( 1 − y ) ) \log(\hat{y}^{(y)}(1-\hat{y})^{(1-y)}) log(y^(y)(1−y^)(1−y)) (其实就是将 p ( y ∣ x ) p(y|x) p(y∣x) 代入),通过对数函数化简为:
y log y ^ + ( 1 − y ) log ( 1 − y ^ ) y\log\hat{y}+(1-y)\log(1-\hat{y}) ylogy^+(1−y)log(1−y^)
而这就是我们前面提到的损失函数的负数 ( − L ( y ^ , y ) ) (-L(\hat{y},y)) (−L(y^,y)) ,前面有一个负号的原因是当你训练学习算法时需要算法输出值的概率是最大的(以最大的概率预测这个值),然而在逻辑回归中我们需要最小化损失函数,因此最小化损失函数与最大化条件概率的对数 log ( p ( y ∣ x ) ) \log(p(y|x)) log(p(y∣x)) 关联起来了,因此这就是单个训练样本的损失函数表达式。
在 m m m 个训练样本的整个训练集中又该如何表示呢,让我们一起来探讨一下。
让我们一起来探讨一下,整个训练集中标签的概率,更正式地来写一下。假设所有的训练样本服从同一分布且相互独立,也即独立同分布的,所有这些样本的联合概率就是每个样本概率的乘积:
P ( l a b e l s i n t r a i n i n g s e t ) = ∏ i = 1 m P ( y ( i ) ∣ x ( x ) ) 。 P(labels\ in\ training\ set)=\prod_{i=1}^mP(y^{(i)}|x^{(x)})。 P(labels in training set)=i=1∏mP(y(i)∣x(x))。
如果你想做最大似然估计,需要寻找一组参数,使得给定样本的观测值概率最大,但令这个概率最大化等价于令其对数最大化,在等式两边取对数:
P ( l a b e l s i n t r a i n i n g s e t ) = log ∏ i = 1 m P ( y ( i ) ∣ x ( x ) ) = ∑ i = 1 m log P ( y ( i ) ∣ x ( i ) ) = ∑ i = 1 m − L ( y ^ ( i ) , y ( i ) ) P(labels\ in\ training\ set)=\log\prod_{i=1}^mP(y^{(i)}|x^{(x)})=\sum_{i=1}^m\log P(y^{(i)}|x^{(i)})=\sum_{i=1}^m-L(\hat{y}^{(i)},y^{(i)}) P(labels in training set)=logi=1∏mP(y(i)∣x(x))=i=1∑mlogP(y(i)∣x(i))=i=1∑m−L(y^(i),y(i))
在统计学里面,有一个方法叫做最大似然估计,即求出一组参数,使这个式子取最大值,也就是说,使得这个式子取最大值, ∑ i = 1 m − L ( y ^ ( i ) , y ( i ) ) \sum_{i=1}^m-L(\hat{y}^{(i)},y^{(i)}) ∑i=1m−L(y^(i),y(i)) ,可以将负号移到求和符号的外面, − ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) -\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)}) −∑i=1mL(y^(i),y(i)) ,这样我们就推导出了前面给出的logistic回归的成本函数 J ( w , b ) = ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) J(w,b)=\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)}) J(w,b)=∑i=1mL(y^(i),y(i)) 。
由于训练模型时,目标是让成本函数最小化,所以我们不是直接用最大似然概率,要去掉这里的负号,最后为了方便,可以对成本函数进行适当的缩放,我们就在前面加一个额外的常数因子 1 m \frac1m m1 ,即:
J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) 。 J(w,b)=\frac1m\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})。 J(w,b)=m1i=1∑mL(y^(i),y(i))。
总结一下,为了最小化成本函数 J ( w , b ) J(w,b) J(w,b) ,我们从logistic回归模型的最大似然估计的角度出发,假设训练集中的样本都是独立同分布的条件下。尽管这节课是选修性质的,但还是感谢观看本节视频。我希望通过本节课您能更好地明白逻辑回归的损失函数,为什么是那种形式,明白了损失函数的原理,希望您能继续完成课后的练习,前面课程的练习以及本周的测验,在课后的小测验和编程练习中,祝您好运。
课程PPT
←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
2.17 Jupyter/iPython 笔记本的快速指南 | 回到目录 | 2.19 总结习题 |