1、AI四大派系:
符号主义–知识图谱
连接主义–深度学习网络
行为主义–机器人
统计主义–机器学习
2、机器学习三部曲:
训练集–用于学习参数,降低Loss
开发集–用于挑选超参数
测试集–用于估计泛化误差泛化误差。
for{超参数组合} on Dev set
for{each opoch} on Traing set
Minimize(Loss)
4、机器学习的定义
对于某类任务T和性能度量P,一个计算机程序被认为可以从经验E中学习是指,经过经验E改进后,它在任务T上由性能度量P衡量的性能有所提升。
任务T:Testing Set – 测试集
性能度量P:Loss Function – 损失函数
经验E:Training Set – 训练集
文献中定义Model时每一列为一条数据,在tf中相反
1 | tf.matmul(x, W) + b |
5、Bias and Variance
6、欠拟合和过拟合
欠拟合:模型拟合不够,在训练集上拟合情况很差。往往会出现偏差大、方差小的情况;
过拟合:模型过度拟合,在训练集上拟合情况很好,但是在测试集上拟合情况很差。往往会出现偏差小、方差大的情况。
出现欠拟合时,解决办法有:
a) 增加新特征,可以考虑加入特征组合、高次特征,来增大假设空间;
b) 尝试非线性模型,比如核SVM 、决策树、DNN等模型;
c) 如果有正则项可以减小正则项参数λ;
d) Boosting,Boosting 往往会有较小的 Bias,比如 Gradient Boosting 等。
出现过拟合时,解决办法有:
a) 交叉检验,通过交叉检验得到较优的模型参数;
b) 特征选择,减少特征数或使用较少的特征组合,对于按区间离散化的特征,增大划分的区间;
c) 正则化,常用的有 L1、L2 正则。而且 L1正则还可以自动进行特征选择;
d) 如果有正则项则可以考虑增大正则项参数 λ;
e) 增加训练数据可以有限的避免过拟合;
f) Bagging,将多个弱学习器Bagging 一下效果会好很多,比如随机森林等。
7、Cross Validation – 交叉验证
K折-交叉验证:把开发集的数据也拿来训练(2时刻选择D2作测试,则可以用1来训练),用于 数据集不是特别大时。
将数据集D划分成k个大小相似的互斥子集,每次用k-1个子集作为训练集,余下的子集做测试集,最终返回k个训练结果的平均值。交叉验证法评估结果的稳定性和保真性很大程度上取决于k的取值。
8、正则化-L1、L2范数
L1范数:向量元素绝对值之和,即:
L2范数:
9、如何加快模型的训练
Tip1:
Tip2:
Tip3:
10、梯度优化算法
Adagrad、Momentum、Adam