今天学一点点机器学习各种名词解释
Label(标籤):通常是指我们想要预测的目标
Feature(特徵):数据会有不同的特徵例如面积、地段、屋龄等等都是房屋的特徵值
Sample(样本):通常是指一笔包括许多特徵资料 例如一栋房的面积、地段、屋龄等等
Training Set(训练集):是使用最多数据的部分,拿来训练机器根据特徵值来预测我们要的标籤Test Set(测试集):利用测试集来测试我们的训练集所训练出来的模型预测的结果Validation Set(验证集):用于调整模型
Overfitting(过拟合):是指训练出来的模型并没有找到规律,而是 记住了 数据上的噪点与细节
为甚么会Overfitting:可能是数据太过漂亮,并没有过多的噪点,又或是模型太复杂,没有足够的数据支撑,也可能是数据的特徵值对于我们所想预测的标籤不够有影响
该如何解决呢Overfitting:应该提供更多的数据样本来训练,或是提供更多的标籤,如果是模型太过复杂那可以选择更简单的模型(较少的数据使用较简单的模型也会有更好的效果),也可以使用Regularization(正则化)
Regularization(正则化):正则化的核心是在模型的损失函数中加入一个额外的惩罚项,用来限制模型参数的大小,分成L1跟L2
Lasso Regression(L1正则化):又叫「一阶正则化」,惩罚参数的绝对值和,可以让不需要的特徵参数直接变0,可以让我们选择要使用什么特徵值
Ridge Regression(L2正则化):又叫「二次正则化」,惩罚参数的平方和,模型内的参数也会变小,但不会直接归零
Generalization(泛化能力):是指我们训练出来的模型对于新数据的预测準确率,当然我们Generalization越高也就是我们的模型越準确
如何提升Generalization:防止模型Overfitting,或是可以收集更多的数据、特徵值进行训练集的训练,也可以进行Cross-Validation(交叉验证)也就是拿不同的数据来比对跟训练,来调整参数使模型预测的更精确
Underfitting(欠拟合):训练集与测试集的误差都很大,可能是数据量太少,或是模型太简单
如何解决Underfitting:提供更多数据、提升模型的复杂度、增加更多特徵值或是调整Learning Rate(学习率)、迭代次数等超参数
Learning Rate(学习率):可以控制模型更新参数的速度
如果Learning Rate太高:会使模型更新参数的步数过高,常常接近最完美的参数,但因步数太高所以越过了最佳解,使模型无法收敛
如果Learning Rate太低:会使模型更新参数步数降低太多,模型迭代太慢,导致模型训练缓慢、效率低下,甚至停滞
如何找到最好的Learning Rate:使用Learning Rate Finder(学习率搜索)的方法,可以更加科学的找出最佳的学习率,或使用优化器如 Adam、RMSprop等可以自动调整学习率的优化器
今天先学到这边明天还有很多可学的呢:)