机器学习基础(二)
神经元(模型):神经网络基本单元;
激活函数:将前层的线性运算非线性化,非线性映射后,模型才能够表达更复杂的函数,提高模型表达力;
(常用的有:relu、sigmod、tanh等,relu一般就够用了)
NN复杂度:层数+参数;层数:不含输入层的其它层,参数:所有w+所有b(权重和偏移);
loss(损失函数):预测值与真实值的差距。训练就是通过不断调整、优化参数,使loss尽可能小;
(常用的有:MSE、CE、自定义)
学习率:可以影响模型训练速度。过大,在最优值附近波动不收敛;过小,训练收敛太慢;
滑动平均:记录一段时间内参数(w和b)的平均值,像影子一样缓慢跟随它们的变化,可以增强模型泛化能力;
(tensorflow函数可以实现滑动平均和训练同步进行)
过拟合:拟合过度,模型泛化能力差,对新的数据预测或分类准确率较差;
正则化:在原有loss上加上正则化部分,即给每个参数w加上正则权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合;
(正则化后,模型过拟合减小,泛化能力增强,分类边界更加平滑)
NN模块化搭建:可以分别搭建数据集、前向传播、反向传播模块,进行模块化编程,主程序逻辑会更加清晰、简洁、可读性增强、便于维护;
注:
1、本次分享多为概念罗列;
2、虽然把网上现有的程序复制粘贴过来改改一般就可以用,但是相关的基础概念还是有必要弄清楚,才能活学活用。不然要么不会改进、不会迁移使用,要么在改进和迁移时明明很简单的东西,但你就是没基础,你就是不会,你就是效率低、耽误时间。知其所以然,方能高效活用~~~
3、更详细讲解,网上有一堆~~~
领取专属 10元无门槛券
私享最新 技术干货