机器学习——基础

整理自:

https://blog.csdn.net/woaidapaopao/article/details/77806273?locationnum=9&fps=1

  • 数据归一化(或者标准化,注意归一化和标准化不同)的原因
  • SVD和PCA
  • 防止过拟合的方法 
  • 数据不平衡问题

1.数据归一化(或者标准化,注意归一化和标准化不同)的原因

要强调:能不归一化最好不归一化,之所以进行数据归一化是因为各维度的量纲不相同。而且需要看情况进行归一化。

  • 有些模型在各维度进行了不均匀的伸缩后,最优解与原来不等价(如SVM)需要归一化。
  • 有些模型伸缩有与原来等价,如:LR则不用归一化,但是实际中往往通过迭代求解模型参数,如果目标函数太扁(想象一下很扁的高斯模型)迭代算法会发生不收敛的情况,所以最坏进行数据归一化。

补充:其实本质是由于loss函数不同造成的,SVM用了欧拉距离,如果一个特征很大就会把其他的维度dominated。而LR可以通过权重调整使得损失函数不变。


2.SVD和PCA

PCA的理念是使得数据投影后的方差最大,找到这样一个投影向量,满足方差最大的条件即可。而经过了去除均值的操作之后,就可以用SVD分解来求解这样一个投影向量,选择特征值最大的方向。


3.防止过拟合的方法 

过拟合的原因是算法的学习能力过强;一些假设条件(如样本独立同分布)可能是不成立的;训练样本过少不能对整个空间进行分布估计。 
  处理方法:

    • 早停止:如在训练中多次迭代后发现模型性能没有显著提高就停止训练
    • 数据集扩增:原有数据增加、原有数据加随机噪声、重采样
    • 正则化
    • 交叉验证
    • 特征选择/特征降维

 4.数据不平衡问题

解决方法如下:

  • 采样,对小样本加噪声采样,对大样本进行下采样
  • 进行特殊的加权,如在Adaboost中或者SVM中
  • 采用对不平衡数据集不敏感的算法
  • 改变评价标准:用AUC/ROC来进行评价
  • 采用Bagging/Boosting/ensemble等方法
  • 考虑数据的先验分布
原文地址:https://www.cnblogs.com/helloworld0604/p/9016940.html