启迪云Tuscloud■详解人工智能是如何处理数据的?( 二 )


因此 , 大部分的模型都处于纯粹的表示学习和纯粹的依赖人工特征之间 , 程度不同而已 , 很少有绝对的自动学习模型 。 那么好奇的读者会问:
1.是不是自动的特征抽取(表示学习)总是更好?
答案是不一定的:在数据量不够的时候 , 自动特征抽取的方法往往不如人为的特征工程 。 当使用者对于数据和问题有深刻的理解时 , 人工的特征工程往往效果更好 。
一个极端的例子是 , 在kaggle比赛中的特征工程总能带来一些提升 , 因此人工的特征抽取和处理依然有用武之地 。
同时也值得注意 , 表示学习的另一好处是高度抽象化的特征往往可以被应用于相关的领域上 , 这也是我们常说的迁移学习(transferlearning)的思路 。 比如有了大量猫的图片以后 , 不仅可以用于预测一个物体是不是猫 , 也可以用于将抽取到的特征再运用于其他类似的领域从而节省数据开销 。
2.特征学习(表示学习) , 特征工程 , 特征选择 , 维度压缩之间有什么关系?
从某个角度来看 , 表示学习有“嵌入式的特征选择”(embeddedfeatureselection)的特性 , 其表示学习嵌入到了模型中 。
举个简单的例子 , 决策树模型在训练过程中可以同时学习到不同特征的重要性 , 而这个过程是建模的一部分 , 是一种嵌入式的特征选择 。
巧合的看 , 表示学习也是一种嵌入表示(embeddedrepresentation) 。 如维度压缩方法PCA , 也是一种将高维数据找到合适的低维嵌入的过程 , 前文提到的word2vec也是另一种“嵌入” 。 至于这种“嵌入”是否必须是高维到低维 , 不一定但往往是因为特征被抽象化了 。 以上提到的两种嵌入一种是对于模型的嵌入 , 一种是在维度上嵌入 , 主要是名字上的巧合 。
3.理解不同数据处理方法对于我们有什么帮助?
首先对于模型选择有一定的帮助:当我们数据量不大 , 且对于数据非常理解时 , 人为的特征处理也就是特征工程是合适的 。 比如去掉无关数据、选择适合的数据、合并数据、对数据做离散化等 。 当数据量较大或者我们的人为先验理解很有限时 , 可以尝试表示学习 , 如依赖一气呵成的深度学习 , 效果往往不错 。
4.为什么有的模型拥有表示学习的能力 , 而有的没有?
这个问题需要分模型讨论 。 以深度学习为例 , 特征学习是一种对于模型的理解 , 并不是唯一的理解 , 而为什么泛化效果好 , 还缺乏系统的理论研究 。
5.特征工程指的是对于数据的清理 , 和学习有什么关系?
此处我们想再次强调的是 , 这个不是一个严谨的科学划分 , 是一种直观的理解 。 如果所使用的模型拥有对于数据的简化、特征表示和抽取能力 , 我们都可以认为它是有表示学习的特性 。
至于哪个模型算 , 哪个模型不算 , 不必纠结这点 。 而狭义的特征工程指的是处理缺失值、特征选择、维度压缩等各种预处理手段 , 而从更大的角度看主要目的是提高数据的表示能力 。 对于数据的人为提炼使其有了更好的表达 , 这其实是人工的表示学习 。
写在最后是 , 这篇回答仅仅是一种对于机器学习中数据处理方法的理解 , 并不是唯一正确的看法 。 有鉴于机器学习领域的知识更迭速度很快 , 个人的知识储备也有限 , 仅供参考 。
文章转自:图灵人工智能


推荐阅读