今天要补上两天的

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


手写识别例子跳过先

思考如何实现数字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. 【LeetCode】水题(刚开始重新刷题找感觉用的)

    [9] Palindrome Number [Easy] 给一个数字,用不转化成字符串的方式判断它是否是回文. 先求数字长度,然后把数字的后半段做翻转(就是不断地取模,除10这种方式),然后判断前后半 ...

  2. 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶

    一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...

  3. 【LeetCode 13】罗马数字转整数

    题目链接 [题解] 就是上一题反过来的过程. 因为有说一般情况下后面的罗马数字是小于前面的罗马数字的. 如果前面的罗马数字小于后面的罗马数字了. 说明出现了4,9,40,90这些特殊情况. 那么就得判 ...

  4. go语言中使用正则表达式

    一.代码 package main import ( "fmt" "regexp" ) func main() { text := `Hello 世界!123 ...

  5. RF中alert的处理

    那么在robotframework中如何处理呢? 我在测试过程中遇到了这么一个窗口: 这种应该是属于Confirm 类型,是无法定位到的,在robotframework中需要这样处理: 1.虽然无法定 ...

  6. SSM框架整合思路

    SSM框架整合思路 Spring在整合中起到的作用(面试时常问到) Spring管理持久层的mapper. Spring管理业务层的service,service可以调用mapper接口.Spring ...

  7. PHP面试 PHP基础知识 七(文件及目录处理)

    文件操作 文件打开函数 fopen()函数 //用来打开一个文件 打开时需要指定打开模式 语法:fopen( filename, mode, include_path, context); filen ...

  8. JAVA中HashMap相关知识的总结(一)

    Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表 ...

  9. 1.1 React 介绍

    1.1.1 React 是什么 React IS A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES 来自:React 官方网站 狭义来讲 React ...

  10. OSPF中DR和BDR到底是谁先选举出来的?

    在OSPF的DRBDR选举的过程中,DR的选举依靠的是hello报文,在two-way之后,交互hello报文完成DR/BDR的选举. 那么在每台路由器根据收到的所有hello报文,会构建自己接口的数 ...