机器学习
核心概念
人工智能 三大概念
人工智能、机器学习、深度学习
三者之间的关系
机器学习是实现人工智能的一种途径
深度学习是机器学习的一种方法
*机器学习 应用领域和发展史
机器学习的应用领域
- 计算机视觉CV:对人看到的东西进行理解
- 自然语言处理:对人交流的东西进行理解
- 数据挖掘和数据分析:也属于人工智能的范畴
人工智能发展史
- 1956年 人工智能元年
- 2013年 计算机视觉深度神经网络方法研究兴起
- 2017年 自然语言处理应用大幕拉开
- 2022年 ChatGPT的出现,引起AIGC的发展
AI 发展三要素
数据、算法、算力
机器学习 常见术语
- 样本(Sample / Instance): 一行数据
- 特征(Feature): 一列数据,即属性
- 标签 / 目标值(Label / Target): 要预测的那一列数据
- 数据划分: 训练集(Train)、验证集(Validation)、测试集(Test)
机器学习 算法分类
按学习范式分类可分为:监督学习、无监督学习、半监督学习、强化学习
监督学习:输入训练集数据包含输入特征值和目标值
- 回归(Regression):函数的输出是一个连续的值
- 分类(Classification):函数的输出是有限个离散值
无监督学习:输入训练集数据是由输入特征值组成、没有目标值
- 比如:聚类(Clustering)根据样本间的相似性对样本集进行分类
半监督学习:训练集同时包含有目标值的样本数据和不含有目标值的样本数据
强化学习:智能体不断与环境进行交互,通过获取最大奖励的方式(试错的方式)来获取最佳策略
主要包含四个元素:
Agent, Environment, Action, Reward
按系统实现方式/知识表示形式 分类
基于规则的学习
基于模型的学习(数据驱动的学习)
机器学习 建模流程
- 获取数据:搜集与完成机器学习任务相关的数据集
- 数据基本处理:数据集中异常值、缺失值的处理等
- 特征工程:
特征提取 -> 特征预处理 -> 特征降维,让模型达到最好的效果 - 机器学习(模型训练):选择合适的算法对模型进行训练
- 模型评估:评估效果好的上线服务,评估效果不好的则重复上述步骤
- 在线服务模型预测
模型拟合问题
拟合:用来表示模型对样本分布点的模拟情况
过拟合、欠拟合是什么
- 过拟合:模型在训练集表现好、在测试集表现不好
- 欠拟合:模型在训练集、测试集表现都不好
过拟合、欠拟合出现的原因
- 过拟合:模型太过于复杂、数据不纯、训练数据太少
- 欠拟合:模型过于简单
泛化:具体的、个别的扩大为一般的能力
模型的拟合情况 = 泛化能力
特征工程
特征工程:利用专业背景知识和技巧处理数据,让模型效果更好
特征工程的内容:
特征提取(Feature Extraction)
特征预处理(feature preprocessing)
归一化(MinMaxScaler)
标准化(StandardScaler)
特征降维(Feature Dimensionality)
特征选择(Feature Selection)
特征组合(Feature Crosses)
【常用】特征提取和特征预处理
监督学习
KNN算法
K近邻算法的思想:一个样本最相似的 k 个样本中的大多数属于某一个类别,则该样本也属于这个类别
K值的选择
K近邻算法分类流程 & 回归流程
线性回归
- 利用 回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。
逻辑回归
- 利用 Sigmoid 函数 对 一个或多个自变量(特征值)与因变量(目标类别)之间 的关系进行建模的一种分类模型。
决策树
一种基于树形结构的监督学习算法,用于解决分类(Classification)或回归(Regression)问题。
- ID3 决策树(信息增益)
- C4.5 决策树(信息增益->信息增益率)
- CART 决策树(回归:平方误差最小化,分类:基尼指数最小化)
集成学习
集成学习 ≈ 多基学习器 + 多样性保证 + 策略聚合
随机森林 ≈ Bagging采样 + 特征随机 + 并行投票
AdaBoost ≈ 弱分类器 + 自适应加权 + 串行训练
GBDT ≈ 梯度提升 + 串行拟合残差 + 加法模型
XGBoost ≈ GBDT进阶 + 正则化约束 + 二阶泰勒优化 + 工程级加速
三者递进关系: AdaBoost(加权调整样本) → GBDT(拟合残差/梯度) → XGBoost(带正则的GBDT)
无监督学习
聚类
聚类 ≈ 无监督分组 + 相似性度量 + 簇内紧致 & 簇间分离
- K-means ≈ 预设 K + k-means++ 初始化 + 迭代最小化 SSE
时间序列预测
传统统计方法
- 朴素法(Naive Method)
- 简单移动平均(Simple Moving Average, SMA)
- 移动平均法(Moving Average, MA)
- 简单指数平滑法(Simple Exponential Smoothing, SES)
- 霍尔特线性趋势法(Holt’s Linear Trend Method)
- AR(p) 自回归模型(Autoregressive Model of Order p)
- MA(q) 移动平均模型(Moving Average Model of Order q)
- ARIMA 差分自回归移动平均模型(ARIMA(p, d, q))
模型调优(超参数优化)
交叉验证 + 网格搜索
交叉验证:是划分数据集的一种方法,目的是为了得到更加准确可信的模型评分
网格搜索:只需要将若干参数传递给网格搜索对象,它将自动完成不同超参数的组合、模型训练、模型评估,最终返回一组最优的超参数。
交叉验证 + 网格搜索(模型选择+参数调优)
- 交叉验证解决模型的数据输入问题(数据集划分)得到更可靠的模型。
- 网格搜索解决超参数的组合。
- 两个组合再一起形成一个模型参数调优的解决方案。
【注】最后所给出的最优估计器对象,实际中不一定是最好的
模型评估
分类评估
混淆矩阵:TP、FN、FP、TN
准确率:(真正例 + 真反例) / 样本总数
精确率:真正例 / 预测为正例
召回率:真正例 / 真实为正例
F1-score
AUC指标
ROC曲线
回归评估
- 平均绝对误差(Mean Absolute Error,MAE)
- 均方误差(Mean Squared Error,MSE)
- 均方根误差(Root Mean Squared Error,RMSE)
聚类评估
SSE(Sum of Squared Errors,误差平方和)
内聚程度,越小越好
肘部法则,通过 SSE 确定
n_clusters 的值K 增加,SSE 递减,SSE 下降速度明显放缓 -> k为最佳值
SC 轮廓系数法(Silhoutte Coefficient)
簇内,聚合程度,越小越好;簇外,分离程度,越大越好
CH 指数(Calinski-Harabasz Index)
簇内,聚合程度,越小越好;簇外,分离程度,越大越好;K值,内聚程度,越小越好