13.神经网络
神经网络便是上述模型,从输入层,到隐层1,2然后过滤到输出层.进行分类,是其基本工作
而神经网络的
感知器就是逻辑回归
上述是逻辑回归的两个函数,一个是用theta加权重拟合,一个阈值函数.
这个图配合解说还是有点问题的b应该对应的是theta0,w1对应theta1,w2对应theta2生成z,然后根据sigmoid筛选出来的信息给a.这就是感知器
少量隐层=>浅层神经网络
浅层神经网络=>隐层增加=>深度神经网络
神经网络的用途
当一个分类问题,无法线性可分,或者说需要高次方程,这样拟合的效果并不会太好,即使创建高次曲线你和了,效果也并不会太理想
这种情况用神经网络就好很多了
这是吴恩达老师的一个例子,这个叉和圈就不太好用一条线分割(其实也是可以的,只是高次方程拟合出来的效果和操作性不会太好)
而像右边这样用两条线去拟合然后求个交集就能得到x然后减去x就是o
神经元做交集操作
神经元做交集操作大概分三步
如图所示,先找一组权重形成p1这样的分割形式,再找一组权重形成p2分割形式,然后最后用-30,20,20得到最后的值就是取交集了
或也是类似的先弄出p1,p2然后根据-10,20,20形成第三组权重就是或了
既然能这样划分,其实写复杂点可以对整个屏幕的所有点进行划分分类了
比如说要切出这个绿色的块,按之前的逻辑就要7条线来切割
那么就需要有一个隐层七个元素,然后取出全部元素的交集,就是图中绿色的块了
传递函数
S函数,之前逻辑回归使用的sigmoid
f(x) = 1 / 1 + e^-x
双S函数
f(x) = 1 - e^-x / 1 + e^-x
都是将x压缩到[0,1]或者[-1,1]这样的小范围
BP算法
公式并不能完全理解,先贴上来吧,具体是个回传损失的过程
输出层
取1/2就是为了方便求导,d是真实值,O是预测值,这个算法就是求损失,得出来的是误差平方和
这个是回归问题的损失函数,分类问题则
是D(S,L) = - sum(Lilog(Si))
误差展开至隐层
展开至输入层
以上就是各个层的损失函数,然后就是梯度下降
h个隐层的梯度下降