Machine Learning方法总结

  1. Kmeans——不断松弛(?我的理解)模拟,将点集分成几堆的算法(堆数需要自己定)。
  2. 局部加权回归(LWR)——非参数学习算法,不用担心自变量幂次选择。(因此当二次欠拟合, 三次过拟合的时候不妨尝试这种办法)
  3. 逻辑回归Logistic Regression(Sigmoid)——分类问题的常用拟合函数。
    1. 对于有多个类的分类问题,怎么办?(比如手写板识别,一共0~9十个类别)——转换为独热码(0100000000),计算cost function之和。
    2. 一个带Excel读取,和训练之后检测的分类问题模板(以建模校赛2018为数据源)
    3. 简单的线性逻辑回归效果不好怎么办?(线性神经网络同理)——将数据集离散化(如分段取相同的值,1~9.9 = 5)以产生非线性,从而使结果更准确——你也可以称之为:离散数学处理
    4. sklearn中的SVR也可以用来解决回归问题
  4. 支持向量机(SVM)——另一种分类问题的常用方法。定义分界线与数据集之间的“间隔”,通过最大化间隔来产生较好的分类效果。
    1. SVM与逻辑回归分别适用的场景?
      1. SVM采用数学方法;逻辑回归采用统计方法。
      2. SVM对数据集的敏感度非常高,如果出现错误数据或噪音数据,影响非常大;逻辑回归则不敏感。
      3. 特征数量相对较少而样本充足时,尽量用SVM以获得更准确的结果;特征数量较多时,则使用LR,特征数量已经较多,线性可以很好拟合,且速度更快。
  5. Word2Vec——高级的语义分析算法,将单词转化为一个多维的向量,可以根据向量之间的关系确定单词的关系(如转换后的字词向量中:猫-鱼≈狗-小狗)。
  6. 生成学习算法——预先对于P(x|y)进行建模,增加假设条件,所需数据量更少,结果更加准确。
    1. 高斯判别分析(GDA)——假设x|y服从高斯分布。
  7. PCA + T-SNE——高维数据降维可视化方法
    1. Matlab实现Kmeans+PCA+T-SNE数据聚类降维可视化的例子
  8. 朴素贝叶斯(Naive Bayes)——何来Naive?:对于数据做了非常强的假设:各个参量之间相互独立。
  9. ERM经验风险最小化——用来估计所需训练样本个数的数量级。
  10. 贝叶斯规范化——以线性模型为例,误差函数从Σ(||y(i)-θ'x(i)||^2)变成Σ(||y(i)-θ'x(i)||^2+λ||θ||^2),即添加了对于θ模值的惩罚项,从而减少过拟合的风险。(λ的值可以通过交叉检验方法得到)。
  11. 最大期望算法(EM算法)——估计隐形变量的参数分布。
posted @ 2018-06-11 23:36  ZinYY  阅读(411)  评论(0编辑  收藏  举报