实战机器学习
上QQ阅读APP看书,第一时间看更新

2.3 问题建模

建模是指把具体问题抽象成为某一类问题并用数学模型表示,是应用于工程、科学等各方面的通用方法,是一种对现实世界的抽象总结。在对业务问题以及业务数据进行分析之后,研究人员需要将问题转换成形式化的数学定义,这也是根据实际的问题来建立数学模型的过程。

现实的业务问题往往是极为复杂的,需要根据实际的业务目的与特征提出基本假设来对问题进行必要、合理的简化。在前文中我们提及过显性化问题隐含的假设,不同问题的假设会导致解决问题的方法不同。在问题假设的基础上,利用适当的数学工具来刻画各变量常量之间的数学关系,将问题形式化定义,建立相应的数学模型。问题建模比公式化思维拆解问题更为严谨,是通过数学语言表示出来的,其具体建模流程如下:

(1)符号表示:将业务问题中的特征用数学符号、变量表示。

(2)变量关系:分析变量之间的关系,比如相互依存或独立、自变量与因变量等。

(3)问题归类:根据实际问题选用合适的数学框架,典型的有回归问题、分类问题、优化问题、搜索问题等。

(4)问题的形式化定义:将具体问题用数学符号表示出来。

建模过程是将业务问题的特性具体地描述与表示出来,其目的是为了正确理解并准确描述业务问题,将问题结构化,从而可以进行定量求解。问题的形式化还可以把一个不良结构问题转化为良性结构问题,使不良结构的复杂问题也能像结构化问题一样进行定量求解,实现对实际中复杂抽象问题的具象与数字化。

不同类型的问题有不同的形式化定义:有些问题的形式化定义可以通过数学表达式表示,例如回归类问题通常包括输入(自变量)、输出(因变量)、目标函数和约束条件;有些问题的形式化定义往往需要通过文字阐述,例如搜索问题,但是在文字阐述的过程中,也应该利用数学符号来标识变量或者特征,从而简化文字。

针对机器学习的问题模型通常需要实际的算法来解决。因此,在模型建立过程中还应在模型形式化定义的同时明确算法的输入和输出,让问题转化成可编程的。问题分析的过程其实就是获取问题目标(输出)的过程;数据分析的过程则是可以通过分析数据之间的相关性获取问题输入的过程。整个问题分析与建模过程环环相扣,缺一不可。