tensorflow4 代价函数、dropout、优化器

这次扔使用上次的mnist数据集分类的简单版本程序,使用不同的代价函数做计算

二次代价函数

在这里插入图片描述

在这里插入图片描述

激活函数

在这里插入图片描述

使用二次代价函数的运行结果

#  使用二次代价函数的结果-精度
# loss=tf.reduce_mean(tf.square(y-prediction))
# 0.8322
# 0.8698
# 0.8818
# 0.8882
# 0.8935
# 0.8965
# 0.8999
# 0.9017
# 0.9039
# 0.9054
# 0.9062
# 0.9074
# 0.9081
# 0.9095
# 0.9099
# 0.91
# 0.9108
# 0.9125
# 0.9132
# 0.9132
# 0.9136
  • 问题所在:
    在这里插入图片描述

  • 需求情况:
     距离目标越近,调整越慢,越远则调整越快

交叉熵代价函数

在这里插入图片描述

  • 这个怎么来的?
    在这里插入图片描述
    因为sigmoid函数的公式:
    在这里插入图片描述
    计算得到(自己求导试试)

信息熵的文章
熵其实是信息量的期望值,它是一个随机变量的确定性的度量。熵越大,变量的取值越不确定,反之就越确定。
在这里插入图片描述

在这里插入图片描述

–>与二次代价函数相比的优势所在。
越接近迈越小的步子

  • S形函数
     比如:sigmoid函数

  • 优势
     调整的比较合理,速度快

使用交叉熵的结果

# # 交叉熵代价函数
# loss=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=prediction))
# 0.8334
# 0.895
# 0.9024
# 0.9057
# 0.9091
# 0.9108
# 0.912
# 0.913
# 0.9159
# 0.9162
# 0.9169
# 0.9191
# 0.9183
# 0.9203
# 0.9197
# 0.9201
# 0.9204
# 0.9206
# 0.9218
# 0.9215
# 0.9218

对数似然代价函数

似然最大估计

在这里插入图片描述


拟合

  • 回归
    在这里插入图片描述

  • 欠拟合

  • 正确拟合

  • 过拟合:(未知数过多而已有的公式过少)

  • 分类

在这里插入图片描述

防止过拟合

在这里插入图片描述

n是训练集的大小,λ是一个参数可以调节正则项的重要性,w是权值,C是误差

  • dropout:
    如果一个神经元的参数几乎都等于0的话,那么多少乘以0都还是0,所以可以认为这个神经元不存在,将之删除。
    这样可以简化神经网络的
    在执行过程中,可以只让部分神经元工作,而另一部分不工作,如右图所示。实线神经元为工作的神经元,虚线则为不工作的神经元

demo2dropout

  • 加一个中间层

  • 初始化为0,并不是好的初始化方式,一般使用随机数初始化。

      # 加一个中间层keep_prob=tf.placeholder(tf.float32)# 创建一个简单的神经网络,直接784投影到10上W1=tf.Variable(tf.truncated_normal([784,2000],stddev=0.1))#  tf.truncated_normal(shape, mean, stddev) :shape表示生成张量的维度,mean是均值,stddev是标准差.正态分布b1=tf.Variable(tf.zeros([2000])+0.1)L1=tf.nn.tanh(tf.matmul(x,W1)+b1)L1_drop=tf.nn.dropout(L1,keep_prob)W2=tf.Variable(tf.truncated_normal([2000,2000],stddev=0.1))#  tf.truncated_normal(shape, mean, stddev) :shape表示生成张量的维度,mean是均值,stddev是标准差.正态分布b2=tf.Variable(tf.zeros([2000])+0.1)L2=tf.nn.tanh(tf.matmul(L1_drop,W2)+b2)L2_drop=tf.nn.dropout(L2,keep_prob)#实际上用不着这么多层,这么多个神经元,这里是故意整这么多的,会出现过拟合情况(未知数过多而已有的公式过少)W3=tf.Variable(tf.truncated_normal([2000,1000],stddev=0.1))#  tf.truncated_normal(shape, mean, stddev) :shape表示生成张量的维度,mean是均值,stddev是标准差.正态分布b3=tf.Variable(tf.zeros([1000])+0.1)L3=tf.nn.tanh(tf.matmul(L2_drop,W3)+b3)L3_drop=tf.nn.dropout(L3,keep_prob)# keep_prob-->设置他有多少个神经元是工作的:0-1.1:100%工作。0.5:一半是在工作的W4=tf.Variable(tf.truncated_normal([1000,10],stddev=0.1))b4=tf.Variable(tf.zeros([10]))#b的形状依据每个批次的形状而定,在中间层时,每个批次未必是一行n列,也可能变换成多行多列,此时b随之改变。prediction=tf.nn.softmax(tf.matmul(L3_drop,W4)+b4)#(形状(100,10)
    

不使用dropout

sess.run(train_step,feed_dict={x:batch_xs,y:batch_ys,keep_prob:1.0})
100%的神经元都工作的情况下
在这里插入图片描述
在这里插入图片描述

使用dropout

70%神经元工作情况下的训练结果
测试时仍有100%在工作,收敛速度很快,但后来上不去了,而且测试精度与训练精度相差很大

	sess.run(train_step,feed_dict={x:batch_xs,y:batch_ys,keep_prob:0.7})print("test-iter:",epoch," acc:",sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels,keep_prob:1.0}))
print("train-iter:",epoch," acc:",sess.run(accuracy, feed_dict={x: mnist.train.images, y: mnist.train.labels, keep_prob: 1.0}))

收敛速度变慢了,但三十次所达到的还不是极限,这个精度还能上升,并且,测试精度和训练精度相差不大
在这里插入图片描述

优化器Optimizer

在这里插入图片描述

训练时间:标准>批量>随机
噪音:标准<批量<随机
批量用的多

在这里插入图片描述

W:要训练的参数
J(W):代价函数
在这里插入图片描述
对W的梯度
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
gt同上,是梯度。

效果

在这里插入图片描述

星:全局最小
速度:adadelta最快,SGD最慢。momentum很快,但是路径绕,NAG相当于聪明版本的momentum

鞍顶问题
在这里插入图片描述
除了adaelta和adagrad外,都在窝里来回晃悠。后来除了SGD以外的才晃悠出来,如下
在这里插入图片描述

  • SGD:慢,而且鞍顶也无法逃离,那是不是不用了?
    每种优化器都有其适用范围,新的都快,但是SGD准确率高。

不知道哪个优化器最后的结果准确率最高,这个说不准,可能都要测试一次

优化器的比较:
https://blog.csdn.net/fengchao03/article/details/78208414
https://blog.csdn.net/weixin_40170902/article/details/80092628
https://www.jianshu.com/p/ee39eca29117

优化demo1

  1. 加中间层(中间层的层数、神经元数太多的话可以降低
  2. keep_drop改成0.7之类的试试
  3. 权值从0变成tf.truncated_normal([2000,1000],stddev=0.1),b变成0.1
  4. 优化器的选择,调节学习率
  5. 中间层的激活函数,tanh或者其他什么delu,softmax啊之类的
  6. 迭代次数要足够,趋于稳定

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

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

相关文章

强化学习先驱Richard Sutton:将开发新型计算智能体

来源&#xff1a;机器之心编辑&#xff1a;陈萍、小舟DeepMind 和阿尔伯塔大学联合成立的人工智能实验室未来几年要研究什么&#xff1f;2017 年&#xff0c;DeepMind 在加拿大的 Edmonton 成立了其首个英国之外的人工智能研究实验室&#xff0c;并和阿尔伯塔大学大学紧密合作&…

不隐身的“隐身战斗机”

7月19日&#xff0c;韩国KF-21战斗机原型机完成首飞&#xff0c;韩国国防部将该机定位为4代半战斗机。凭借该机&#xff0c;韩国将成为第9个能够研制超音速战斗机的国家。 所谓4代半战斗机&#xff0c;即部分采用隐身技术&#xff0c;同时无法完全达到5代机性能标准的战斗机。…

国科大高级人工智能笔记1-搜索

1.搜索问题 搜索问题——对原问题的建模 构成&#xff1a; 状态空间 包含环境中每一个细节搜索状态&#xff1a;只保留行动需要的细节 后继函数 行动&#xff0c;消耗 初始状态和目标测试 解&#xff1a; 一个行动序列&#xff0c;将初始状态–>目标状态 表示 状态空间图 搜…

自学成才的人工智能显示出与大脑工作方式的相似之处

来源&#xff1a;ScienceAI编译&#xff1a;白菜叶十年来&#xff0c;许多最令人印象深刻的人工智能系统都是使用大量标记数据进行教学的。例如&#xff0c;可以将图像标记为「虎斑猫」或「虎猫」&#xff0c;以「训练」人工神经网络以正确区分虎斑和虎。该战略既取得了惊人的成…

国科大高级人工智能2-人工神经网络(MLP、Hopfield)

常见组合函数 常见激活函数 结构 前馈神经网络&#xff08;单向&#xff09;反馈/循环神经网络 学习方法 学习模型 增量迭代 类型 监督无监督 学习策略 Hebbrian Learning 若两端的神经元同时激活&#xff0c;增强联接权重Unsupervised Learning循环&#xff1f;ωij(t1)ω…

Nature:AI的瓶颈突破在于「实体人工智能(PAI)」

来源&#xff1a;公众号机器之能作者&#xff1a;AslanMiriyev 、 Mirko Kovač翻译&#xff1a;Panda近些年人工智能领域已经取得了突飞猛进的进步&#xff0c;但这些进步大都集中于数字人工智能领域&#xff0c;对于能和我们这种生物体一样执行日常任务的实体人工智能&#x…

国科大高级人工智能3-DNN(BM/RBM/DBN/DBM)

1.深层、浅层、BP 出现背景优点缺点浅层神经网络为了解决非线性问题可以拟合任何函数参数多&#xff0c;神经元多&#xff0c;需要更多的计算资源和数据BP算法&#xff08;对p(labelinput)建模为了计算神经网络损失回传深度神经网络&#xff08;>5)&#xff08;时代背景数据…

世界元宇宙大会—李伯虎院士主旨报告:工业元宇宙模式、技术与应用初探

来源&#xff1a;北京物联网智能技术应用协会未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff08;城市&#xff09;大脑研究计划&#xff0c;构建互联网&#xff08;城市&#xff09;…

国科大高级人工智能+prml4-CNN

文章目录CNN卷积paddingpoolingBP其他CNNResNets残差网络——图像数据应用CNN Hebb学习律&#xff08;无监督 如果两个神经元在同一时刻被激发&#xff0c;则他们之间的联系应该被强化对神经元的重复刺激&#xff0c;使得神经元之间的突触强度增加 Delta学习律&#xff08;有监…

​Science:灵长类前额叶皮质进化图谱

来源&#xff1a;brainnews相比其它物种&#xff0c;包括亲缘关系非常近的灵长类&#xff0c;我们人类进化出了高级的认知和复杂的社会行为。毋庸置疑&#xff0c;人类大脑是这一切独特变化的中心&#xff0c;而其中的前额叶皮质又格外的引人注目。灵长类的前额叶皮质跟其他物种…

基于深度学习的机器人目标识别和跟踪

如今&#xff0c;深度学习算法的发展越来越迅速&#xff0c;并且在图像处理以及目标对象识别方面已经得到了较为显著的突破&#xff0c;无论是对检测对象的类型判断&#xff0c;亦或者对检测对象所处方位的检测&#xff0c;深度学习算法都取得了远超过传统机器学习算法的准确率…

国科大高级人工智能5-RNN/LSTM/GRU/集束搜索/attention

文章目录BPTTBPTT前向传播长序列循环神经网络LSTM序列到序列的模型集束搜索——近似搜索改进的集束搜索集束搜索的误差分析图到文本注意力模型序列数据建模 输入序列–>输出序列预测序列的下一项&#xff08;监督&#xff09; 模糊了监督和非监督 有的cnn对序列不适用&…

揭秘虚拟电厂,它究竟是如何运行的?

来源&#xff1a;新浪科技&#xff08;ID:techsina&#xff09;作者&#xff1a;刘丽丽编辑 &#xff1a;韩大鹏与电力调度相关的虚拟电厂再次引发市场关注。日前&#xff0c;国内首家虚拟电厂管理中心深圳虚拟电厂管理中心揭牌&#xff0c;国内虚拟电厂迈入了快速发展新阶段。…

国科大高级人工智能6-GAN

文章目录生成式模型的基础&#xff1a;极大似然估计GANs最终版本问题非饱和博弈DCGAN不同类型的GANconditional GAN无监督条件GAN--cycle GAN对抗学习https://blog.csdn.net/suyebiubiu/category_9372769.html生成式模型的基础&#xff1a;极大似然估计 θ∗argmaxθExpdatalog…

为什么量子力学总是让人感到疑惑?

来源&#xff1a;中科院物理所作者&#xff1a;Paul Austin Murphy翻译&#xff1a;Nothing审校&#xff1a;藏痴我们认为量子粒子很奇怪的主要问题是将量子粒子视为经典粒子而它们的行为却表现得非常非经典。&#xff08;或者&#xff0c;问题是将量子粒子视为“物体”&#x…

国科大高级人工智能7-命题逻辑

文章目录命题逻辑&#xff08;语法Syntax)由枚举推理&#xff08;inference by enumeration区别deduction(形式推演&#xff0c;演绎&#xff09;作业&#xff08;定理证明&#xff09;logics&#xff1a;逻辑&#xff0c;表达信息的形式语言 语法syntax 语义semantics 逻辑…

费爱国院士:中国城市大脑已走在世界前沿,但仍需努力

信息来源&#xff1a;网易科技2022年9月1日&#xff0c;中国指挥与控制学会在京召开《城市大脑首批标准新闻发布会》正式发布《城市大脑 术语》、《城市大脑顶层规划和总体架构》&#xff1b;《城市大脑数字神经元基本规定》等三项团体标准&#xff0c;学会理事长&#xff0c;工…

国科大高级人工智能8-归结原理和horn子句

只有一条规则的推理 resolution(消解&#xff0c;归结&#xff09; CNF&#xff08;conjunction normal form合取范式 &#xff08;A∨B)∧(B∨C)&#xff08;A∨B)∧(B∨C)&#xff08;A∨B)∧(B∨C)任何逻辑式都可转化为语义等价的CNF resolution消解&#xff08;推理规则&…

国科大高级人工智能9-模糊数学和遗传算法

文章目录1.模糊计算笛卡尔积、关系模糊集连续的隶属度函数运算2.evolution 遗传算法1.模糊计算 why模糊 取得精确数据不可能或很困难没有必要获取精确数据 模糊性概念&#xff1a;对象从属的界限是模糊的&#xff0c;随判断人的思维而定 不同人的界定标准不一样 隶属函数&…

周宏仁详解智能革命:“人类不可能瞬间无处不在,但软件可以!”

来源&#xff1a;域名国家工程研究中心 ZDNS“最优秀的人类战斗员也无法抵御以超音速飞行、由人工智能跨地域组织、每秒机动数千次的多台作战装备。人类不可能瞬间无处不在&#xff0c;但软件可以。”近日&#xff0c;信息化百人会顾问、原国家信息化专家咨询委员会常务副主任周…