16.04.03
一、读取数组长度
1、可以用代码(以一维数组int a[5]为例)
sizeof(a)/sizeof(a[0])
也就是
sizeof(数组指针)/sizeof(单位元素指针);
2、针对多维的情况(以3维数组int a[5][6][7]为例)
sizeof(a)/sizeof(a[0])//第一维的长度,也就是5 sizeof(a[0])/sizeof(a[0][0])//第二维的长度,也就是6 sizeof(a[0][0])/sizeof(a[0][0][0])//第三维的长度,就是7
如果理解以上代码的话,下面的代码应该一看就懂了
sizeof(a)/sizeof(a[0][0][0]) == 5 * 6 * 7 == 210; sizeof(a)/sizeof(a[0][0]) == 5 * 6 == 30; sizeof(a[0])/sizeof(a[0][0][0]) == 6 * 7 == 42;
二、随机数
1、随机数种子
计算机产生随机数需要设置种子,否则产生的随机数会是相同的。定义随机数种子方法如下
srand((unsigned)time(NULL));
2、C++中random和rand函数
Random(int n):randomize,random 不是ANSI C标准,random函数不能在GCC,VC等编译器下编译通过Rand()函数则可以通过GCC,VC等编译器
二、深度学习
(注:英(用)语(有)好(道)的同学最好来到这个网站下载研读论文http://www.cs.toronto.edu/~hinton/ ,里面pdf的链接左键可以打开在线阅读,当然下载的话右键有个下载啥啥啥的,点他就好了)
1、深度学习的理解
深度学习(deep learning)是机器学习的一种,在2006年Geoffrey Hinton等在《科学》上发表的文章提出,基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。[1],
2、浅度学习(shallow learning)存在的一些问题:
(1)梯度越来越稀疏:从顶层越往下,误差校正信号越来越小;
(2)收敛到局部最小值:尤其是从远离最优区域开始的时候(随机值初始化会导致这种情况的发生);
(3)一般,我们只能用有标签的数据来训练:但大部分的数据是没标签的,而大脑可以从没有标签的的数据中学习;[2]
在搜索资料的时候发现有贴吧网友指出以上三点有误
1、越往下未必会越小,也有少量可能性会暴增
2、收敛到局部最小只是网络规模的问题,而不是BP算法的问题,而当时的硬件水平无法支持足够大的网络规模
3、对BP算法做变形,如autoencoder在90年代就被发明出来,可以做无监督学习 Hinton有个PPT专门讲这些讹误[3]
引用资料:
[1]百度百科 http://baike.baidu.com/link?url=aBUioE8EYG9kBToQiSrcoPbxPfZeuyRAgRrZ-PE4YB19mmZEuOKmIwf8e3UwE-gYsF2IrIhit0Qg53kPUvBlnq
[2]Deep Learning 学习笔记整理笔记 http://blog.csdn.net/zouxy09/article/details/8775518
[3]百度贴吧http://tieba.baidu.com/p/3349640872
本文来自博客园,作者:MrYu4,转载请注明原文链接:https://www.cnblogs.com/MrYU4/p/15778906.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了