←上一篇 ↓↑ 下一篇→
2.17 Jupyter/iPython 笔记本的快速指南 回到目录 2.19 总结习题

Logistic 损失函数的解释 ( Explanation of Logistic Regression Cost Function (Optional))

在前面的视频中,我们已经分析了逻辑回归的损失函数表达式,在这节选修视频中,我将给出一个简洁的证明来说明逻辑回归的损失函数为什么是这种形式。

回想一下,在逻辑回归中,需要预测的结果 y^\hat{y}y^​ ,可以表示为 y^=σ(wTx+b)\hat{y}=\sigma(w^Tx+b)y^​=σ(wTx+b) , σ\sigmaσ 是我们熟悉的 SSS 型函数 σ(z)=σ(wTx+b)=11+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^​ 是给定训练样本 xxx 条件下 yyy 等于1的概率。换句话说,如果 y=1y=1y=1 ,在给定训练样本 xxx 条件下 y=y^y=\hat{y}y=y^​ ;反过来说,如果 y=0y=0y=0 ,在给定训练样本 xxx 条件下 yyy 等于1减去 y^(y=1−y^)\hat{y}(y=1-\hat{y})y^​(y=1−y^​) ,因此,如果 y^\hat{y}y^​ 代表 y=1y=1y=1 的概率,那么 1−y^1-\hat{y}1−y^​ 就是 y=0y=0y=0 的概率。接下来,我们就来分析这两个条件概率公式。

这两个条件概率公式定义形式为 p(y∣x)p(y|x)p(y∣x) 并且代表了 y=0y=0y=0 或者 y=1y=1y=1 这两种情况,我们可以将这两个公式合并成一个公式。需要指出的是我们讨论的是二分类问题的损失函数,因此, yyy 的取值只能是0或者1。上述的两个条件概率公式可以合并成如下公式:

p(y∣x)=y^y(1−y^)1−yp(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=1y=1y=1 ,由于 y=1y=1y=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=1y=1y=1 时 p(y∣x)=y^p(y|x)=\hat{y}p(y∣x)=y^​ (图中绿色部分)。

第二种情况,当 y=0y=0y=0 时 p(y∣x)p(y|x)p(y∣x) 等于多少呢? 假设 y=0y=0y=0 , y^\hat{y}y^​ 的 yyy 次方就是 y^\hat{y}y^​ 的0次方,任何数的0次方都等于1,因此 p(y∣x)=1∗(1−y^)1−yp(y|x)=1*(1-\hat{y})^{1-y}p(y∣x)=1∗(1−y^​)1−y ,前面假设 y=0y=0y=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=0y=0y=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⁡\loglog 函数是严格单调递增的函数,最大化 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⁡\loglog 对数,就是计算 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) 代入),通过对数函数化简为:

ylog⁡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)) 关联起来了,因此这就是单个训练样本的损失函数表达式。

在 mmm 个训练样本的整个训练集中又该如何表示呢,让我们一起来探讨一下。

让我们一起来探讨一下,整个训练集中标签的概率,更正式地来写一下。假设所有的训练样本服从同一分布且相互独立,也即独立同分布的,所有这些样本的联合概率就是每个样本概率的乘积:

P(labelsintrainingset)=∏i=1mP(y(i)∣x(x))。P(labels\ in\ training\ set)=\prod_{i=1}^mP(y^{(i)}|x^{(x)})。P(labels in training set)=i=1∏m​P(y(i)∣x(x))。

如果你想做最大似然估计,需要寻找一组参数,使得给定样本的观测值概率最大,但令这个概率最大化等价于令其对数最大化,在等式两边取对数:

P(labelsintrainingset)=log⁡∏i=1mP(y(i)∣x(x))=∑i=1mlog⁡P(y(i)∣x(i))=∑i=1m−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∏m​P(y(i)∣x(x))=i=1∑m​logP(y(i)∣x(i))=i=1∑m​−L(y^​(i),y(i))

在统计学里面,有一个方法叫做最大似然估计,即求出一组参数,使这个式子取最大值,也就是说,使得这个式子取最大值, ∑i=1m−L(y^(i),y(i))\sum_{i=1}^m-L(\hat{y}^{(i)},y^{(i)})∑i=1m​−L(y^​(i),y(i)) ,可以将负号移到求和符号的外面, −∑i=1mL(y^(i),y(i))-\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})−∑i=1m​L(y^​(i),y(i)) ,这样我们就推导出了前面给出的logistic回归的成本函数 J(w,b)=∑i=1mL(y^(i),y(i))J(w,b)=\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})J(w,b)=∑i=1m​L(y^​(i),y(i)) 。

由于训练模型时,目标是让成本函数最小化,所以我们不是直接用最大似然概率,要去掉这里的负号,最后为了方便,可以对成本函数进行适当的缩放,我们就在前面加一个额外的常数因子 1m\frac1mm1​ ,即:

J(w,b)=1m∑i=1mL(y^(i),y(i))。J(w,b)=\frac1m\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})。J(w,b)=m1​i=1∑m​L(y^​(i),y(i))。

总结一下,为了最小化成本函数 J(w,b)J(w,b)J(w,b) ,我们从logistic回归模型的最大似然估计的角度出发,假设训练集中的样本都是独立同分布的条件下。尽管这节课是选修性质的,但还是感谢观看本节视频。我希望通过本节课您能更好地明白逻辑回归的损失函数,为什么是那种形式,明白了损失函数的原理,希望您能继续完成课后的练习,前面课程的练习以及本周的测验,在课后的小测验和编程练习中,祝您好运。

课程PPT





←上一篇 ↓↑ 下一篇→
2.17 Jupyter/iPython 笔记本的快速指南 回到目录 2.19 总结习题

2.18 Logistic 损失函数的解释-深度学习-Stanford吴恩达教授相关推荐

  1. 3.5 向量化实现的解释-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.4 多个例子中的向量化 回到目录 3.6 激活函数 向量化实现的解释 (Explanation for Vectorized Implementation) 在上一个视频 ...

  2. 2.19 总结-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.18 Logistic 损失函数的解释 回到目录 3.1 神经网络概览 文章目录 总结 习题 第 11 题 第 12 题 第 13 题 第 14 题 第 15 题 第 1 ...

  3. 2.17 Jupyter/ipython 笔记本的快速指南-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.16 关于 Python Numpy 向量的说明 回到目录 2.18 Logistic 损失函数的解释 Jupyter/ipython 笔记本的快速指南 (Quick t ...

  4. 3.12 总结-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.11 随机初始化 回到目录 4.1 深层神经网络 文章目录 总结 习题 第 21 题 第 22 题 第 23 题 第 24 题 第 25 题 第 26 题 第 27 题 ...

  5. 3.10 直观理解反向传播-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.9 神经网络的梯度下降法 回到目录 3.11 随机初始化 直观理解反向传播 (Backpropagation Intuition (Optional)) 这个视频主要是推 ...

  6. 4.4 为什么使用深层表示-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.3 核对矩阵的维数 回到目录 4.5 搭建深层神经网络快 为什么使用深层表示 (Why Deep Representation?) 我们都知道深度神经网络能解决好多问题, ...

  7. 3.6 激活函数-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.5 向量化实现的解释 回到目录 3.7 为什么需要非线性激活函数 激活函数 (Activation Function) 使用一个神经网络时,需要决定使用哪种激活函数用隐藏 ...

  8. 2.10 m 个样本的梯度下降-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.9 Logistic 回归的梯度下降法 回到目录 2.11 向量化 mmm 个样本的梯度下降 (Gradient Descent on mmm example) 在之前的 ...

  9. 4.7 参数 vs 超参数-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.6 前向和反向传播 回到目录 4.8 这和大脑有什么关系 参数 vs 超参数 (Parameters vs. Hyperparameters) 想要你的深度神经网络起很好 ...

最新文章

  1. 去除QT不使用参数的警告
  2. 解析Excel2007之Style、Drawing、Chart
  3. Java 地下迷宫·算法·(ACM/蓝桥杯)·递归解法
  4. 第三次学JAVA再学不好就吃翔(part26)--static关键字
  5. AT4519-[AGC032D]Rotation Sort【dp】
  6. python有哪些软件包用来考察变量之间的相关性_Python语言基础考察点:python语言基础常见考题(一)...
  7. PC下串口IO空间及其寄存器详解
  8. html5长按 排序,H5 长按 拖拽排序的实现
  9. 大连交通大学计算机网络作业,计算机网络题库(大连交通大学)chapter4
  10. 黑马程序员:java基础学习——数组
  11. 第二十三模板 9对像数组模板
  12. Linux 实现与宿主机共享文件夹 Centos7
  13. slickedit快捷键冲突问题
  14. 数字电路与逻辑设计 答案(第三版)
  15. mysql bootstrap pxc_MYSQL PXC
  16. CS5211:EDP转LVDS转换器,可替代PS8622,PS8625,CH7511等芯片!
  17. android+ts+播放器,开源播放器ijkplayer的编译
  18. 用Xenu检查死链发现域名后有//
  19. 这心态也太好了!阿水赛前与kid双排狂说骚话:赢了血赚输了不亏
  20. Python之Pandas连接详解

热门文章

  1. C语言中的static 详细分析 2014-10-11 15:15 143人阅读 评论(0) 收藏...
  2. 文字或者图片连续滚动
  3. 关于单CPU,多CPU上的原子操作
  4. 好书推荐:《Implementing Database Security and Auditing》-数据库应用安全
  5. 可以下载Microsoft ISA Server 2006 试用版了,网管需要关注
  6. lambda sort
  7. 电动力学每日一题 2021/10/10
  8. UA MATH571A QE练习 R语言 非参数回归 上
  9. UA MATH564 概率论 高阶矩的计算:有限差算子方法1
  10. jquery点击页面其他位置隐藏div