楼上很多对3.4.7怎么推到3.4.8的讨论,我个人一开始没理解用极大似然怎么推出这个条件概率值的表达式,但是看了一下@zxhd863943427的推导也理解了:
极大似然是通过改变模型的参数θ,使得观测的事件发生的概率最大,这里θ就是估计的y的概率分布,所以要改变y的分布的值(特指yj情况下的y*)来使得发生事件(指这里的一个个样本,相互对立假设下概率值直接相乘)的概率最大,上述概率都是指给定x下的条件概率。
我就补充这个理解吧,具体计算再去看@zxhd863943427写的回答应该能看得更懂一些。(有错请指正我,概统已经是一年前学的了)
关于线性层和非线性层,不知道我理解的对不对,请大家批评指正。
这个模型包含了一个全连接层(线性)和一个softmax层(非线性)。
深度学习中只有线性层的情况下是无法作用于复杂问题的,而有了softmax层作为非线性层,就可以不加relu或者sigmoid层,也可以跑出正确的结果。
我的理解是,P(y’i | x’i) 描述的是一个概率,它的结果是一个标量而不是向量,所以 log P(y’i | x’i) 与 y_hat 'i 之前是无法划等号的。
根据 3.4.1 中的内容可知,每种类别对应的独热编码是唯一的,即第 n 个分量为 1 的 y 只有一个。或者说,独热向量 y 描述的是一个事件A,若 y 的第 n 个分量为 1 ,则事件 A 表示输入的 x 为第 n 类。
所以,假设 向量 y’i 的第 n 个分量为 1 ,它的概率应该为 P(y’i | x’i) = P(y_n | x) = y_hat_n
希望对你有帮助
我也有这个感觉,为什么第一版读起来很流畅
同样的疑惑,看到这块内容,感觉这里的公式表述不是很严谨,容易让人理解成一个向量。
我推出来也是这个答案,看起来大家应该都差不多
兄弟写的很详细,我想的是如果把你第一题第二问中的o换成y会不会简洁一些,而且题干中要求使用二阶导数表示。还有第一题第一问,为什么前面对oj求二次导,后面又对oi求导了?没看明白
在兄弟贴中补充一下第二题我的浅薄理解:第一问将概率编码为二进制,特别是概率相等情况下,由于存在小数二进制编码问题从而存在精度问题,对于1/3无法用二进制编码精确表示,那么为了保证概率之和为一,编码后的概率将不再相等。第二问,使用哈夫曼编码两个独立的观测数据会发生什么?联合编码n个观测值呢?我觉得哈夫曼编码虽然能解决无损问题,但对于多个观测值需要建立庞大的编码表。这个问题关键应该在于独立性和联合性,我猜测这种编码同时存在无损概率表示,且满足独立可乘性质。然而这种编码是什么已经超出我的知识范围了。。。
我恰恰认为用惊讶很好啊,非常通俗易懂啊。。。
想问一下,为什么要对 O_i 求导呢?有什么意义
应该是因为链式法则的缘故。求梯度最终是要对参数求导的,但是对参数求导的过程中必定要经历损失函数对o_j求导,然后o_j再对参数求导的过程。
因为q维向量y是一个单位向量,所以y的元素y_j的取值要么是0要么是1且只有一个1,所以y_j的求和是1
3.4.8这个跳跃我觉得挺逆天的, 生怕别人看得懂还是咋地
确实 我都得对着英文原版看,翻译水平真的好差,
我还以为只有我看得蛋疼原来大家都蛋疼
中文版文字表达前面看得还好,现在越看越像机翻
内容总有莫名其妙的跳脱,对基本功和推理能力要求太高,有时看着看着得停下来消化半天
从新看了一下第一版这一章节,第二版确实没有第一版清晰
这样的公式推导应该是个特例,本质上应该是单个样本的信息量等于交叉熵