目录
1、机器学习基本概念
监督学习:KNN、线性回归、逻辑回归、SVM、决策树和随机森林、神经网络
无监督学习:K-means、聚类分析、可视化和降维-PCA、关联性规则学习
泛化能力:Generalization Ability,是指指机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
过拟合:把不该学的噪声的特征也学到了,在后期测试的时候不能很好地识别数据,模型泛化能力差。
随着模型训练的进行,模型的复杂度会增加,此时模型在训练数据集上的训练误差会逐渐减小,但是在模型的复杂度达到一定程度时,模型在验证集上的误差反而随着模型的复杂度增加而增大。此时便发生了过拟合,即模型的复杂度升高,但是该模型在除训练集之外的数据集上却不work。
解决方法如:Early Stopping、数据集扩增(Data augmentation)、正则化(Regularization)、Dropout等。
Early Stoopping:记录到目前为止最好的validation accuracy,当连续10次Epoch(或者更多次)没达到最佳accuracy时,则可以认为accuracy不再提高了。此时便可以停止迭代了(Early Stopping)。
数据集扩增:从数据源头采集更多数据;复制原有数据并加上随机噪声;重采样;根据当前数据集估计数据分布参数,使用该分布产生更多数据等。
正则化:L1和L2正则:降低模型复杂度
-L0范数是指向量中非0的元素的个数。
-L1范数是指向量中各个元素绝对值之和,也叫“稀疏规则算子”(Lasso Regularization)。两者都可以实现稀疏性,既然L0可以实现稀疏,为什么不用L0,而要用L1呢?个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以大家才把目光和万千宠爱转于L1范数。
-L2范数是指向量各元素的平方和然后求平方根。可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0。L2正则项