机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

时间:2024-03-15 08:08:54

1、无监督学习(Unsupervised Learning)

1.1、定义

利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习。

1.2、两大任务

  • 聚类(clustering)
  • 降维(Dimension Reduction)

1.3、聚类(clustering)

1.3.1、定义

聚类,就是根据数据的“相似性”将数据分为多类的过程。估算两个不同样本之间的相似性,通 常使用的方法就是计算两个样本之间的“距离”,最常用的就是欧式距离,此外还有马氏距离,曼哈顿距离,余弦距离等。

1.3.2、DBSCAN聚类算法

DBSCAN:它可以发现使用K均值不能发现的许多簇,单不适合密度变化太大的数据,而且对于高维数据,该方法也有问题,因为密度定义比较困难,DBSCAN是少数不需要指定聚类数目的算法之一。

1.3.2.1、DBSCAN算法是一种基于密度的聚类算法:
  • 聚类的时候不需要预先指定簇的个数
  • 最终的簇的个数不定
1.3.2.2、DBSCAN算法将数据点分为三类:
  • 核心点:在半径Eps内含有超过MinPts数目的点
  • 边界点:在半径Eps内点的数量小于MinPts,但是落在核心点的邻域内
  • 噪音点:既不是核心点也不是边界点的点
1.3.2.3、DBSCAN算法流程:
  1. 将所有点标记为核心点、边界点或噪声点;
  2. 删除噪声点;
  3. 为距离在Eps之内的所有核心点之间赋予一条边;
  4. 每组连通的核心点形成一个簇;
  5. 将每个边界点指派到一个与之关联的核心点的簇中(哪一个核心点的半径范围之内)。

    机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

1.3.3、K-means聚类算法

1.3.3.1、介绍

k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。对簇中心的初始化比较敏感。

1.3.3.2、处理过程如下:
  1. 随机选择k个点作为初始的聚类中心;
  2. 对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇
  3. 对每个簇,计算所有点的均值作为新的聚类中心
  4. 重复2、3直到聚类中心不再发生改变

    机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

1.4、降维(Dimension Reduction)

1.4.1、定义

降维,就是在保证数据所具有的代表性特性或者分布的情况下,将高维数据转化为低维数据的过程。

1.4.2、目的

  • 数据可视化
  • 精简数据,为其他任务作数据准备。

1.4.3、主成分分析(Principal Component Analysis,PCA)

1.4.3.1、介绍
  • 主成分分析(Principal Component Analysis,PCA)是最常用的一种降维方法,通常用于高维数据集的探索与可视化,还可以用作数据压缩和预处理等。
  • PCA可以把具有相关性的高维变量合成为线性无关的低维变量,称为主成分。 主成分能够尽可能保留原始数据的信息。
1.4.3.2、鸢尾花数据4维到2维


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

1.4.4、非负矩阵分解(Non-negative Matrix Factorization ,NMF)

1.4.4.1、介绍
  • 非负矩阵分解(Non-negative Matrix Factorization ,NMF)是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。
  • 基本思想:给定一个非负矩阵V,NMF能够找到一个非负矩阵W和一个非负矩阵H,使得矩阵W和H的乘积近似等于矩阵V中的值。

    机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

    机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

2、 监督学习(Supervised Learning)

2.1、定义

利用一组带有标签的数据,学习从输入到输出的映射,然后将这种映射关系应用到未知数据上,达到分类或回归的目的。

2.2、两大任务

  • 分类:当输出是离散的,学习任务为分类任务。
  • 回归:当输出是连续的,学习任务为回归任务。

2.3、分类学习

2.3.1、评价标准

假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,分类算法查找出50个,其中只有40个是真正的正样本,TP: 将正类预测为正类数40;FN: 将正类预测为负类数20;FP: 将负类预测为正类数10;TN: 将负类预测为负类数30

准确率(accuracy)=将正的判定为正,负的判定为负= (TP+TN)/(TP+FN+FP+TN) = 70%
精确率(precision)=正例中真正的正例样本的比重=TP/(TP/FP)= 80%
召回率(recall)=被正确判定的正例占总的正例的比重=TP/(TP+FN)= 66.7%

2.3.2、K近邻分类器(KNN)

通过计算待分类数据点,与已有数据集中的所有数据点的距离。取距离最小的前K个点,根据“少数服从多数“的原则,将这个数据点划分为出现次数最多的那个类别。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍
一般情况下,K 会倾向选取较小的值,并使用交叉验证法选取最优K 值。

2.3.3、决策树

决策树是一种树形结构的分类器,通过顺序询问分类点的属性决定分类点最终的类别。

通常根据特征的信息增益或其他指标,构建一颗决策树。
在分类时,只需要按照决策树中的结点依次进行判断,即可得到样本所属类别。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍
例如,根据右图这个构造好的分类决策树,一个无房产,单身,年收入55K的人的会被归入无法偿还信用卡这个类别。

2.3.4、朴素贝叶斯

朴素贝叶斯分类器是一个以贝叶斯定理为基础的多分类的分类器。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍
对于给定数据,首先基于特征的条件独立性假设,学习输入输出的联合概率分布,然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

朴素贝叶斯一般在小规模数据上的表现很好,适合进行多分类任务。

2.3.5、分类算法的应用

  • 金融:贷款是否批准进行评估
  • 医疗诊断:判断一个肿瘤是恶性还是良性
  • 欺诈检测:判断一笔银行的交易是否涉嫌欺诈
  • 网页分类:判断网页的所属类别,财经或者是娱乐?

2.3.6、Sklearn提供的分类函数包括:

  • k近邻(knn)
  • 朴素贝叶斯(naivebayes),
  • 支持向量机(svm),
  • 决策树(decision tree)
  • 神经网络模型(Neural networks)等
  • 这其中有线性分类器,也有非线性分类器。

2.3.7、交叉验证

交叉验证法先将数据集D划分为k个大小相似的互斥子集,每个自己都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这个k个测试结果的均值。通常把交叉验证法称为“k者交叉验证”, k最常用的取值是10,此时称为10折交叉验证。

2.4、回归分析

2.4.1、介绍

回归:统计学分析数据的方法,目的在于了解两个或多个变数间是否相关、研究其相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变数。回归分析可以帮助人们了解在自变量变化时因变量的变化量。一般来说,通过回归分析我们可以由给出的自变量估计因变量的条件期望。

2.4.2、线性回归

线性回归利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模。这种函数是一个或多个称为回归系数的模型参数的线性组合。
只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
传统的基于最小二乘的线性回归法缺乏稳定性。

2.3.3、多项式回归(Polynomial Regression)

多项式回归(Polynomial Regression)是研究一个因变量与一个或多个自变量间多项式的回归分析方法。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。
一元m次多项式回归方程为:


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

二元二次多项式回归方程为:


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

2.3.4、岭回归

岭回归(ridge regression)是一种专用于共线性数据分析的有偏估计回归方法
是一种改良的最小二乘估计法,对某些数据的拟合要强于最小二乘法。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

2.4.5、回归应用

  • 股票趋势预测
  • 交通流量预测

3、强化学习(Reinforcement Learning,增强学习)

3.1、定义

强化学习就是程序或智能体(agent)通过与环境不断地进行交互学习一个从环境到动作的映射,学习的目标就是使累计回报最大化。
强化学习是一种试错学习,因其在各种状态(环境)下需要尽量尝试所有可以选择的动作,通过环境给出的反馈(即奖励)来判断动作的优劣,最终获得环境和最优动作的映射关系(即策略)。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

3.2、马尔可夫决策过程(Markov DecisionProcess、MDP)

智能体agent根据当前对环境的观察采取动作获得环境的反馈,并使环境发生改变的循环过程。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍

3.3、Q-learning算法

3.4.1、蒙特卡洛强化学习

  • 在现实的强化学习任务中,环境的转移概率、奖励函数往往很难得知,甚至很难得知环境中有多少状态。若学习算法不再依赖于环境建模,则称为免模型学习,蒙特卡洛强化学习就是其中的一种。
  • 蒙特卡洛强化学习使用多次采样,然后求取平均累计奖赏作为期望累计奖赏的近似。
  • 蒙特卡洛强化学习算法需要采样一个完整的轨迹来更新值函数,效率较低,此外该算法没有充分利用强化学习任务的序贯决策结构。

3.4.2、Q-learning算法

Q-learning算法结合了动态规划与蒙特卡洛方法的思想,使得学习更加高效。

3.4、深度强化学习(DRL)

传统强化学习:真实环境中的状态数目过多,求解困难。
深度强化学习:将深度学习和强化学习结合在一起,通过深度神经网络直接学习环境(或观 察)与状态动作值函数Q(s,a)之间的映射关系,简化问题的求解。

3.4.1、Deep Q Network(DQN)

Deep Q Network(DQN):是将神经网络(neural network) 和Q-learning结合,利用神经网络近似模拟函数Q(s,a),输入是问题的状态(e.g.,图形),输出是每个动作a对应的Q值,然后依据Q值大小选择对应状态执行的动作,以完成控制。


机器学习入门—无监督学习、监督学习、强化学习概念及算法介绍