每天进步一点点-深度学习入门-基于Python的理论与实现 (2)
今天要补上两天的
不补了,新手,看的比较慢--
手写识别例子跳过先
思考如何实现数字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)的更多相关文章
- 学习《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码
入门神经网络深度学习,推荐学习<深度学习入门:基于Python的理论与实现>,这本书不来虚的,一上来就是手把手教你一步步搭建出一个神经网络,还能把每一步的出处讲明白.理解神经网络,很容易就 ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- 深度学习入门实战(二)-用TensorFlow训练线性回归
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :董超 上一篇文章我们介绍了 MxNet 的安装,但 MxNet 有个缺点,那就是文档不太全,用起来可能 ...
- 给深度学习入门者的Python快速教程
给深度学习入门者的Python快速教程 基础篇 numpy和Matplotlib篇 本篇部分代码的下载地址: https://github.com/frombeijingwithlove/dlcv_f ...
- 深度学习入门者的Python快速教程 - 基础篇
5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...
- mnist手写数字识别——深度学习入门项目(tensorflow+keras+Sequential模型)
前言 今天记录一下深度学习的另外一个入门项目——<mnist数据集手写数字识别>,这是一个入门必备的学习案例,主要使用了tensorflow下的keras网络结构的Sequential模型 ...
- 深度学习基础-基于Numpy的卷积神经网络(CNN)实现
本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及动手学深度学习的读书笔记.本文将介绍基于Numpy的卷积神经网络(Convolutional Networks,CNN) ...
- 深度学习基础-基于Numpy的多层前馈神经网络(FFN)的构建和反向传播训练
本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及花书的读书笔记.本文将以多分类任务为例,介绍多层的前馈神经网络(Feed Forward Networks,FFN)加上 ...
随机推荐
- sqldeveloper全部导出
点击Tools--Export User Objects 这种方式可以导出当前用户拥有的所有对象,包括表.视图.触发器.同义词等等,对于表,只能导出表结构(建表语句),不能导出数据, 选中要导出的对象 ...
- ES6(阮一峰) 数组的扩展
1.扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(1, ...[2, 3, 4], 5) // ...
- mongodb客户端操作常用命令(续)
之前有写过一篇mongodb客户端的操作常用命令 ,今天接着来记录分享一些关于mongodb账户权限设置的命令操作 上期mongodb客户端的操作常用命令地址:https://www.cnblogs. ...
- openFrameworks Download
{ https://openframeworks.cc/zh_cn//download/ } 0.10.1 是最新发布的版本. 这个版本是修改了一些BUG的小版本,与版本 0.10.1100%兼容而且 ...
- Java中遍历数组的三种方式复习
1 for循环遍历 通常遍历数组都是使用for循环来实现.遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度. 程序示例: package captai ...
- JCF——set
HashSet LinkedHashSet TreeSet 联系与区别
- 收集python2代码转python3遇到的问题
在程序中做python版本判断 sys.version_info # sys.version_info(major=2, minor=7, micro=16, releaselevel='final' ...
- cdn 链接
1.jquery : http://www.jq22.com/cdn/ 2.常用前端库引用地址 : http://www.jq22.com/jquery/jquery.html 3.vC ...
- JAVA中 成员变量和和实例变量区别
java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...
- C++中调用OC代码
前言 最近项目中为了方便维护,底层统一使用C++编写.由于是项目是做屏幕共享sdk,所以只能底层的压缩.编解码使用C++,屏幕捕获部分Mac和win就自己实现了.那么问题就来了,因为是面向接口编程,所 ...