从线性模型角度出发,考虑神经网络的原理
由于linear model有model bias,我们想获得更加复杂的model来拟合更多的问题;
从linear model的角度出发,我们可以考虑用分段的线性函数作为model,就算数据分布实际上是圆滑的曲线,也可以用足够多的分段线性函数来逼近它。
那么一个分段线性函数应该怎么样来实现呢?
实际上可以用常数以及多个蓝色这种形状的函数把它组合出来,只要有足够多蓝色函数,什么样子的曲线都可以拟合出来。
但是蓝色函数实际上也并不好直接用函数式来表示,所以这里引入了一个function:sigmoid,用它来近似这个蓝色函数。(当然其它函数也可以,比如reLu之类的,只要长得和这个比较像,方便写出函数式的即可)蓝色的这种可以叫做hard sigmoid。
针对共同的特征向量x,通过改变b,w和c就可以生成不同样子的sigmoid曲线,用于拟合各种非线性模型。
有了上面的sigmoid函数,就可以确定有未知参数的函数作为机器学习的model了,这次就不是线性model了。(从图像上面看,这实际上就是单层神经网络了吧)
这样得到的y,就是一个非线性的函数,神经元节点越多,能拟合的函数就越复杂吧。
把整个函数用矩阵和向量的形式表示:然后可以把全部的未知参数都列到一起,作为一个列向量,统称为theta。