大道至简——浅谈机器学习分类模型选择

机器学习的基本分类模型:
KNN,决策树,naive bayes,逻辑回归,SVM,adaboost

KNN:一种直接的学习方法,通过相似的近邻投票分类。模型不确定性有三:距离度量(相似性度量),特征权重分配,投票权重。不确定性因素很多,非常依赖训练和经验,容易发生过拟合,因为参数太多。但简单直接的方法,有时候是有奇效。在某个维度下相似性是大部分事物分类的通用规则,所以KNN做的好,可以解决很多问题。而关键是要理解真实世界的模型往往并不复杂。人为参与量越少越好。

决策树:决策树ID3算法用信息增益来判断分支条件。保证分类后信息增益最大。很多真实世界模型都很接近于此,决策树更重要的是对特征重要性进行排序。其实特征重要性是由目标分类定的,和目标分类相关性大的特征会提供较大的信息增益。但如果目标分类本身就不是可解释的,就是很复杂,很多人为限制,则特征也没有什么推广性。对于复杂的人为构建的模型,要抽象出本质的模式,再提取特征。

naive bayes:基于bayes的假设,链式法则简化后,只需要训练一阶先验概率,但仍然需要大量的样本进行训练,很容易过拟合。并且要求特征独立且权重一样。这些假设往往是不正确的。实现的时候注意处理连乘下溢出的问题,并平滑掉0概率。一般会使用其拓展:bayes网络,一种markov链的扩展。在计算贝叶斯网络概率,并分类的时候,和HMM一样,是有一个动态规划算法加速的。

逻辑回归:判别模型的鼻祖。从逻辑回归开始,我们开始了判别模型的学习。逻辑回归利用阶跃函数把连续的回归函数映射分类。符合人类对事物直观的理解。回归的方法本来就有很多变形,核心就是一个目标函数的优化。(X^TX)^-1和w成反比,调整目标函数,可以实现很多种对回归方程的优化,如岭回归,局部回归,lesso等。在回归的时候平衡模型的bias和variance。

SVM:其实和逻辑回归类似,目标函数不同。同时加入了核函数和松弛边界。比较通用的方法。即使样本很少也可以得到比较通用的分类模型。SVM的成功之处在于,抓住了分类问题非常核心的特点:支持向量。其实大部分的信息是在支持向量中。然后衍生出了新的目标函数。用laglange算子求解。求解方法也非常巧妙。

adaboost:
bagging方法每次训练的样本分布是一样的。而adaboost根据模型准确率调整样本的权重,最后根据准确率组合多个模型。可以把week learner组合起来,达到很高的分类准确度。可以和各种方法结合使用。

分类只是方法论,并不是世界观,特征的选择才是最重要的,优化特征其实是我们最需要的。根据真实世界的模型,抽象出独立有效地特征,特征的选择既是技术,也是艺术。

可以用来做特征选择的方法如下:
adboost(特征二分器,根据权重) 信息增益 岭回归图 pca lesso 卡方 等

在特征选择前去噪也是非常关键的。去掉模式化的噪音。

**

小结:

**
看到特别重要的一句话(大写加粗):
**

分类只是方法论,并不是世界观,特征的选择才是最重要的,优化特征其实是我们最需要的。根据真实世界的模型,抽象出独立有效地特征,特征的选择既是技术,也是艺术。

**

你可能感兴趣的:(论文,机器学习,自然语言处理,机器学习)