模型选择

可以从一下几个维度进行分析, 选择合适的算法:

  1. 数据集的大小
  2. 特征空间维度
  3. 特征是否相互独立
  4. 是否为线性特征[注1]
  5. 对拟合程度的要求
  6. 其他要求: 性能, 时间, 空间

影响选择的因素有很多, 如果没有特别的要求, 尽量选择简单的模型(Occam's Razor)

Logistic Regression(LR)

LR首屈一指. 适用于特征基本线性相关, 并且问题线性可分. 当特征为非线性特征时, 可使用特征工程将非线性特征转换为线性特征(离散化+one-hot, 重排序). 正则化使模型对噪声鲁棒, 不容易过拟合训练数据, 并且可使用正则化进行特征选择. LR的另一特性是输出概率, 有效支持排序任务和分类阈值的选择. LR对大数据也有较好的支持, 可以构建高效的分布式的模型.

虽然LR不会百分百有效, 但是在尝试其他分类器前, 不妨先使用LR+L2建立一个不错的基线.

当你选择LR建立基线后, 你需要尝试一些其他的分类器, 主要有两个方向:

  1. SVM
  2. 树模型集成(Tree Ensemble)

一般情况下推荐树模型集成, 但SVM也有值得考虑的情景.

SVM(Support Vector Machine)

LinearSVM与LR并无太大的不同, 主要的区别在于:

  1. 损失函数的不同(hinge loss vs cross-entropy loss)
  2. 模型解释的不同(maximum margin vs logistic distributed)

使用SVM代替LR主要有两个原因:

  1. 核函数解决线性不可分问题(SVM+非线性核函数(RBF))
  2. 特征维度高(文本分类)

SVM的主要缺点: 在训练样本较多的情况下, 训练效率低下.

树模型集成(Tree Ensemble)

树模型集成主要包含两种算法:

  1. 随机森林(Random Forest)
  2. 梯度提升树(Gradient boosted trees)

树模型集成与LR的主要区别在于:

  1. 树模型集成不用考虑是否为线性特征, 或者特征之间是否为线性关系
  2. 因为树模型集成方式的不同(bagging or boosting), 树模型集成可以处理高维特征和训练样本较多的数据
  3. 树模型的拟合能力较强

随机深林和梯度提升树的不同

  1. 梯度提升树的参数更多, 所以梯度提升树的拟合能力更好, 但是也更容易过拟合
  2. 随机森林则更加的稳定, 对大数据支持更好

深度学习(Deep Learning)

深度学习在图片分类等非结构数据上有着很好的表现, 当你不满足于前面的一些方法, 你可以尝试一下深度学习.

总结

LR是一个不错的基线, 随机森林也是一个不错的分类器. 如果觉得还存在提升空间, 可以试一试GBDT和深度学习. 另外, 也可以在kaggle上看看主流的算法有哪些, 并且适应什么样的问题.

文章翻译至: Quora: What are the advantages of different classification algorithms?


注1: 线性特征

若满足标签y是特征x的线性组合

则有

  1. 特征为线性特征
  2. 特征之间为线性关系
  3. 问题为线性可分问题

因此, 我认为线性特征, 特征之间的线性关系, 问题是否是线性可分, 标签是否是特征之间的线性组合为同一个概念.

线性特征 vs 非线性特征

非线性特征主要包含两种:

  1. 类别特征
  2. 特征的高次幂

另外, 知乎上有一篇对另一个高票回答进行了翻译: 用于数据挖掘的分类算法有哪些,各有何优劣?

以下是对第二篇文章翻译的转载

尝试将quora上的这个回答翻译了下。第一次翻译,不好之处请见谅。
What are the advantages of different classification algorithms?

以下是我这些年总结的指南

训练集有多大?

如果你的训练集很小,高偏差/低方差的分类器(如朴素贝叶斯)比低偏差/高方差的分类器(如K近邻或Logistic回归)更有优势,因为后者容易过拟合。但是随着训练集的增大,高偏差的分类器并不能训练出非常准确的模型,所以低偏差/高方差的分类器会胜出(它们有更小的渐近误差)。

你也可以从生成模型与判别模型的区别来考虑它们。

某些分类器的优势

朴素贝叶斯(Naive Bayes, NB)
超级简单,就像做一些计数的工作。如果条件独立假设成立的话,NB将比判别模型(如Logistic回归)收敛更快,所以你只需要少量的训练数据。即使条件独立假设不成立,NB在实际中仍然表现出惊人的好。如果你想做类似半监督学习,或者是既要模型简单又要性能好,NB值得尝试。

Logistic回归(Logistic Regression, LR)
LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑特征是否是相关的。与决策树与支持向量机(SVM)不同,LR有很好的概率解释,且很容易利用新的训练数据来更新模型(使用在线梯度下降法)。如果你想要一些概率信息(如,为了更容易的调整分类阈值,得到分类的不确定性,得到置信区间),或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。

决策树(Decision Tree, DT)

DT容易理解与解释(对某些人而言——不确定我是否也在他们其中)。DT是非参数的,所以你不需要担心异常点(或离群点)和数据是否线性可分的问题(例如,DT可以轻松的处理这种情况:属于A类的样本的特征x取值往往非常小或者非常大,而属于B类的样本的特征x取值在中间范围)。DT的主要缺点是容易过拟合,这也正是随机森林(Random Forest, 或者Boosted树)等集成学习算法被提出来的原因。此外,RF在很多分类问题中经常表现得最好(我个人相信一般比SVM稍好),且速度快可扩展,也不像SVM那样需要调整大量的参数,所以最近RF是一个非常流行的算法。

支持向量机(Support Vector Machine, SVM)

很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。SVM在维数通常很高的文本分类中非常的流行。由于较大的内存需求和繁琐的调参,我认为RF已经开始威胁其地位了。

总结

回到LR与DT的问题(我更倾向是LR与RF的问题),做个简单的总结:两种方法都很快且可扩展。在正确率方面,RF比LR更优。但是LR可以在线更新且提供有用的概率信息。鉴于你在Square(不确定推断科学家是什么,应该不是有趣的化身),可能从事欺诈检测:如果你想快速的调整阈值来改变假阳性率与假阴性率,分类结果中包含概率信息将很有帮助。无论你选择什么算法,如果你的各类样本数量是不均衡的(在欺诈检测中经常发生),你需要重新采样各类数据或者调整你的误差度量方法来使各类更均衡。

但是

更好的数据往往比更好的算法更重要,提取好的特征也需要很大的功夫。如果你的数据集非常大,那么分类算法的选择可能对最后的分类性能影响并不大(所以可以根据运行速度或者易用性来选择)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间...
    在河之简阅读 20,467评论 4 65
  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 39,898评论 12 145
  • 【能量棒】昨天在医院特别麻烦了两位医生,所以决定做点小点心送给他们吃,这几天正好看到一款“冬天里的温暖能量棒”,感...
    一帘月风闲阅读 198评论 0 0
  • 命运的脉络在黑暗中隐藏 晴朗的夜晚你就着月光努力分辨却最终无奈叹息:呵,太乱! 似曾相识的瞬间你灵光一现:是否命运...
    北绝阅读 196评论 0 2
  • 今日,新和学子在异国他乡度过了一个非同寻常的六一儿童节。 早晨,我们出发前往日光市参观世界遗产——日光神社。游览全...
    Ms_Chiu阅读 730评论 1 5