机器学习三要素:模型、策略与算法

机器学习三要素:模型、策略与算法

近年来大数据很火很赚钱,核心是数据带来商业价值,所以阿里巴巴也说他们实际上是一家数据公司,而不是网上开店的... ...

因此,在大数据时代,我们需要在海量的商业数据上充分挖掘数据的价值,从而让资金的利用更加有效。一方面我们琢磨着怎么拿到这些数据,一方面我们得找地方存储这些数据,更重要的是我们怎么用好这些数据,去获得我们需要的信息。前两件事儿,我不想多说,卖电脑的小哥和云计算的大佬们会给你解决方案,我重点要谈的是第三点,怎么用好数据。

于是,我就要提到机器学习,这无疑是数据分析师最常提到的一个词儿了,机器学习也叫统计学习,即Statistics Learning。一些商学院常常讲的Business Intelligence或者Business Analytic基本上也就是这回事儿。机器学习在干嘛?就是利用已有数据,找到一些合适的数学模型去描述它,然后做一些预测分析,从而优化企业的流程或者提高决策效率。

因此,做这个订阅号(搜索“数据分析技术大课堂”)的时候,开始总觉得有许多point要谈,到后来,发现还是需要找到一个主线去展开一些核心的内容,最后一个偶然的机遇讲了一个基于EM的专题,感觉不错,所以就决定从机器学习这个领域入手,来展开对大数据的思考。

机器学习的核心是什么?是这一讲的主要内容,如题所示:模型、策略与算法

机器学习的目的——模型(Model)

模型就是那个用来描述客观世界的数学模型,模型是从数据里抽象出来的。在进行数据分析时,我们通常手上只有数据,然后看着数据找规律,找到的规律就是模型。就跟小时候做猜数字游戏似的,1,4,16…()…256…,括号里是什么?只有把这串数抽象成模型,我们才能知道括号里是什么。其实我们很小的时候就接触到机器学习,只是那时候只顾考试,没有这些深入思考罢了。

再举个例子,购买产品的顾客到达服务台的时间是什么模型?也许是一个泊松分布。文本中某个此项出现的概率是什么模型?也许隐狄雷科雷分布。股票的价格随时间的变化是什么关系?是基于布朗运动的二项随机分布…

模型可以是确定性的,也可以是随机的,无所谓,总之用数学可以描述,只要数学可以描述的,就可以进行预测分析。所以,我们的根本目的,是找一个模型去描述我们已经观测到的数据。

如何构造模型——策略(Strategy)


例如我们相用一个正态分布去描述一组数据,我们就要去构造这个正态分布,实际上就是预测这个分布的参数,例如:均值?方差?… 但是,我们需要有一系列的标准去选择合适的模型,模型不是拍脑袋来的。我想用正态分布,理由呢?我相用二项分布,凭啥不能用三角分布?我想让正态分布的均值为0.5,凭啥0.5比选0.2好?做研究不能任性,别人会质疑你,所以,就需要有一系列的标准来证明一个模型比另一个模型好,这就是策略。

不同的策略,对应不同的模型的比较标准和选择标准。就跟选班干部一样,选帅的,好,那就让吴彦祖当班长,选逗比的,也许选出来的就是王宝强,选会唱歌的,没准是周杰伦…好,所以最终确定的模型是什么,实际上就跟两件事儿有关,1)我们拿到的数据是什么?2)我们选择模型的策略是什么?

说道策略,一般会讲到,经验风险最小化作为常用的标准。经验风险最小是指,用这个模型,套到已有的观测数据上,基本上是靠谱的。这也是大多数时候我们在机器学习时候有意或无意就用到的准侧。经验风险最小化是一个参数优化的过程,我们需要构造一个损失函数来描述经验风险,损失函数可以理解为我们预测一个数据错了给我们带来的代价。每个人对损失函数的定义都不同,所以优化出来的结果也不同,这也导致最终我们学习到的模型会各种各样,解决一个问题的方案有多种多样…

模型的实现——算法(Algorithm)


我们有了数据,有了学习模型的策略,然后就要开始去构造模型了,如果模型的基本形式有了,就是一个优化模型参数的问题了。如果学习过确定性模型的朋友,优化并不陌生,但是优化过程往往是复杂的,面对复杂的数学优化问题我们通常难以通过简单的求导获得最终的结果,所以就要构造一系列的算法。

我们的目标是让算法尽量高效,更少的计算机内存代价,更快的运算速度,更有效的参数优化结果…


点评: 在进行机器学习时,就只要把握住模型、策略和算法这三个要点即可。商业决策的基础是对客观环境进行描述,我们用数学模型去描述去预测,所以要采取一定的策略选择合适的模型,而模型的构造本质是数学参数的优化问题,在大数据的环境下要构造合适的算法去解决对应的优化问题,这就是整个机器学习的方法构造理念。

编辑于 2016-10-21 08:52