目录
前向传播
为什么K近邻不能用来图像分类
解决思路:需要让计算机知道那些是背景,哪些是主题
损失函数
损失函数参数的意思
Sj 代表错误的类别
Syi 代表正确的类别
+1(不是固定的数值) 相当于容忍程度,只有正确类别的分值比错误类别的分值高出1以上时,才判断此时无损失
损失函数值相同时,代表两个模型一样吗
这里可以看见,模型A只在乎第一个数据的情况,而后面的数据没有关心,而模型B可以看出,所有数据权重都很均衡所以一般我们会在最后加一个正则化惩罚项。
Softmax分类器(把得出的分数规划为概率)
基本原理
1、得到的分数做exp(带入e的x次方函数)。目的:使原来看起来很小的差距变得更加明显,而小于0的分数的类别几乎可以排除,所以得出的值很接近0也符合要求。
2、明显化过后的分数进行normalize(算出占总分数的百分点)。目的:算出是该类别的概率。
3、带入-logx函数。目的:目标类别的概率越接近于1,则损失函数的值越小。
解释参数
P 概率
Li 损失值
前向传播后需要做什么
算出了Loss值,但是后面需要更新权重W,找到最优的情况,所以后面就需要有反向传播(用来求W)。
反向传播
主要就是从后往前求偏导数
整体架构
如何从input layer三个神经元到hidden layer 1四个神经元的,为什么有时还有hidden layer 2,hidden layer 3等等
蓝1-节点1加入是A*w1+B*w2+C*w3
蓝1-节点2可以是A*w4+B*w5+C*w6以此类推,
所以从input layer矩阵到hidden layer 1矩阵相当于乘上了一个系数矩阵,
当计算机认为这样还是不容易理解时,会再次做转换得到hidden layer 2,直到认为这个结果可以了,才交给计算机得出结果。
正则化的作用
惩罚力度对结果的影响
一般来说惩罚力度越小,Loss值越小,越符合训练集的结果(Loss最终=Loss训练集+R(w)惩罚力度)
但是我们需要的是测试集里面的结果,所以不是惩罚力度越小越好。
为什么我们不想出现过拟合的现象
事实上,如果出现了新的数据点,过拟合的分类器表现就会非常糟糕,所以我们更倾向于以下最右边所表示的分类器。简单来说,我们大部分想要有一个相对平滑的边界。
参数(神经元)个数对结果的影响
一般来说,是神经元个数越多,拟合度越好,但是所需要的时间会变多,而且可能会出现过拟合的情况。
激活函数
激活函数的对比
Sigmoid函数有一个劣势,当数值较大或者较小时,可能会出现梯度结果为1或者0的情况,那对最后的结果造成很大的影响(梯度消失,数值不进更新)。所以我们一般用Relu函数。
DROP_OUT(减少过拟合现象出现的概率)
随机杀死几个点,使神经网络之间运行的过程简单些。