这两天看了一些将机器学习算法应用场景以及优缺点的文章,比如这样的
于是产生了建立一个算法选择模型的想法,总结了下列4个维度:
1.算法属性
每个算法都有自己的特长,发挥算法的特长才能事半功倍。算法属性包括:
维度 | 属性 | 取值范围 |
算法属性 | 算法类型 | 分类,回归,聚类 |
是否参数型 | 是,否 | |
是否黑箱 | 是,否 | |
是否集成 | 是,否 | |
是否探索性 | 是,否 | |
是否在线学习 | 是,否 | |
风险 | 过拟合风险,欠拟合风险,局部最优风险 | |
适应能力 | 强,弱 |
2.数据要求
数据是原材料,经过算法得出结果,但有的原材料跟算法就是合不来。数据要求包括:
维度 | 属性 | 取值范围 |
数据要求 | 两变量散点分布 | 线性相关,非线性相关 |
数据量 | 要求大数据,不要求大数据 | |
假设严格程度 | 严格,不严格 | |
特征敏感度 | 缺失值敏感,异常值敏感,相关性敏感,稀疏性敏感,特征维数敏感 |
3.结果要求
算法不重要,得出的结果才重要。结果要求包括:
维度 | 属性 | 取值范围 |
结果要求 | 预测度 | 高,中,低 |
解释度 | 高,低 | |
稳定性 | 高,低 | |
个性度 | 高,中,低 | |
意义概率 | 有意义,可能无意义 |
4.性能要求
快鱼总是能吃掉慢鱼,尤其在动辄就谈大数据的背景下。性能要求包括:
维度 | 属性 | 取值范围 |
性能要求 | 大数据能力 | 具备,不具备 |
性能开销 | 大,小 |
最后是这个模型的用法:
-
总结每个算法的各个维度取值
-
应用时,根据每个维度,确定可选算法集
-
可选算法集求交集,确定待验算法
-
比较待验算法,确定最终算法