【宽客学院】构建回归、分类模型

新手专区
标签: #<Tag:0x00007fcbff983500>

(lpl22) #1

在了解了机器学习的流程和原理之后,你可能已经被铺天盖地的名词搞糊涂了。本文将为你理清各种概念,并介绍回归与分类之间的区别

首先我们明确一下算法在机器学习中的地位。一般来说,机器学习有三个要素: 数据、算法和模型

  • 数据 是场景的描述,包括输入和输出。
  • 算法 是得到模型的过程,狭义上说,特指机器学习算法,如传统线性回归、树和支持向量机以及深度学习; 广义上说,从最初得到数据到最终确定模型中间的所有过程,即建模流程都可以看作算法,如分类、回归模型,搜索最优参数算法。
  • 模型 是输入到输出的映射,即我们最后需要得到的特定法则,对场景给出相关预测。
    对应这三个要素,机器学习又可以分为三个步骤:特征工程、模型训练和模型融合。

常见的模型有:线性模型(广义线性回归模型,支持向量机等),树模型(决策树模型,集成学习法,随机森林,提升树等),深度学习模型

常见算法有:分类、回归、排序

下面我们来举两个例子,看看分类和回归间的区别与应用场景。

回归算法


举一个例子:知道了一支股票的历史数据,如何推断出他的股价走势呢?事实上以数学的角度来看,我们有很多种方法。自然而然,机器也能做这样的事。

首先,考虑最普通的情况:使用一条直线来拟合。对于预测的直线:$a_0x+b_0y=c$定义一个损失函数,然后通过调整$a_0,b_0$的值使损失函数最小,将问题转化为一个最优化问题。

这个方法对于高维、多变量的情况同样适用。


这里以随机森林——回归算法为例,策略连接: 使用BigQuant平台实现随机森林-回归算法

  • m2自动标注中应将自己想选择的股票类别标注出来(本策略中标注了非涨停、非乌龙股)
  • 回归算法可以预测股价的数值,但回归往往不会单独使用。在上述策略的回测模块,机器会对通过回归预测的股票进行排序,从而生成买入卖出订单。
  • “随机森林”虽然看上去像是用于分类问题,其实并不然,有的模型可搭配多种算法(如下图)。

分类算法

有时候我们的要求并没有这么细:我只需要预计明天涨幅能到5%的股票就可以了。此时我只需要预测股票涨幅,不用预测各个股票的具体数值。这里以线性-分类为例:用线性-分类算法实现A股股票选股

  • 这里m2自动标注模块写入的代码将股票作了二分类。同理,多分类也可以实现,代码见文档
  • 分类问题可以直接使用。比如该策略的回测模块里,我们先通过机器学习预测了各个股票是否符合要求(涨还是跌),再按概率排序,买入排名前xx的股票,卖出持有的、排名靠后的股票(这部分逻辑在回测模块主函数中)。

两种算法的区别就介绍到这里。不管是哪种算法,根据自己的需要进行选择、调参才是构建策略的重头戏。最后附上机器学习的算法大致分类,供各位参考。