同步Sch の 人工智能学习随笔(一)

吼吼吼,随便记记,支持小红,两个月不学会TTS不成仁

深度学习

神经网络算法通过向前传播与反向传播构成#1
先通过向前传播计算出预测结果和损失
再通过反向传播计算出损失函数关于每一个函数(w,b)的偏导数,并对这些参数进行梯度下降。
然后用新一轮的向前传播计算,反复训练使得预测越来越精准。

特征向量

激活函数

sigmoid(z)函数,用于将数据映射在0,1之间,若不使用激活函数,AI的智力将不会提升。
若是没有激活函数套在训练出的函数上,神经网络只能运算线性函数,所以无法解决复杂问题
sigmoid(z)=1/(1+exp(-z))

tanh是sigmoid函数的升级版本,输出值在-1到1之间。
relu是整流线性单元,是非线性的,并且不会同时激活所有的神经元。如果输入值小于0神经元不会被激活
leaky relu是relu的补丁版本,如果小于0时会把数值设置为很小但是不等于0的梯度。
Softmax,根据输出总和来分类

逻辑回归

z = dot(w,x) + b

假设周末即将到来,你听说在你的城市将会有一个音乐节。我们要预测你是否会决定去参加。音乐节离地铁挺远,而且你女朋友想让你陪她宅在家里搞事情,但是天气预报说音乐节那天天气特别好。也就是说有3个因素会影响你的决定,这3个因素就可以看作是3个输入特征。那你到底会不会去呢?你的个人喜好——你对上面3个因素的重视程度——会影响你的决定。这3个重视程度就是3个权重。

如果你觉得地铁远近无所谓,并且已经精力衰竭不太想搞事情了,而且你很喜欢蓝天白云,那么我们将预测你会去音乐节。这个预测过程可以用我们的公式来表示。我们假设结果z大于0的话就表示会去,小于0表示不去。又设阈值b是-5。又设3个特征(x1,x2,x3)为(0,0,1),最后一个是1,它代表了好天气。又设三个权重(w1,w2,w3)是(2,2,7),最后一个是7表示你很喜欢好天气。那么就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 2 + 1 * 7) + (-5) = 2。预测结果z是2,2大于0,所以预测你会去音乐节。

如果你最近欲火焚身,并且对其它两个因素并不在意,那么我们预测你将不会去音乐节。这同样可以用我们的公式来表示。设三个权重(w1,w2,w3)是(2,7,2),w2是7表示你有顶穿钢板的欲火。那么就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 7 + 1 * 2) + (-5) = -3。预测结果z是-3,-3小于0,所以预测你不会去,会呆在家里搞事情。

上面那个用于预测的公式被称之为逻辑回归。

损失函数

用于验证人工智能的学习成果是否正确(Loss Function)
损失函数运算后得出的结果越大,预测与实际结果偏差越大,也就是精确度不高

成本函数

成本函数用于衡量预测算法对整个训练集的预测精度
对每个样本的损失进行累加,然后求出平均值。

梯度下降

使用J(w,b),在不断的计算中求取w与b的值。
损失函数J是一个漏斗状(凸函数),训练的目的是找到漏斗底部的一组w与b
选择函数J的原因是因为J是凸函数

梯度下降算法会不断的使得w与b接近凸函数底部,最终找到接近最小值的地方。
简化版:w’= w – r * dw (只修改了w的值用于笔录)
w’:新的w
w :旧的w

r:学习率
学习率越高,则能越快的接近最小值,但要把握好度
若是一次让w改变太多,则可能错过最小值,从而到漏斗的另一边

dw:参数w关于损失函数J的偏导数

链式法则

假设 J=3V V=a+U
将J关于中间量V的偏导数记为dJ/dV
设置V为11,J为33
假设将V加上0.001,则V从11变成了11.001,然后看J改变了多少,J从33变成了33.003。
J的变化量除以V的变化量等于3,即变化比例等于3
即斜率,偏导数等于3
啊吧啊吧,总而言之一个公式这些偏导数的乘积,这种计算在微积分里被称为链式法则
我要传个图,给自己说懵逼了

发表回复