- 神经网络的适用对象:
- 强非线性系统。
- 当数据可以不断增长时,模型能不断地被更新
- 当输入数据有意料外的更改
- 模型的解释不是关键点
- Single-layer Perceptron
- 可以使用感知来分类数据
-缺点:只能解决线性可分问题。
- Multi-layer Perceptron
-
通过hidden layer,解决非线性可分问题
- bias可以增加模型的灵活性来适应数据
- 激活方程可以是ReLU、Sigmoid、Tanh
- 激活方程引入非线性特点到神经网络;一个没有激活方程的模型只能是一个线性回归模型,用途并不大。
- 激活方程对输入数据进行了非线性转换,这样就能解决更复杂的问题。
- 激活方程可以是线性方程,也可以是非线性方程。
- 激活方程引入非线性
-
图片解释:
参考https://blog.csdn.net/hyman_yx/article/details/51789186
- 如何选择激活方程
隐藏层: (1)默认使用ReLUctant方程;(2)如果ReLU结果不好,则使用Leaky ReLU或者Maxout方程;(3)记住ReLU只能用在hidden layer; (4)不要使用Sigmoid和Tanh,因为梯度会消失
输出层: (1)分类问题使用softmax (2)回归问题使用linear function
-
Backpropagation 算法
神经网络优点
- 预测的准确率高
-能学习且模拟出非线性的复杂关系
-鲁棒性高,噪声容忍度高
- 神经网络缺点
- 黑盒模型,很难解释模型到底学习出了什么
- 训练困难,且训练时间长
- 易于过拟合(解法:早点结束训练;L1/L2正则化;dropout正则化;BN)
- 小数据集的训练效果不好
- 为什么说regularization是缓解overfit的好办法?
- overfitting是high variance导致,high variance是特征值过多,特证值太敏感,那么regularization能减少特征数量且降低特征值敏感度,
- 模型表现力差,即模型很呆板,或者模型太精确,面对两种情况,可以通过regularization的lamda来调整模型。