一、基本概念及应用
传统机器学习算法首先需要对数据进行特征提取,采用分类器(如决策树、人工神经网络、贝叶斯、集成学习、支持向量机等)进行分类。
机器学习:特征提取+分类器分类
特征提取难,制约发展。
深度学习出现,一定程度解决了特征提取的难题,机器学习繁荣起来。
机器学习 + 数据库 = 数据挖掘
+ 工业应用 = 模式识别
+ 图像处理 = 机器视觉
+ 语音处理 = 语音识别
+ 文本处理 = 自然语言处理
二、数据集及模型
数据集的划分:
方法:留出法;交叉验证法;自助法。
模型的评价方法:
1、分类任务的评价指标:错误率与准确率;
混淆矩阵、查准率与F1;
2、回归任务的评价指标:平均绝对误差;
均方误差MSE;
均方根误差RMSE;
R^2(回归平方和SSR/总偏差平方和SST);
线性模型: | 解决问题思路:(1)模型训练:先假设模型,再确定代价函数(模型好不好的标准),再求解代价函数的极小值。(2)模型测试:预测数据集代入模型,与真实值做对比。 |
一元线性回归
多元线性回归
逻辑回归
三、决策树
决策树 | 是一种常见的分类和回归模型 |
从根节点出发,从上往下搜索,直到叶节点,实现对未知样本的分类。
如何构造决策树?
(1)属性选择:
1.信息增益与ID3算法: | 计算每个属性的信息增益,选择信息熵最大的节点作为根节点。 |
2.信息增益率(C4.5算法) | 首先从属性中找到信息增益高于平均水平的属性。 |
3.基尼指数(分类与回归树CART) | 数据集纯度越大,基尼值越小。 |
(2)决策树剪枝
以上方法都存在过拟合问题。
如何考察泛化性能?
将训练集分为训练集和验证集。用训练集构件决策树,用验证集进行预剪枝或后剪枝。
预剪枝 | 每一步划分时,确定划分属性后,估计泛化性能。性能提升,则划分,否则停止划分。 |
后剪枝 | 先生成决策树,自底向上对叶节点考察泛化性能。 |
(3)连续属性的处理
将连续属性排序,利用二分法,计算划分点(排好序的相邻两数的平均数),划分数据,将一个连续属性离散为几个离散属性。
(4)决策树的应用
Sklearn:sklearn.tree库。
实例:鸢尾花分类、手写字符分类。
四、贝叶斯方法
引入:
99男1女抽一个奖,中奖的是男是女?
领奖的梳马尾辫穿白裙子,中奖的是男是女?
贝叶斯方法基本原理:先验概率、条件概率、后验概率问题。
朴素贝叶斯方法 | 假设多个特征(属性)之间是独立的。 |
高斯朴素贝叶斯方法 | 特征是连续值 |
伯努利朴素贝叶斯方法 | 二分类问题,取值0或1 |
多项式分布朴素贝叶斯方法 | 特征是离散变量,服从多项式分布(掷色子,1-6的概率) |
五、支持向量机
把划分数据的决策边界就叫做超平面。离这个超平面最近的点就是“支持向量”。
支持向量最中间的线叫做最优分类器。
支持向量机是一种在特征空间上以“最大间隔”为目标的线性二分类器。在“核技巧”的辅助下可以解决线性不可分问题,也可利用one-vs-rest技术解决多分类问题。
对偶问题:原始问题在满足一定条件时,通过一系列变换和处理,可以生成一个与之相关的对偶问题。
对偶问题和原始问题是等价的,对偶问题的解就是原始问题的解。在一些具体的优化问题中,尤其是约束优化问题中,对偶问题往往更容易求解。
核技巧:将原始空间中的向量作为输入向量,并返回特征空间(转换后的数据空间,可能是高维)中向量的点积的函数称为核函数。
软间隔:软间隔SVM的目标是在尽可能大的间隔和尽可能少的误分类之间找到一个平衡。
六、人工神经网络
神经元模型
激活函数
1.符号函数
2.S型函数(Sigmoid 函数)
3.双曲正切函数(tanh函数)
4.线性整流函数(ReLU函数)
七、K近邻
K-近邻基本原理: | K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。 |
距离度量方法 | 曼哈顿距离、欧式距离、棋盘距离… … |
K值的选择与特征规范化的必要性 | 在使用K近邻之前,特征必须规范化到一个数量级才能计算距离。(z-score、min-max规范化方法)。 |
K维树(特征维度为K) | 快速找到与测试样本最邻近的k个训练样本,而不再需要计算测试样本和训练集中的每一个样本的距离。 |
八、集成学习
集成学习: | 指通过构件并结合多个分类器,生成一个比单体分类器更稳定并且各方面都更好的模型。 |
自适应提升(boosting)系列算法 | 由若干基分类器按照不同的权重组合成为一个强分类器。 |
自助投票(bagging)方法 | 使用数据集训练出N个基分类器,将N个基分类器的分类结果结合(简单投票法,少数服从多数)起来。 |
九、特征提取与数据降维
特征提取方法种类繁多,列举一部分。
自然语言处理领域 | TF-IDF法、WordVec方法、FastText法、Bert法等 |
语音识别领域 | MFCC、Fbank |
机器视觉领域 | LBP方法、灰度共生矩阵、HOG特征提取方法、Haar-like特征、 |
数据降维 | 去除冗余数据(特征)、降低多个变量之间的相关性。 |
主成分分析法(PCA) | 原理: |
十、深度学习
深度学习会对原始数据自动进行特征提取和分类
常见的深度学习模型有:自动编码器、卷积神经网络、循环神经网络、生成对抗网络等
自动编码器
一种无监督学习算法,恒等全连接网络。
卷积神经网络
自带特征提取和分类功能的深度学习模型。本质上是一种前馈人工神经网络。
1.输入层:去均值、归一化、PCA降维/白化(各个特征轴上的归一化)。
2.卷积层:提取特征。
3.激活函数
4.池化层:对数据进行降采样。(最大池化法、平均池化法)
5.全连接层:相当于分类器。
序贯式模型搭建法:
各层按照序列方式组成完整模型。
函数式模型搭建法:
允许定义多个输入或输出模型及共享图层的模型。允许定义动态的非周期性网络图。
1.共享输入层的卷积神经网络搭建;
2.共享卷积层的卷积神经网络搭建;
3.多输入层的卷积神经网络。
主流的卷积神经网络:
1.LeNet-5网络结构:CNN架构,
2.VGG网络结构。
十一、聚类
无监督学习。
聚类:把相似的数据划分到一起。
基于划分的聚类算法(基于样本之间的距离):K均值聚类算法
将数据集中的样本划分到k个不相交的子集中,每个子集称为一个“簇”。
基于密度的聚类算法(将簇看作高密度体,低密度区域看作是噪声):DBSCAN算法