说的可能有点简单,也有一点武断,大家看看就好
举个例子:
比如 直线方程 y=kx+b(k,b未知)
这里输入的是 x,输出的是 y,对应的每一个实数的输入x,都有对应的输出 y
我们不断的给出直线上的坐标(x,y),实际上给出两组就可以,就可以求出系数 k 和 b,进而求出完整方程
把这个例子放到神经网络里面来:
x 就是输入矩阵
y 就是输出矩阵
k 就是第一层的神经元矩阵
b 就是偏置参数
所以,实际上我们是在求一个方程式,让这个方程式尽量接近给出的(x,y)坐标,这就是训练的作用,所以一层神经网络就是 y=kx+b,以此类推,两层就是 y=k2(k1x+b1)+b2
因为存在以上的方程式关系,神经网络越深,x的对y的影响越小,不可避免出现过拟合,就出现了一些方法避免过拟合:
dropout:去掉了一些神经元,其实是在减小 k 这个参数对 y 的影响
resnet:y=k2(k1x+x),其实是在增加 x 对 y 的影响
所以,神经网络、深度学习,其实只是在数学方法上构造了一个多维一次函数,让这个函数无限接近于训练集。