本文主要内容来自datawhalechina/ensemble-learning (github.com),摘要性的写了“阅读笔记”,强烈推荐阅读了本文粗略的笔记后,花时间细细阅读链接中的教案。
一、机器学习
机器学习:利用数学模型来理解数据,发现数据中的规律,用作数据的分析和预测。
可分为有监督学习和无监督学习。
有监督学习:给定某些特征去估计因变量,即因变量存在的时候,我们称这个机器学习任务为有监督学习
无监督学习:给定某些特征但不给定因变量,建模的目的时学习数据本身的结构和关系
很喜欢原文中这里使用“因变量”这个词,感觉和以前熟悉的“函数”相关概念靠的更近了,陌生感降低了很多。
而有监督学习又可分为回归和分类
回归:因变量是连续型变量
分类:因变量是离散型变量
重点:数据形式约定
这里真的是重点,只有熟记了这些符号的含义,阅读后续教程才不会恐惧,才不会被轻易劝退。[Doge]
- 第个样本:
- 因变量
- 第个特征:
-特征矩阵:
二、使用sklearn构建完整的机器学习
上来就是重点!一个完整的机器学习项目的步骤:
- 明确项目任务:回归/分类
- 收集数据集并选择合适的特征
- 选择度量模型性能的指标
- 选择具体的模型并进行训练以优化模型
- 评估模型的性能并调参
七月在线总结的完整机器学习项目是这样滴(对比主要多了模型上线步骤,拆分的更细一些):
- 抽象成数学问题
- 获取数据
- 特征预处理与特征选择
- 训练模型与调优
- 模型诊断
- 模型融合
- 上线运行
2.1 使用sklearn构建完整的回归项目
好家伙,好家伙,这个教案太猛了!本以为是按照惯例来个线性回归+最小二乘法+波士顿房价完事儿的,没想到这教案使劲往深里挖呀!跪了……
简单列一下教案中回归这里的脉络
回归分析是一种预测性的建模技术,它研究的因变量(目标)喝自变量(特征)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。通常使用曲线/线来拟合数据点,目标是使曲线到数据点的距离差异最小。
2.1.1. 收集数据集并选择合适的特征
2.1.2. 选择度量模型性能的指标
- MSE均方误差:
- MAE平均绝对误差:
- 决定系数:
- 解释方差得分:
sklearn中更多模型性能指标
2.1.3. 选择具体的模型并进行训练
2.1.3.1线性回归模型
- (a) 最小二乘估计
- (b) 几何解释
- (c) 概率视角
线性回归模型假设目标值与特征之间线性相关,既满足一个多元一次方程。通过构建损失函数,求解损失函数最小时的参数w
- 假设:数据集
- 假设X和Y之间存在线性关系,模型的具体形式为
2.1.3.2. 线性回归的推广
广义可加模型(GAM)实际上是要给线性模型推广至非线性模型的一个框架,在这个框架中,每一个变量都用一个非线性函数来代替,但是模型本身保持整体可加性。GAM模型不仅仅可以用在线性回归的推广,还可以将线性分类模型进行推广。推广形式举例:
标准的线性回归模型:
GAM模型框架:
2.1.3.3. 回归树
基于树的回归方法主要是依据分层和分割的方式将特征空间划分为一系列简单的区域。对某个给定的待预测的自变量,用他所属区域中训练集的平均数或者众数对其进行预测。由于划分特征空间的分裂规则可以用树的形式进行概括,因此称为决策树方法。
结点有两种类型:内部节点(internal node)和叶节点(leaf node)。内部节点表示一个特征或属性,叶节点表示一个类别或者某个值。
建立回归树的过程大致分为两步:
- a. 将自变量的特征空间(即的可能取值构成的集和分割成个互不重叠的区域。
- b. 对落入区域的每个观测值作相同的预测,预测值等于上训练集的因变量的简单算术平均。
2.1.3.4. 支持向量机回归(SVR)
在线性回归的理论中,每个样本点都要计算平方损失,但是SVR却是不一样的。SVR认为:落在的邻域空间中的样本点不需要计算损失,这些都是计算正确的,其余的落在邻域空间意外的样本才需要计算损失。
预备知识:
- 约束优化问题(P)
- KKT条件(最优解的一阶必要条件)
- 对偶理论
优化问题:
引入拉格朗日乘数,对求偏导等于零,得。求解过程需满足KKT条件。
SVR得解形如:
2.1.4. 优化基础模型
我们建立机器学习得目的并不是为了在已有得数据集,也就是训练集上效果表现非常优异,而是在未知且情况复杂得测试数据集上表现优异,即测试集。
2.1.4.1 训练均方误差与测试均方误差
项目中要寻找的最优模型是测试均方误差达到最小时对应的模型,仅仅训练均方误差达到最小是不行的。当模型在训练误差很小,而测试误差很大时,这种情况称为过拟合。
2.1.4.1 偏差-方差的权衡
偏差(Bias)与方差(Variance) - 知乎 (zhihu.com)
图片来自Understanding the Bias-Variance Tradeoff (fortmann-roe.com)
refer:
视频链接:
https://www.bilibili.com/video/BV1Mb4y1o7ck?from=search&seid=6085778383215596866
教案链接:https://github.com/datawhalechina/ensemble-learning
机器学习项目的完整流程,值得收藏! - 七月在线 - OSCHINA - 中文开源技术交流社区
偏差(Bias)与方差(Variance) - 知乎 (zhihu.com)