查看DL roam的源代码
←
DL roam
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 最小值:cost函数 == 先从识别一个数字来说,比如"2", 上述神经元可以认为是一个复杂的函数, 用一个手写体28x28的"2"的图片作为输入(x), 输出a是此图片可能是2的可能性. 输入一个"2"的图片,当然希望输出是y(x)=[1] (一维向量), 期望值用y(x)来表示(这里有点反人类, 为毛不用y(x)作为神经网路输出值). 而神经网络输出值可以用a表示. 这里y(x)就是1, 写作y(x)方便扩展. 希望 "2" 作为输入, [1,]作为输出, 如果不是这个情况呢, 比如输出了 0.1, 那么就需要说明下我们和期望值的'距离', 一般用: C(w,b)= |y(x)-a|<sup>2</sup> 而C(w,b)定义了我们距离我们期望值的"距离"或者说"价格" 也或者说 "损耗". 总之, 是希望通过调整w,b这些参数, 得到一个神经网络的输出,使得C(w,b)这个Cost函数, 取值最小,也就是得到了最好结果. (直接相减行不? 应该是不行的. C(w,b)是一个函数, 如果这个函数在所有图片"2"为输入的值域上, C(w,b)可能是一条直线, 哪里是最好值, 好像没法子定义好. 而二次方程图像是一个抛物线, 有一个底, 有一个最小值) [[文件:Dl-grident-decendent.png]] 现在,我们考虑,我们要同时识别手写"2"和"3". 结果是期望值现在是一个二维向量了, "2" 期望值是 [1,0], "3":期望值是 [0, 1]. 神奇的是, 数学, 用向量来表示"2", "3"的期望值时, 有几个令人敬畏的性质. 首先, 向量里的每个值互相都是正交的, 也可以说是二维空间的, 大概可以这样说, 学习 "2" 和学习"3" 现在可以独立互不影响的展开了. 其次, 如果输入是"2"的图片, 你肯定希望向量对应3的可能性是0, 而输入图片"3",向量对应2的部分是0. 这对应了输出向量的"方向",很神奇的是, Cost取最小值的时候, 这个条件也是满足的. 二维情况下, Cost函数, 如果走了狗屎运,可能是这个样子: [[文件:Dl-good-cost.png]] 很明显, 如果Cost是这个样子的, 我们应该能找到, w,b的组合, 让我们走到谷底. 想一下, 一个点在这个二维曲面上的意义是什么. 一个点, 代表某个图片通过一组 w,b的值被影射到的位置. 调整神经网络的w,b, 这个影射点的位置将会改变, 我们希望所有"2"的输出都在底部,其输出值在2的维度(x)上投影最大, 所有"3"的输出也都在底部, 很幸运, 二维空间容许我们 "3"的输出也在底部 其输出值在3的维度上投影最大(y). 二维空间容许"2" "3"有"相当旷阔"的独立性,在w,b调整中可能可以实现把"2","3"的影射值放到这个曲面的底部,即, cost最小. 这段,几乎就是在想象,向量代表的多维度空间是什么意思. (不要相信我) 还有一个问题, 就是所有的输入图片可能不能都是"最佳", 那么, 最好其平均值最好. 所以cost函数实际上是: [[文件:Deep-learnign-full-cost-mean-squeare.jpg]] 这个函数可以看作是以w,b的组合作为变量的函数 (而不是那些"图片"), 学习就是通过调整w,b,找到这个函数的最小值.
返回到
DL roam
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面