机器学习的八个核心能力

机器学习是大数据、人工智能的核心,是从事这个领域的必经之路。但是懂得算法还远远不能体现机器学习的价值所在。如果你是开发者,方便的机器学习egg为你涉入该领域提供了便捷。不过,能够确定一套高商业价值的模型,你需要很长的积淀。总结八个机器学习的核心能力以供把控方向。

1、问题模型化能力

机器学习的最终目的是实现某种问题的利益最大化,所有实际问题最终都会转化为一个数据科学的优化问题,那么就需要你有较好的行业背景认识。尽管海量数据会大量缩小你对行业熟知知识的要求,但数据往往不全是海量的,且熟悉的行业背景知识可大大提高效率。

2、复杂数据结构化能力

喂入算法是数据是设计好的,结构化了的数据,但实际数据往往有各种来源,如图像数据、文本数据、空间、事件序列...故而合理的结构化数据的能力是很有必要的。

3、数据量、数据结构与数据合理预处理的能力

1)数据量VS异常值

所谓异常值,即不是缺失值,也不是错误值,同样是真实情况的表现,之所以觉得一个数据异常,是因为我们能够用到的数据量不够大,无法准确地代表整个此类数据的分布。故当数据量足够大时,异常值不再异常,且提升了数据的覆盖面,如个性化推荐。

2)数据平衡VS采样

如果数据分布均衡,应尽可能避免采样;因为上下采样都有其不利影响,上采样不得当,使得数据中存在大量相同的数据,会导致模型过拟合;下采样则必然减少数据信息量。

数据不平衡时,常见的处理方式有:

简单粗暴地复制小样本数量的样本——容易过拟合;

调整权重——其效果基本近似于上一种;

随机森林,使每棵树训练时的样本均衡;

观察导致样本不均衡的因素,或可在该因素下先分类,再分别训练模型。

4、理解特征、并可以有效转换特征的能力

海量数据特征中,必然有很多特征存在相关性,常常通过降维有效合并相关数据,这样,在防止了过拟合的同时,也缓解了计算机的负担;

有时特征经过转换后,预测效果更佳。如连续变量离散化、重新划分离散区间....

也可对特征重要性排序,绘制特征数量增加与模型预测结果的关系曲线。

5、选择适当算法的能力

1) 算法不是越复杂越好的,记住:同样的数据下,当所有模型拟合效果相近时,复杂度越小的算法,带来不必要的麻烦越小,可解释性也相对更高。

2) 在相同算法下,训练的效果会随着数据的增加而增加,但超过一定程度后,训练效果将趋于稳定,此时应该考虑更换复杂度较高的算法。

可以参考下图为数据选择合理的算法。

6、优化损失函数的能力

当数据分布不均、或需要为某个类别增加权重时,就需要调整损失函数的权值参数,或增加惩罚项。如通过在特定的错误类型上,增加更多的惩罚来解释它们的权重

7、模型训练与模型融合的能力

想要训练出一个好的模型参数也不简单,最好对算法参数有较深的理解。可以使用栅格搜索(GridSearchCV)辅助调参,但真正得到的好的参数,还需要与你长期的经验相结合。

有时单一的模型不能很好的拟合数据,此时可以将多个模型融合做训练,常见的模型融合有Boosting、Bagging两种。典型的如Adaboost、随机森林

8、区分经验误差与泛化误差

训练集上的效果不能代表实际效果,要得到好的实际预测效果,及减小泛化误差。交叉验证可以实现这一目的,不过最好还要准备一套测试数据来验证。通俗理解:交叉验证是高考前的各种模考,而最终测试数据的结果就是高考结果。

此外可以使用正则化来减小泛化误差。

权威发布有关Imagination公司GPU、人工智能以及连接IP、无线IP最新资讯,提供有关物联网、可穿戴、通信、汽车电子、医疗电子等应用信息,每日更新大量信息,让你紧跟技术发展,欢迎关注!伸出小手按一下二维码我们就是好朋友!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181019B0I43200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券