Using neural nets to recognize handwritten digits


Learning with gradient descent

对于一个网络,它的代价函数:

C(w,b)≡12n∑x∥y(x)−a∥2

\begin{eqnarray} C(w,b) \equiv\frac{1}{2n} \sum_x \| y(x) - a\|^2\end{eqnarray}
其中,w和b为权重和偏置,n为输入样本总数,y(x)为输入样本x所属的类别,也就是groundtruth,a为经过网络计算后得到的向量。另外,C可以称作是二次代价函数,或者均方误差(MSE)。
我们要做的就是尽可能找到一组权重和偏置(w,b)来最小化代价函数,也就是说让预测值越接近groundtruth越好。训练算法采用梯度下降法(gradient descent)。
最小化 C(v)C(v),而 v=v1,v2,…v = v_1,v_2, \ldots,其中用 vv来表示w和b。假设代价函数C有两个分量,v1和v2v1和v2

我们要做的就是找到曲面的最低点,因此要得到C的梯度信息。

ΔC≈∂C∂v1Δv1+∂C∂v2Δv2

\begin{eqnarray} \Delta C \approx \frac{\partial C}{\partial v_1} \Delta v_1 +\frac{\partial C}{\partial v_2} \Delta v_2\end{eqnarray}
注意啊,这里是变化值,不是梯度啊!
然后将上式中的导数部分提出来作为一个向量有: (∂C∂v1,∂C∂v2)T\left(\frac{\partial C}{\partial v_1}, \frac{\partial C}{\partial v_2}\right)^T,那么有:

∇C≡(∂C∂v1,∂C∂v2)T

\begin{eqnarray} \nabla C \equiv \left( \frac{\partial C}{\partial v_1}, \frac{\partial C}{\partial v_2} \right)^T\end{eqnarray} 注意这里就是梯度信息了啊! 然后 v1和v2v_1和v_2也提出来作为一个向量: Δv≡(Δv1,Δv2)T\Delta v \equiv (\Delta v_1, \Delta v_2)^T,然后见证奇迹的时刻到了!

ΔC≈∇C⋅Δv

\begin{eqnarray} \Delta C \approx \nabla C \cdot \Delta v\end{eqnarray} 再然后令 Δv=−η∇C\begin{eqnarray}\Delta v = -\eta \nabla C\end{eqnarray},得到:

ΔC≈−η∇C⋅∇C=−η|∇C|2

\Delta C \approx -\eta\nabla C \cdot \nabla C = -\eta |\nabla C|^2 其中, η\eta就是所谓的学习率啦(learning rate)。这样,由于 ∥∇C∥2≥0\| \nabla C \|^2 \geq 0,而且 η\eta为正数,那么就保证了 ΔC≤0\Delta C \leq 0。

v→v′=v−η∇C

\begin{eqnarray} v \rightarrow v' = v -\eta \nabla C\end{eqnarray}按照这种方式逼近全局最小值。
关于learning rate的选取,如果过大会导致 ΔC>0\Delta C > 0,如果过小就会导致 Δv\Delta v变化的太慢。

《Neural network and deep learning》学习笔记(一)相关推荐

  1. 【web编程技术学习笔记】因特网与万维网简介

    目录 Client客户端 Server服务器端 TCP/IP五层协议 IP 查看IP地址的的两种方法 TCP URL 样式一 样式二 DNS URL&DNS HTTP 与因特网有关的组织 IE ...

  2. 程序员编程技术学习笔记

    程序员编程技术学习笔记     看july的博客也有好久了,一直没能好好整理一下自己的学习笔记,开了博客之后更加愿意好好整理一番了.其中不免有些内容在july那里可以找到原文,但是更多的加入了我个人的 ...

  3. JAVA 网络编程技术学习笔记

    目录 一.网络编程基本概念(了解) 1.1 计算机网络 1.2 网络通信协议 1.2.1什么是网络通信协议 1.2.2 OSI七层协议模型 1.2.3网络协议的分层 1.3数据的封装和解封 1.4 I ...

  4. 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续

    目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...

  5. java网络编程技术学习笔记(b站【狂神说Java】网络编程实战讲解)

    b站视频链接:[狂神说Java]网络编程实战讲解 文章目录 网络编程 1.1.概述 1.2.网络通信的要素 1.3.IP 1.4.端口 1.5.通信协议 1.6.TCP 文件发送 1.7.UDP 1. ...

  6. SpringBoot整合第三方技术学习笔记(自用)

    SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...

  7. java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)

    原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...

  8. ssm 转发请求_千呼万唤!阿里内部终于把这份SSM框架技术学习笔记分享出来了...

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

  9. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  10. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

最新文章

  1. python中mode_python中的model模板中的数据类型
  2. Oracle 被 4000 多名女性员工集体诉讼:因薪资比男性每年少 1.3 万美元
  3. 9种蔬菜吃不对胜似砒霜
  4. Spring 学习二-----AOP的原理与简单实践
  5. 从零开始实现multipart/form-data数据提交
  6. 【渝粤题库】广东开放大学 微信平台开发与应用 形成性考核 (2)
  7. Java学习之文件操作
  8. 蛋疼的strtok函数
  9. ue4 运行禁用鼠标_从零开始——三:关闭电脑无用服务提高运行速度
  10. oracle 控制文件在哪里设置_oracle的controlfile控制文件
  11. WinForm 中自定义文件与自己的应用程序相关联
  12. [渝粤教育] 西南科技大学 计算机辅助设计 在线考试复习资料2021版
  13. 教你从零开始学习数据库!
  14. 银行新一代信息系统项目集群管理实践分享︱秦皇岛银行信息科技部总经理王登峰
  15. python 横向拼接_python实现横向拼接图片
  16. 免费下载C++Prime!
  17. 初识机器学习前导内容_你需要知道的基本概念罗列_以PY为工具 【Python机器学习系列(一)】
  18. LeetCode简单题643.子数组的最大平均数I
  19. C语言程序设计摘苹果,陶陶摘苹果(qb编程)怎么做?
  20. Bat(批处理)文件编写手册(一)

热门文章

  1. 聊聊Tomcat的架构设计
  2. 使用百度地图实现详细地址自动补全
  3. nginx反向代理配置
  4. c++11 常量表达式
  5. 浅谈js本地图片预览
  6. 修改Bootstrap的一些默认样式
  7. 【形式化方法:VDM++系列】4.VDM实战1——铁路费用计算
  8. [转]毕业五年决定你的命运-----值得所有不甘平庸的人看看
  9. 透过Win2008 R2窥视微软虚拟化帝国
  10. 《终于有人说出来了——Java不适合于作为主要编程教学语言》我的看法