今天要补上两天的

不补了,新手,看的比较慢--


手写识别例子跳过先

思考如何实现数字5的识别

三种方法:



训练数据:学习,寻找最优解

测试数据:评价模型能力.

损失函数:以损失函数为线索寻找自由权重参数,讲解损失函数:https://blog.csdn.net/qq_24753293/article/details/78788844

mini-batch学习:机器学习就是是针对训练数据计算损失函数的值,找出使该值尽可能小的参数,所以如果训练数据有100 个的话,我们就要把这100 个损失函数的总和作为学习的指标。

为何要设定损失函数而不使用目标精度作为指标:关键在于导数不为0,如果以对精度求导,大多数地方导数为0,无法根据导数变化更新值

(具体为啥大多数地方对精度求导会得0我理解的不是很清楚..

书中说的是,值得细微变化并不会引起精度的变化

我理解就是值得变化对于精度不敏感,当值变化很多时,精度才会变化一点,此时需要一个敏感的损失函数,值的每一点变化都能时刻反应值的这一点增减对于损失函数的走向,由此再次细微调节值,两者相互敏感的变化。

好像就这样:损失函数是一个能表达精度又能对值变化敏感(导数敏感)的函数。

例1:损失函数为均方误差


import numpy as np

#均方误差会计算神经网络的输出和正确解监督数据的各个元素之差的平方,再求总和。

# 经过训练后,出现0-9的期望

y=[0.1,0.05,0.6,0.0,0.05,0.1,0.0,0.1,0.0,0.0]

# 训练后的期望与实际期望的差值进行一定运算,其值越小越准确

def mean_squared_error(y,t):

​ return 0.5*np.sum((y-t)**2)

# 测试数据,测试数据结果为2,即实际期望

t=[0,0,1,0,0,0,0,0,0,0]

print(mean_squared_error(np.array(y),np.array(t)))

# 测试数据,测试数据结果为7,即实际期望

t=[0,0,0,0,0,0,1,0,0,0]

print(mean_squared_error(np.array(y),np.array(t)))

每天进步一点点-深度学习入门-基于Python的理论与实现 (2)的更多相关文章

  1. 学习《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码

    入门神经网络深度学习,推荐学习<深度学习入门:基于Python的理论与实现>,这本书不来虚的,一上来就是手把手教你一步步搭建出一个神经网络,还能把每一步的出处讲明白.理解神经网络,很容易就 ...

  2. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  3. 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇

    始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...

  4. 深度学习入门实战(二)-用TensorFlow训练线性回归

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :董超 上一篇文章我们介绍了 MxNet 的安装,但 MxNet 有个缺点,那就是文档不太全,用起来可能 ...

  5. 给深度学习入门者的Python快速教程

    给深度学习入门者的Python快速教程 基础篇 numpy和Matplotlib篇 本篇部分代码的下载地址: https://github.com/frombeijingwithlove/dlcv_f ...

  6. 深度学习入门者的Python快速教程 - 基础篇

      5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...

  7. mnist手写数字识别——深度学习入门项目(tensorflow+keras+Sequential模型)

    前言 今天记录一下深度学习的另外一个入门项目——<mnist数据集手写数字识别>,这是一个入门必备的学习案例,主要使用了tensorflow下的keras网络结构的Sequential模型 ...

  8. 深度学习基础-基于Numpy的卷积神经网络(CNN)实现

    本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及动手学深度学习的读书笔记.本文将介绍基于Numpy的卷积神经网络(Convolutional Networks,CNN) ...

  9. 深度学习基础-基于Numpy的多层前馈神经网络(FFN)的构建和反向传播训练

    本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及花书的读书笔记.本文将以多分类任务为例,介绍多层的前馈神经网络(Feed Forward Networks,FFN)加上 ...

随机推荐

  1. 7、执行 suite 后,result.html 测试报告中,测试结果全部显示为通过原因分析

    测试用例中,断言 异常后,必须 raise 抛出异常, 若无raise ,则测试报告中测试结果全部显示为通过. 抛出后,显示实际测试结果,通过/未通过 __author__ = 'Administra ...

  2. Java基础之ArrayList类

    一.ArrayList ArrayList继承了AbstractList分别实现了List.RandomAccess(随机访问).Cloneable(可被克隆(复制的意思)). Serializabl ...

  3. elementUI 日期时间选择器 只能选择当前及之后的时间

    日期时间选择器  只能选择当前及之后的时间 <el-date-picker class="input-border-null" prefix-icon="el-ic ...

  4. c# 转16进制

    1.byte[] 转换16进制字符串 1.1 BitConverter方式 var str = DateTime.Now.ToString(); var encode = Encoding.UTF8; ...

  5. Delphi max函数和min函数

    uses单元 math: min函数  min(A,B); 比较A.B的大小,取最小值 max函数  min(A,B); 比较A.B的大小,取最大值 原型示例:function Min(const A ...

  6. centos coreseek

    下载稳定版 coreseek wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz 解压 .tar.gz cd cor ...

  7. QT--QSocketNotifier类介绍

      QSocketNotifier 用来监听系统文件操作,将操作转换为Qt事件进入系统的消息循环队列.并调用预先设置的事件接受函数,处理事件. 一共存在3类事件:read,write,exceptio ...

  8. JS互相调用

    JS互相调用 例1: <html> <head> <meta charset="UTF-8"> <script type="te ...

  9. Java异常关闭资源的两种方式

    try-catch-finally 常用,在异常关闭时应判断流是否为空 public class CloseableUtils { public static void closeable(Close ...

  10. Linux内存管理(深入理解Linux内核)

    Linux的内存管理,实际上是借助80x86的硬件分段和分页电路,将逻辑地址转化为物理地址的. 物理内存中,有一部分是一直(Permanently)映射给内核使用的,这部分主要用于保存内核的代码,以及 ...