构建机器学习模型之前:从观察数据开始,总结内在规律
随着大数据与深度学习的蓬勃发展,开源机器学习模型随处可得,但这并不意味着只需收集一堆数据并套用某个开源算法就能得到理想结果。许多开发者都曾踩过这样的坑——辛辛苦苦收集大量数据,训练结束后却发现效果很不理想。问题究竟出在哪里?关键在于开发者对数据本身缺乏直观而深入的理解。如果连数据的形态、内在规律都没摸透,那么设计出来的算法几乎等同于盲目猜测,甚至连模型的性能上限都难以预估。
因此,在动手搭建算法之前,第一要务永远是:仔细观察数据,总结其中蕴含的规律。不要急于调整参数,先与数据建立“亲密关系”,真正理解它的本质。
第一步、特征提取(Feature Extraction)
特征提取,简单来说就是从样本中挖掘出对目标任务有用的多维特征数据。这一步的重要性不言而喻:实践经验早已表明,即使使用的机器学习算法相对粗糙,只要特征提取足够有效,依然能取得优异表现;反之,如果特征提取不当,无法真实反映样本的内在规律,那么即使采用最先进的算法也是徒劳。
不同任务所采用的特征提取方法差异巨大。图像、语音、三维点云(根据百度百科:三维点云是按照规则格网排列的三维坐标点的数据集)等介质的物理属性各不相同,对应的机器学习任务也是多种多样。想要一次性掌握所有场景下的最优特征提取方法,确实需要投入大量的时间和精力。
第二步、特征选择(Feature Selection)
特征选择的核心目标是从众多特征中筛选出区分度高的特征。如图一所示——上边两幅图中,红色线与蓝色线重叠部分较少,区分度较高;而下边两幅图重叠较多,区分度较低。经过特征选择步骤后,前两幅图会被保留下来。

图一,图片来源:根据中国慕课大学《机器学习概论》课程资料制作
第三步、选择机器学习算法
选择算法需要依据已提取和筛选的特征。常见的机器学习算法包括支持向量机(SVM)、人工神经网络、深度神经网络等。每种算法内部又包含多种“核函数”——可以把内核理解为不同的算法变体。因此,算法的选择并非随意抓取,而必须与手中经过提取和选择的特征相匹配。
第四步、得到特征空间(Feature Space),完成机器学习
如图二所示,这三张二维平面图便构成了特征空间。其中的直线或曲线(红色椭圆框区域)是计算机在完成不同的机器学习过程后形成的分类决策边界。当新数据到来时,计算机便依据这些边界进行归类。

图二,图片来源:根据中国慕课大学《机器学习概论》课程资料制作
在更为复杂的机器学习任务中,特征空间的维度可能高达数百甚至数万维,而在深度学习中更是可达数十万维。机器学习的核心能力,就是在这种高维空间中进行准确预测。
另外需要留意一点:不同的机器学习算法所生成的分类标准(即直线或曲线的形状)各不相同。因此,对于同一份数据,不同算法会得出不同的预测结果。但问题在于——开发人员永远无法穷尽所有数据,因此也就无法简单断定哪种算法绝对更优。最终效果,仍需要通过实际验证来检验。
