cross-entropy函数

我们理想情况是让神经网络学习更快

假设简单模型: 只有一个输入,一个神经元,一个输出

简单模型: 输入为1时, 输出为0


初始 w = 0.6, b = 0.9   初始预测的输出 a = 0.82, 需要学习
学习率: 0.15

演示: 




初始: w = 2.0, b = 2.0, 初始预测输出: 0.98, 和理想输出0差点很远
演示:



神经网络的学习行为和人脑差的很多, 开始学习很慢, 后来逐渐增快.

为什么?

学习慢 => 偏导数 ∂C/∂w 和 ∂C/∂b 值小

计算偏导数:

回顾之前学习的Cost函数:
对于一个x, y 和单个神经元:
分别对w和b求偏导数:

  x = 1, y = 0


回顾sigmoid函数

当神经元输出接近1时, 曲线很平缓, 
=>
 很小, 所以学习很慢

如何增快学习?

介绍cross-entropy cost 函数

假设一个稍微复杂一些的神经网络


    
定义cross-entropy函数:


为什么可以用来做cost函数?
1.  函数值大于等于0 (验证)
2.  当a=y时, cost = 0





用sigmoid函数定义

推出:


 代入 上面的偏导, 得到:


学习的快慢取决于 

也就是输出的error

好处: 错误大时,更新多,学得快. 错误小时,学习慢


对于偏向也类似:

用cross-entropy 演示:

w = 0.6, b = 0.9


w = 2.0, b = 2.0

与之前的二次cost比较
学习率=0.005, 但是不是重点, 主要是速度的变化率, 也就是曲线的形状不同. 

以上是对于一个单个神经元的cost, 对于多层:

以上把输出层所有的神经元的值加起来

总结:

cross-entropy cost几乎总是比二次cost函数好

如果神经元的方程是线性的, 用二次cost函数 (不会有学习慢的问题)






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DButils工具使用笔记以及常见问题总结

入门: https://www.cnblogs.com/smyhvae/p/4085684.html 一、字段名称和实体类命名不用 解决办法:给查询结果的显示字段取别名,如TEMPLATE_ID AS templateId select news_id as id, title from test where id1 二、DBUtils使用BeanListH…

Tensorflow报错:AttributeError: 'module' object has no attribute 'scalar_summary'

报错: tf.scalar_summary(l.op.name (raw), l) AttributeError: module object has no attribute scalar_summary 解决: tf.scalar_summary(images, images)改为:tf.summary.scalar(images, images) tf.image_summary(images, images)改为&…

python安装Scrapy踩过的坑以及安装指导

在pyCharm中的setting中直接添加包然后报错,然后利用window控制台pip install 报错异常: Command "python setup.py egg_info" failed with error code 1 第一步:准备更新pip,利用以下指令 python -m pip install --upgrade pip…

MyBatis之快速入门

MyBatis之快速入门 2017/9/30首先我要明确告诉大家的是MyBatis是一个java持久层框架,以前我们都是用jdbc来将我们的java程序与数据库相连接,而MyBatis是对jdbc的一个封装。 1.MyBatis框架的引入 我们来看看传统的编程方式中使用jdbc的问题: 1.数据库连接…

【使用注意】特殊中括号[]的特殊json数组

Testpublic void demo93() throws Exception {String str "[\"a\", \"b\", \"c\"]";//生成json数组JSONArray createArray new JSONArray();createArray.put("a");createArray.put("b");createArray.put("…

MyBatis之Mapper动态代理开发

MyBatis之Mapper动态代理开发 2017/9/301.SqlSession的使用范围 1.SqlSessionFactoryBuilder SqlSessionFactoryBuilder是以工具类的方式来使用:需要创建sqlSessionFactory时就new一个 SqlSessionFactoryBuilder 2.sqlSessionFactory 正常开发时,以单例方式管理sqlS…

【转载保存】IDEA maven中添加本地jar包

http://www.cnblogs.com/pldsalaryblogs/p/8194742.html

【转载保存】Java 8 Lambda实现原理分析

怒学Java8系列一:Lambda表达式介绍 Java 8 Lambda实现原理分析

MyBatis之输入(parameterType)与输出(resultType、resultMap)映射

MyBatis之输入(parameterType)与输出(resultType、resultMap)映射 2017/9/30在MyBatis中,我们通过parameterType完成输入映射(指将值映射到sql语句的占位符中,值的类型与dao层响应方法的参数类型一致),通过resultType完成输出映射(从数据库中…

java几种遍历方式以及效率对比

几种遍历方式&#xff1a; /*** */ package effectiveUse;import java.util.Iterator; import java.util.List;/*** author weijie** 2019年4月13日*/ public class ForEachList {/** 方式1&#xff1a;开始时候*/public void countSizeForEachList(List<Integer> list)…

MyBatis之优化MyBatis配置文件中的配置

MyBatis之优化MyBatis配置文件中的配置 2017/9/30MyBatis配置文件很重要&#xff0c;首先我们来看看MyBatis配置文件中的内容和顺序: 文件目录结构如下: 1.<properties>属性定义 可以把一些通用的属性值配置在属性文件中&#xff0c;加载到mybatis运行环境内。例如创建d…

【转载保存】在python中如何用word2vec来计算句子的相似度

在python中&#xff0c;如何使用word2vec来计算句子的相似度呢&#xff1f; 第一种解决方法 如果使用word2vec&#xff0c;需要计算每个句子/文档中所有单词的平均向量&#xff0c;并使用向量之间的余弦相似度来计算句子相似度&#xff0c;代码示例如下&#xff1a; import …

Spark介绍

Spark Spark 是什么? Apache Spark?是用于大规模数据处理的快速和通用引擎. 速度:在内存中,运行程序比Hadoop MapReduce快100倍&#xff0c;在磁盘上则要快10倍. Apache Spark具有支持非循环数据流和内存计算的高级DAG执行引擎. 易用:可以使用Java&#xff0c;Scala&#…

MyBatis之使用resultMap实现高级映射

MyBatis之使用resultMap实现高级映射 2017/09/30对于数据库中对表的增删改查操作&#xff0c;我们知道增删改都涉及的是单表&#xff0c;而只有查询操作既可以设计到单表操作又可以涉及到多表操作&#xff0c;所以对于输入映射parameterType而言是没有所谓的高级映射的&#xf…

【转载保存】大型推荐系统架构图设计图

推荐系统架构&#xff1a;https://www.cnblogs.com/kobedeshow/p/3569525.html 推荐系统介绍和基本架构流程:https://blog.csdn.net/LHWorldBlog/article/details/80822719

MyBatis之查询缓存

MyBatis之查询缓存 2017/09/30正如大多数持久层框架一样&#xff0c;MyBatis同样也提供了对查询数据的缓存支持。今后我们要学习的SpringMVC框架属于系统控制层&#xff0c;它也有它的缓存区域&#xff0c;对响应的jsp页面进行缓存&#xff1b;Spring属于系统业务层&#xff0c…

Spark和机器学习整合

链接&#xff1a;https://www.cnblogs.com/charlesblc/p/6109551.html

MyBatis3.x和Spring3.x的整合

MyBatis3.x和Spring3.x的整合 2017/10/021.mybatis和spring整合的思路 1.让spring管理SqlSessionFactory 2.让spring管理mapper对象和dao 使用spring和mybatis整合开发mapper代理及原始dao接口。 自动开启事务&#xff0c;自动管理sqlsession 3.让spring管理数据源(即数据库连接…

【转载保存】匿名内部类中this的使用

转载链接&#xff1a;https://www.cnblogs.com/yaowen/p/9471389.html 代码使用模板使用&#xff1a; package test;public class A extends B {public String toString() {return "A";}public static void main(String[] args) {A a new A();a.say();A.AIn aa a…

特征选择

特征选择是特征工程中的重要问题&#xff08;另一个重要的问题是特征提取&#xff09;&#xff0c;坊间常说&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。由此可见&#xff0c;特征工程尤其是特征选择在机器学习中占有相当重要的…