跳转至

机器学习

机器学习:监督学习

0.机器学习基本概念

机器学习的目标
从原始数据中提取特征,学习一个映射函数将上述特征(或原始数据)映射到语义空间,寻找数据和任务目标之间的关系。
从数据中学习概念或模式,形成判断和决策能力,是机器学习的一个基本目标。

机器学习的种类
3种:监督学习、无监督学习、强化学习

  • 监督学习
    • 给定带有信息标签的训练集合D={(xi,yi)},i=1~N,学习一个从输入x到输出y的映射。其中D被称为训练集,N是训练样例的数量。
    • 监督学习一般被用在回归或分类任务中。
  • 无监督学习
    • 最大特点是信息无标签。
    • 通常给定输入D={xi},i=1~N,目标是挖掘数据中的有用信息。
    • 一般被运用在聚类或若干降维任务中。
    • 半监督学习依赖于部分被标注的数据。
  • 强化学习
    • 一种序列数据决策学习方法,一般为从与环境交互中学习。
    • 当有良好的定义或给出回报值或惩罚值时,强化学习可以让智能体学习在不同状态下如何选择行为方式。

1.监督学习的基本概念

监督学习的内容

  • 从训练数据集中学习得到映射函数\(f\)
  • 在测试数据集上测试映射函数\(f\)
  • 在未知数据集上测试映射函数\(f\)(投入使用)

损失函数
设映射函数为f,第i个训练对为\((x_i,y_i)\),f对\(x_i\)的预测结果为\(f(x_i)\),则损失函数即为用来计算预测值\(f(x_i)\)和真实值\(y_i\)之间差异的函数。在训练过程中期望所有样本的“损失和”最小。

风险

  • 经验风险训练集中数据产生的(平均)损失称为经验风险。经验风险越小,则学习模型对数据集拟合程度越好。
  • 期望风险:向测试集中不断加入从真实数据分布中采样的样本时,在测试集上产生的损失会不断逼近期望风险。期望风险越小,学习所得模型越好。
  • 机器学习的目标就是追求期望风险最小化。

期望风险和经验风险的关系
期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练样本集的平均损失。根据大数定律,当样本趋向于无穷时,经验风险趋于期望风险。在实验中常常用经验风险来估计期望风险。而由于训练样本数量有限,用经验风险估计期望风险并不理想,需要对经验风险进行约束。

结构风险最小化
为了有效地训练泛化能力强的模型(期望风险和经验风险都比较小),提出结构风险最小化:为防止过学习(经验风险小但是期望风险大),基于过学习时参数值通常较大这一常态,在经验风险上加上表示模型复杂度的正则化项(regularizer)或惩罚项,在最小化经验风险与降低模型复杂度之间寻找平衡

主要的监督学习方法

  • 判别方法
    • 直接学习判别函数 f(X) 或者条件概率分布 P(Y|X) 作为预测的模型
    • 典型的判别模型包括:回归模型、神经网络、支持向量机、Ada boosting
  • 生成方法
    • 从数据中学习联合概率分布 P(X, Y)(通过似然概率 P(X|Y) 和类概率 P(Y) 乘积来求)
    • 典型方法为贝叶斯方法、隐马尔可夫链
    • 难点在于联合分布概率 P(X, Y)或似然概率 P(X|Y)很难求

2.回归分析

多元线性回归

QQ截图20231217184840

需要注意的是,最后在计算 a 向量的时候需要为 X 矩阵的最下面增加一行全为1的行对应 \(a_0\)

线性回归的缺点
对于离群数据非常敏感,导致模型建立不稳定,为缓解此问题的影响,引入逻辑斯蒂回归。

逻辑斯蒂回归(logistic regression)
在回归模型中引入sigmoid函数的非线性回归模型

image-20240306185525202

  • 第一个等号右边为sigmoid函数。向量 x 是输入数据;向量 w 和数 b 是回归函数的参数
  • 第二个等号右边的计算结果具有概率意义,y 可用来计算输入数据 x 属于正例的概率;1-y 作为 x 属于负例的概率
  • 逻辑斯蒂回归是一个线性模型,在预测时,若 wTx+b>0 成立,则输入数据 x 可被判断属于正例
  • 求解参数的典型做法是最大化对数似然(log likelihood)函数
  • 逻辑斯蒂回归只能用于解决二分问题

3 决策树

定义
决策树是一种通过树形结构来进行分类的方法。

  • 树形结构中每个非叶子结点表示对分类目标等待判断的一个属性
  • 每个分支(树枝)代表基于该属性的参数的分类判断
  • 每个叶子结点代表一种分类的结果。

建立决策树的过程就是不断选择属性值对样本进行划分,直至每个子样本为同一个类别。

属性划分顺序
构建决策树时划分属性的顺序是十分重要的。性能好的决策树随着划分的不断进行,决策树分支结点样本集的“纯度”会越来越高,即其所包含的样本尽可能属于相同类别。

信息熵与信息增益(具体计算示例见书128面)

  • 信息熵:衡量样本集合“纯度”的指标
  • 信息增益:选择属性划分样本集前后信息熵的减少量称为信息增益。信息增益被用来衡量样本集合复杂度(不确定性)减少的程度。

决策树的构建

  • 通过比较每种属性信息的信息增益高低来选择出最佳属性对样本集进行划分,得到最大的“纯度”
  • 如果划分后的每个子样本集都只存在同类样本(最终需要的分类)(x有类别,但需要最终得到的是基于y的分类),那么停止划分

进一步优化构建方式
由于在一般情况下,信息增益偏向选择分支多的属性,这在一些场合会出现过拟合的情况,则引入“信息增益率”的核心思想:对过多的分支进行惩罚。

4.线性判别分析(LDA)

定义
线性判别分析(Fisher线性判别分析)是一种基于监督学习的降维方法。
对于一组具有标签信息的高维数据样本,LDA利用其类别信息,将其线性投影到一个低维空间上,在低维空间中同一类别的样本尽量靠近,不同类别的样本彼此远离。
LDA与主成分分析(PCA)密切相关,都在寻找最佳解释数据的变量的线性组合。

LDA的降维步骤
image-20240306185549511

得到的维数(与“类别”密切相关)
通过LDA对原始d维数据进行降维后,得到的维度的最大取值为 \(min(K-1,d)\) ,其中K是n个原始高维数据所构成的类别种类。也就是说,在二分类问题中,原始高维数据只能被投影到一维空间中。

LDA与PCA

  • LDA是监督学习的降维方法,PCA是无监督学习的降维方法(无需样本类别标签)
  • LDA与PCA都是寻找特征向量 w 来实现降维,其中LDA寻找“类内方差小,类间距离大”的投影方向,PCA寻找投影之后数据之间方差最大的投影方向
  • LDA降维后得到的维数小于等于 \(min(K-1,d)\) ,与数据样本的类别个数K有关
  • PCA降维后得到的维数与原始数据的特征维度相关,与数据的类别标签无关

机器学习:非监督学习

1.K均值聚类

聚类任务
K均值聚类算法是一种聚类算法。聚类任务是将大量的数据根据他们的数据特征相似性分成少量簇的任务。
K-means算法要求变量连续,数据没有异常值(离群点)。

K-means算法定义
目标是将n个d维的数据划分为 K 个聚簇,使得簇内方差最小化,最小化类内距离,最大化类间距离(类似LDA)。

K-means算法特点

  • 找到一个“局部”最优而不保证全局最优
  • 是一个易受初始值影响的迭代算法,可以用不同的初始值重复几次以达到局部最优
  • 可用于:入侵检测、云计算、客户细分

算法步骤

  • 1.初始化聚类质心
  • 2.根据设定的相似度/距离函数对数据进行聚类
  • 3.更新聚类质心(对每个聚类中的数据求均值得出新质心)
  • 4.重复2、3,直到收敛
    • 达到迭代上限
    • 前后两次迭代中,质心保持不变

2.主成分分析(PCA)

定义
主成分分析(PCA)即通过分析找到数据特征的主要成分,使用这些主要成分来替代原始数据。思想是将d维特征数据映射到l维空间(d>>l)。

  • 可以加深对数据本身的理解(认识到主要成分)
  • 同时简化后的数据在用于下游的其他任务时,有着噪声少、易于处理的优势。
  • 体现了“奥卡姆剃刀原则”、“简单有效原理”

要求
主成分分析要求最大限度保持高维数据的总体方差结构

算法步骤

QQ截图20231218132507

其中 X 是原始数据矩阵, Y=XW 是降维后的结果矩阵

3.特征人脸方法

定义
提取人脸图像的面部信息,简化表现原始面部图像,减少计算复杂度。
使用主成分分析的方法表示特征人脸,本质是用一组特征向量的线性组合来表示原始人脸,进而进行识别。

特征向量的生成方式
对于一张灰度人脸图像,其分辨率为 \(d*d\) ,那么人脸图像可以在计算机中表示为一个 \(d*d\) 的像素矩阵,将该矩阵铺平(转化成列向量)则可以得到 \(d^2\) 维的列向量。则对于有 n 张灰度人脸图像的集合,可以得到由列向量构成的矩阵。
事实上,由于人脸具有一定的拓扑结构,像素点之间有较强的空间位置关系,也就是说,可以用一个低维向量来表达原始图像的大部分信息。则可使用PCA来实现降维。为简化求解特征向量的过程,可以使用奇异值分解来实现主成分分析。