Toriyung

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

07 2022 档案

C++新知识点:跳转语句goto
摘要:int a = 0; goto FLAG; //FLAG可以是任意名称 a = 1; FLAG: cout << a << endl; 以上代码的结果就是输出a=0 goto语句将跳转到goto后面的标志位,标志位下写入执行程序。 看着跟汇编有点像 阅读全文

posted @ 2022-07-31 16:09 Toriyung 阅读(102) 评论(0) 推荐(0) 编辑

神经网络:学习率衰减
摘要:比较简单的道理: 当刚开始进行训练/进行梯度下降时,距离0梯度还有很长一段过程,所以此时可以大胆地提高训练步长,即保持高学习率 而当梯度下降到一定程度,差不多在0梯度或目标梯度附近变动时,此时若保持高学习率,会造成无法收敛(如图蓝色曲线),所以需要降低学习率,以小步长进行梯度下降 常见的学习率衰减方 阅读全文

posted @ 2022-07-31 16:00 Toriyung 阅读(117) 评论(0) 推荐(0) 编辑

神经网络优化:Adam(Adaptive Moment Estimation)
摘要:Adam算法其实就是结合了动量梯度下降法和RMSprop算法,是最广为使用的算法,在大多数情况下都有效果。 动量梯度算法和RMSprop算法的复习: 动量:https://www.cnblogs.com/toriyung/p/16467289.html RMS:https://www.cnblogs 阅读全文

posted @ 2022-07-31 15:42 Toriyung 阅读(394) 评论(0) 推荐(0) 编辑

神经网络优化:RMSprop(均方根传播梯度下降法)
摘要:最终目的仍是减少振荡方向(b)的更新幅度,提高前进方向(ω)的更新幅度 引入Sdω和Sdb,如公式表达,由于dω<db,求其均方根作为分母,实现ω的更新幅度大,而b的更新幅度小 注意 1. 使用中为了避免出现√Sdω=0导致除数为0的情况出现,应令√(Sdω+ε) (吴恩达视频中建议ε=1e-8) 阅读全文

posted @ 2022-07-31 15:22 Toriyung 阅读(714) 评论(0) 推荐(0) 编辑

神经网络优化-动量梯度下降法(牛顿法)
摘要:背景 对于标准梯度下降过程,wt的更新是wt=wt-1+△w,而wt=wt-1-△w仅仅是对于当前点wt的△w,没有对于历史数据的考量(通俗点说叫经验教训) 结果就是下降(优化)过程前进方向速度缓慢,同时产生振荡(如图红线) 据此引入冲量v,令vt=vt-1-△w,由迭代思想知冲量v代表着从初始到当 阅读全文

posted @ 2022-07-31 14:20 Toriyung 阅读(644) 评论(0) 推荐(0) 编辑

C++新知识点:输入输出
摘要:输入 int a; string b; bool c; cin >> a; cin >> b; cin >> c; //需要注意的是,布尔类型应输入整型而不是英文 输出 int a = 0; cout << "a = " << a <<endl; //endl是end of line,换行的意思 需 阅读全文

posted @ 2022-07-30 21:12 Toriyung 阅读(53) 评论(0) 推荐(0) 编辑

C++:字符串类型
摘要:初始化字符串变量时,有两种方式 1. 沿袭C的方式,使用字符数组 char str[] = ""; 2. C++的方式,直接使用字符串变量 string str = ""; 阅读全文

posted @ 2022-07-30 20:50 Toriyung 阅读(84) 评论(0) 推荐(0) 编辑

利用指数加权进行局部平均值计算---指数加权平均(吴恩达)
摘要:对于5个数值的平均值我们可以使用求和均值计算 对于10个数值的平均值我们也可以使用求和均值计算 对于20个数值的平均值,如果存储条件允许,可以考虑使用求和均值计算 但对于50个数值等甚至更多的数值,直接使用求和均值计算,对于内存来说是十分不友好的。 指数加权平均法,即vt = (1-β)θt + β 阅读全文

posted @ 2022-07-30 15:30 Toriyung 阅读(305) 评论(0) 推荐(0) 编辑

神经网络的小批量梯度下降(吴恩达)
摘要:首先应该理解到,梯度下降的最终目的就是使梯度为0,整个过程就是在神经网络计算下梯度朝向0梯度一步步前进,当全样本进行一次计算的时候成为一轮 梯度下降的方式有 批量梯度下降:即对全样本进行梯度下降计算,一轮前进一步,速度慢,但前进方向稳定 随机梯度下降:即随机抽取样本进行梯度下降计算,速度快,但前进方 阅读全文

posted @ 2022-07-30 14:01 Toriyung 阅读(529) 评论(0) 推荐(0) 编辑

神经网络的使用要点(吴恩达)
摘要:1 数据集的分割 对于样本量小的数据集,经典的分割方式是7:3或6:2:2 对于样本量大的数据集,可以分割为98:1:1甚至更小 一言蔽之,关键是保证足够量的测试集和尽可能大的训练集 2 训练结果的评估 在训练集上误差大叫偏差大(bias),在验证集上误差大叫方差大(variance) a. 假如偏 阅读全文

posted @ 2022-07-29 20:59 Toriyung 阅读(68) 评论(0) 推荐(0) 编辑

神经网络梯度爆炸/消失以及改善方式(吴恩达)
摘要:神经网络的传播(前向)过程如图,如果ω>1(即使是稍微大一点点),只要层数足够多最后会造成ω呈指数上升,这就是梯度爆炸;同理,当ω<1(即使是稍微小一点点),ω会快速缩小逼近0,这就是梯度消失 目前能稍微解决的方法是对ω进行合理地初始化 对于若干层数且每层的神经元数量不尽相同的情况下,比较好的取向是 阅读全文

posted @ 2022-07-28 18:33 Toriyung 阅读(72) 评论(0) 推荐(0) 编辑

神经网络的数值归一化(吴恩达)
摘要:图表为损失函数的等高线图 当数据未进行归一化时:不同权重参数的比例十分之大,不同点的梯度下降的过程精确度不尽相同,所以必须减小学习步长,因此学习时长变长 当数据归一化时:权重参数的比例相近,不同点的梯度下降精确度近似,所以可以放心加大学习步长,进而减小 阅读全文

posted @ 2022-07-28 16:05 Toriyung 阅读(143) 评论(0) 推荐(0) 编辑

C++中float和double
摘要:初始化变量时 float a = 3.14 float b = 3.14f double c = 3.1415926 对于变量a来说,是使用double转换成float的,如果为了省去这一步,需要在数据后加f,如变量b float有效数字为6个,double为15个,但输出时默认都为6,需要指定如 阅读全文

posted @ 2022-07-26 17:12 Toriyung 阅读(356) 评论(0) 推荐(0) 编辑

神经网络中正则化(吴恩达)
摘要:正则化(regulization)顾名思义,进行调整,以下整理出几个正则化方式 L2正则化 对损失函数J加上一个关于参数ω的范数,用来降低特征值大小 L1范数: 为x向量各个元素绝对值之和。 L2范数: 为x向量各个元素平方和的1/2次方 L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于 阅读全文

posted @ 2022-07-26 16:05 Toriyung 阅读(605) 评论(0) 推荐(1) 编辑

神经网络激活函数(非线性化)的作用(吴恩达)
摘要:当神经元输出a = z = ωX+b时,该隐藏层则是线性的 假如该神经网络每一个隐藏层都是线性的,根据叠加定理,整个神经网络都是线性的(可认为可以等效为一层线性层的网络结构),这样就无法做出非线性的输出。 而非线性层是不满足叠加定理的,即无法进行等效整合,所以需要引入非线性层,即激活函数。 重点:叠 阅读全文

posted @ 2022-07-26 15:56 Toriyung 阅读(239) 评论(0) 推荐(0) 编辑

(推测)复用推挽输出/复用开漏输出 中的复用有什么作用
摘要:假如PA0端口同时用作普通IO输出和USART1输出 而普通IO需要按照我们的要求规则输出高低电平、而USART1又是不同的规律输出高低电平,那么此时唯一的端口PA0如何实现“同时”满足不同输出? 答案就是极其高速的工作,实现“同一时间”重复使用一个端口,即“复用”一词的由来。 其本质是极高的工作频 阅读全文

posted @ 2022-07-17 23:50 Toriyung 阅读(283) 评论(0) 推荐(0) 编辑

神经网络的反向传播向量化
摘要:其中dW和db出现1/m的原因,是链式法则中dL/da时,由于损失函数L包含了1/m(因为对所有标签y[i]的损失进行平均),求导时保留1/m 阅读全文

posted @ 2022-07-05 21:28 Toriyung 阅读(36) 评论(0) 推荐(0) 编辑

神经网络的反向传播公式表达(吴恩达)
摘要:首先要明确的是反向传播的目的 神经网络训练的最终目的,是得到可观的模型参数(如ω,b等)训练参数的方式,就是通过反向传播,使用梯度下降法(一般情况下)改变模型参数。 其原理则是通过最优化损失函数(loss function),即使其导数向0靠近,公式表达为dL/dω,而损失函数L是一个复合函数,则其 阅读全文

posted @ 2022-07-04 22:23 Toriyung 阅读(353) 评论(0) 推荐(0) 编辑

神经网络的前向传播公式表达(吴恩达)
摘要:符号表示 ω为神经元线性函数的参数 b为神经元线性函数的参数 z为神经元的线性函数输出 g为激活函数 a为z输入下g的输出 前向传播 据此,对于第L层神经元,可以表示为如图公式组 阅读全文

posted @ 2022-07-04 21:23 Toriyung 阅读(59) 评论(0) 推荐(0) 编辑

python-装饰器(decorator)
摘要:背景 假如多个函数内都有着共同的一部分功能(如计时),则可以将该功能分离出来另外调用 python中有着可以直接实现的方法,称之为装饰器(decorator) 具体使用 import time def my_decorator1(func): #装饰器定义 def wrapper(*args): # 阅读全文

posted @ 2022-07-02 22:53 Toriyung 阅读(46) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示