策略分享

量化机器学习系列分享(一)机器学习介绍与线性回归模型

由dontbelazy创建,最终由dontbelazy 被浏览 19 用户

1. 人工智能与机器学习的概念

1.1 人工智能的概念

人工智能(Artificial Intelligence,AI)是一门研究如何使计算机系统具备类似于人类智能的能力的领域

人工智能的子领域示例:

  1. 机器学习:机器学习是人工智能的子领域,用于从数据中学习并改善系统性能
  2. 自然语言处理:NLP致力于使计算机能够理解、处理和生成人类语言
  3. 计算机视觉:计算机视觉使计算机能够识别和解释图像和视频数据,用于图像识别、目标检测和人脸识别等任务
  4. 机器人学:机器人学研究如何设计、构建和控制机器人,使它们能够执行各种任务
  5. 专家系统:专家系统使用知识库和推理引擎,模拟领域专家的决策过程,用于医学诊断、金融分析和技术支持
  6. 强化学习:增强学习是一种强化学习技术,用于让智能体通过与环境互动来学习,并在追求特定目标时获得奖励,如AlphaGo在围棋中的应用
  7. 人工智能伦理:这个领域关注人工智能系统的伦理和社会影响,以确保其使用是公平和负责任的

现如今,人工智能的应用已经进入了我们生活的方方面面

  • 30年前,计算机进入人们的生活,从此人们开始了使用计算机提高生产效率的时代
  • 今天,AI进入人们的生活,从此我们便开始了使用AI工具提高生产效率的时代

1.2 机器学习的概念

机器学习(Machine Learning)通过使用算法和统计模型,让计算机系统能够从数据中自动学习数据间的关系并提高性能

机器学习的目标是让计算机具备从数据中获取知识和经验,以便进行预测、分类、识别和决策等任务

机器学习的常见应用包括

  1. 计算机视觉:机器学习模型可以用于图像分类、识别与生成
  2. 自然语言处理:机器学习可用于文本处理任务,例如情感分析、文本翻译和自动问答系统,使计算机能够理解和生成人类语言
  3. 医疗诊断:机器学习可以帮助医生诊断疾病,例如通过分析医疗图像(如X射线或MRI)来检测疾病或预测患者的风险
  4. 推荐系统:在线购物网站和流媒体平台使用机器学习来推荐产品、电影、音乐和其他内容,以提高用户体验
  5. 语音识别:语音助手使用机器学习来识别和理解人类的语音命令
  6. 游戏AI:机器学习被用于创建智能游戏角色,使它们能够适应玩家的行为并提供更具挑战性的游戏体验

机器学习在金融领域的应用包括

  1. 金融工具收益预测
  2. 金融工具定价
  3. 投资组合最优化
  4. 金融市场危机预测
  5. 金融市场情绪分析
  6. 金融欺诈检测
  7. 公司危机事件检测
  8. 高频交易

2. 机器学习的一些基本概念

2.1 机器学习数据的类别

2.1.1 标签与特征

机器学习模型,就是用来研究个体的某些特点与另外一些特点之间的关系的,这个关系研究明白了,我们就可以用一个特点,来预测另一个特点

根据机器学习的这一目的,我们可以把数据分为特征标签

  • 标签:预测什么
  • 特征:用什么来预测

例如:我们想用一家公司的基本信息来预测股票收益

  • 标签:股票收益
  • 特征:公司基本信息

因此,我们可以说,机器学习模型就是用来研究特征与标签之间关系,并用特征来预测标签

2.1.2 训练集 & 验证集 & 测试集

一个机器学习模型的流程可以大致分为三个步骤

  • 训练(Training):学习特征与标签之间的关系,这当中使用的数据叫训练集,就像平时学习用的练习册(一般占总样本的50%)
  • 验证(Validation):调整模型以提高预测的效果,这当中使用的数据叫验证集,就像阶段测验,查漏补缺(一般占总样本的25%)
  • 测试(Testing):最终看一下模型用特征来预测标签的能力,这当中使用的数据叫训练集,就像期末考试(一般占总样本的25%)

训练集、验证集、测试集,三个数据集是不能重合的,不然就相当于考试透题了

在没有模型调整的任务时,可以不分验证集,只分训练集(一般占75%)和测试集(一般占25%)

2.1.3 一个机器学习使用的数据集长什么样

一个机器学习使用的数据集其实就是一个表格:

  • 行表示样本
  • 列表示特征或标签

机器学习数据集样例

2.2 机器学习的任务类别

2.2.1 监督式学习 VS 非监督式学习

监督式学习的目的就是研究特征与标签之间关系,并用特征来预测标签

  • 例如我们想用身高与体重,来预测性别
  • 监督式学习的数据集中既有特征,又有标签

非监督式学习的目的是总结特征的一些特点,这个总结出来的特点也可以被当做是一种“人造标签”

  • 例如我们想总结一下身高这一列的平均、方差等数字特征
  • 例如我们想根据身高与体重,来把一个人分为胖或瘦
  • 非监督式学习的数据集不分特征与标签,或者说只有特征没有标签

2.2.2 分类 VS 回归 VS 聚类

分类:监督式学习:标签是离散型的:例如预测性别

回归:监督式学习:标签是连续型的:例如预测股票收益率

聚类:非监督式学习:目标的“标签”是离散型的:例如将人分为胖或瘦

2.2.3 参数型 VS 非参数型

**参数型:**假设数据来自于一个可以用参数描述的分布,模型的主要目标就是把这个参数估计出来

**非参数型:**不假设数据来自于一个可以用参数描述的分布,模型用其他方式研究变量之间的关系

2.2.4 概率型 VS 几何型

**概率型:**使用概率来描述变量之间的关系,例如一个人被分类为男生,是因为根据他的特征,他是男生的概率,比他是女生的概率,要大一些

**几何型:**使用距离来描述变量之间的关系,例如一个人被分类为男生,是因为他的特征距离其他男生要近一些,距离女生要远一些

3. 线性回归模型

3.1 线性回归模型的结构

线性回归模型是一种最简单的机器学习模型,它的类型为:

  • 监督式学习(有标签)
  • 回归模型(标签是连续型的)
  • 参数模型
  • 概率模型

一个线性回归模型的表达式为

  • Y是我们想要预测的标签
  • X是我们使用的特征
  • beta是描述Y和X之间关系的参数,是模型需要学习的东西,一共有p=k+1个
  • epsilon是错误项,我们可以把Y理解为两部分,带X和beta的部分就是模型可以解释的那一部分的Y,epsilon就是模型无法解释的那一部分Y

这个表达式可以写为矩阵的形式

  • 大写的Y,是将所有样本的Y组成一个矩阵,维度为n*1
  • 大写的X,是将所有样本的X组成一个矩阵,维度为n*p
  • 大写的beta,是将p个beta都组成一个矩阵,维度为p*1
  • 大写的epsilon,是将所有样本的epsilon组成一个矩阵,维度为n*1

3.2 最小二乘法估计参数$\beta$

最小二乘估计参数beta的方式很简单:

  • 它不像大模型那样调参半天,而是像解方程一样一步到位解出来的
  • 当然这个解方程是矩阵版本的解方程
  • 这个解可以一次性地把模型中所有p个参数全部解出来

这个解可以表达为

这个解做到的目标是最小化MSE (Mean Squared Error)

  • 在训练时,最小二乘估计可以做到最小化训练集样本的MSE,使用训练集样本的Y与X,或者也可以看R Squared指标,可以把它理解为标准化后的MSE,训练集R Squared取值范围是[0, 1]
  • 在评估时,我们要看测试集样本的MSE,使用测试集样本的Y与X,同样也可以使用R Squared指标,测试集R Squared取值范围是[0, 1]
  • 如果没有模型调整的任务,可以不分验证集样本

3.3 线性回归模型在量化当中的应用

3.3.1 线性回归用于构建策略

在量化中,线性回归一般很少直接应用于策略的构建,因为模型太简单了,所以很难用线性回归来发现因子与收益之间的关系,很难用线性回归来用因子预测收益

以下是一个线性回归构建的策略样例,策略非常简单,使用的标签就是5日收益率,使用的特征就是市值因子,可以看出效果是并不完美的

https://bigquant.com/codeshare/f78e6c7f-5ba2-4950-946b-65bf9de72490

\

3.3.2 线性回归用于构建因子

在量化中,线性回归的常见应用是构建因子,通过在某些变量之间建立回归模型,构建出来以下三类因子:

  • 使用估计出来的beta作为因子
  • 使用回归的拟合值作为因子
  • 使用回归的残差项作为因子

以下是一个使用回归残差项作为因子的例子,来自于经典的FF三因子模型,回归函数使用的是DAI平台中的SQL函数

https://bigquant.com/codeshare/68165482-f062-475c-8a66-1e72c9f7327b

\