机器学习与数据挖掘

写在前面,本文主要以李航老师的《统计学习方法》内容为主,穿插数据挖掘知识,持续更新ing!

总结比较

1.1机器学习和数据挖掘的关系

  1. 机器学习是数据挖掘的重要工具。
  2. 数据挖掘不仅仅要研究、拓展、应用一些机器学习方法,还要通过许多非机器学习技术解决数据仓储、大规模数据、数据噪音等等更为实际的问题。
  3. 机器学习的涉及面更宽,常用在数据挖掘上的方法通常只是“从数据学习”,然则机器学习不仅仅可以用在数据挖掘上,一些机器学习的子领域甚至与数据挖掘关系不大,例如增强学习与自动控制等等。
  4. 数据挖掘试图从海量数据中找出有用的知识。
  5. 大体上看,数据挖掘可以视为机器学习和数据库的交叉,它主要利用机器学习界提供的技术来分析海量数据,利用数据库界提供的技术来管理海量数据。

1.2 机器学习=统计学习

      机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论

2. 机器学习方法概论

知识图谱
在这里插入图片描述

2.1 机器学习方法的分类

      一般意义上分为:监督学习,半监督学习,非监督学习和强化学习

2.1.1 监督学习

      监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测(注意,这里的输入、输出是指某个系统的输入与输出,与学习的输入与输出不同)

在这里插入图片描述
联合概率分布

  • 假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y),P(X,Y)为分布函数或分布密度函数.
    对于学习系统来说,联合概率分布是未知的,训练数据和测试数据被看作是依联合概率分布P(X,Y)独立同分布产生的。-

假设空间

  • 监督学习目的是学习一个由输入到输出的映射,称为模型
  • 模式的集合就是假设空间(hypothesis space)
  • 概率模型:条件概率分布P(Y|X), 决策函数:Y=f(X)

问题的形式化
在这里插入图片描述

在这里插入图片描述
监督学习问题主要有:分类问题、标注问题、回归问题等。

2.1.2 无监督学习

在这里插入图片描述

2.1.3 半监督学习

  • 少量标注数据,大量未标注数据
  • 利用未标注数据的信息,辅助标注数据,进行监督学习
  • 较低成本

2.1.4 强化学习

(待补充ing)

2.1.5 其他分类

  1. 按照算法可以分为:在线学习(online learning)和批量学习(batch learning)
  2. 按照技巧可以分为:贝叶斯学习(Bayesian learning)和核方法(Kernel method )

2.2 机器学习三要素

方法 = 模型+策略+算法

  1. 模型
          统计学习首要考虑的问题是学习什么样的模型。在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。选啥模型,简单理解就是选择什么样的函数,比方说感知机用的就是 f(x) = sign(ω*x + b),knn用的是求取欧式度量,进而建立树来回溯。

  2. 策略:
          简单来说,就是建立模型的时候,怎么表示我预测的和真实的之间的误差大小。包括损失函数(度量模型一次预测的好坏)和风险函数/期望损失(平均意义下模型预测的好坏)

在这里插入图片描述

  • 经验风险最小化(ERM)
    在这里插入图片描述适用于大样本量,比如,极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子。当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。当样本容量很小时,经验风险最小化学习的效果未必很好,会产生“过拟合over-fitting”

  • 结构风险最小化(structural risk minimization,SRM)

    是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。
    在这里插入图片描述
    这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题

3 算法:
      存在的作用就是用来求出,什么时候(模型参数为多少时)给的策略给的损失最小。对应上面说的0-1损失函数,那就是求出啥时候0最少,1最多。

  • 如果最优化问题有显式的解析式,算法比较简单
  • 但通常解析式不存在,就需要数值计算的方法

2.3 模型评估与模型选择

训练误差: 训练数据集的平均误差

测试误差: 测试数据集的平均误差。测试误差小的具有更好的预测能力,将方法对于未知数据的预测能力称作是泛化能力。

2.3.1 模型评估指标 (分类、回归、聚类和排序指标)

1、分类问题
      在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。
在这里插入图片描述
许多统计学习方法可以用于分类,包括k近邻法、感知机、朴素贝叶斯法、决策树、决策列表、逻辑斯谛回归模型、支持向量机、提升方法、贝叶斯网络、神经网络、Winnow等。

标注问题:
      可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction)问题的简单形式。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。
      标注常用的统计学习方法有:隐马尔可夫模型、条件随机场。标注问题在信息抽取、自然语言处理等领域被广泛应用,是这些领域的基本问题.

  • 1 精确率和召回率
    在这里插入图片描述

精准率(precision)的定义:“预测为正例的那些数据里预测正确的数据个数”。
在这里插入图片描述

召回率(recall):所有正样本中,预测正确比例。
在这里插入图片描述

理论上二者越高越好,但实际中在某些情况下是矛盾的,因此需要在不同场合具体判断。

P-R曲线:以召回率R为横轴,P为纵轴,P-R曲线越靠近右上角越好。计算曲线面积AP分数可以比较不同模型的精度,但是不方便计算,后面设计了一些指标。

在这里插入图片描述
F1:是精确率和召回率的调和平均值。在这里插入图片描述
F值可以泛化为加权调和
在这里插入图片描述

  • 2 准确率
    在这里插入图片描述

  • 3 ROC和AUC
          许多模型输出的是预测概率,需要设置一个判定阈值,当预测概率大于阈值时,判定为正预测,否则为负预测。因此需要引入一个超参数,并且超参数会影响的模型的泛化能力
    接收者操作特征(receiverOperating Characteristic,ROC)
    在这里插入图片描述在这里插入图片描述
          ROC曲线与P-R曲线有些类似。ROC曲线越靠近左上角性能越好。左上角坐标为(0.1),即 FPR=0,TPR=1。根据FPR和TPR公式可以得知,此时FN=0,FP=0模型对所有样本分类正确。
    绘制ROC曲线:
          首先对所有样本按预测概率排序,以每条样本的预测概率为阈值,计算对应的FPR和TPR,然后用线段连接。当数据量少时,绘制的ROC曲线不平滑;当数据量大时,绘制的ROC曲线会趋于平滑。

    • AUC
            就是ROC曲线的面积,取值越大说明模型越有可能将正样本排在负样本前面。AUC=随机挑选一个正样本和负样本,分类器将正样本排在负样本前面的概率。AUC常常被用来作为模型排序好坏的指标,原因在于AUC可以看做随机从正负样本中选取一对正负样本,其中正样本的得分大于负样本的概率。所以,AUC常用在排序场景的模型评估,比如搜索和推荐等场景。

      基尼指数的联系:Gini +1= 2*AUC

      计算方法:
      在这里插入图片描述

  • 4 对数损失
    在这里插入图片描述

2、回归问题(regression)
      回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,回归模型正是表示从输入变量到输出变量之间映射的函数。

  • 1 平均绝对误差
    在这里插入图片描述

  • 2 平均绝对百分误差
    在这里插入图片描述

  • 3 均方误差
          均方误差(MSE)是最常用的回归损失函数。MSE是目标变量与预测值之间距离平方之和。
    在这里插入图片描述

  • 4 均方根误差
    在这里插入图片描述

3、排序指标

  • 1 平均准确率均值
    在这里插入图片描述
  • 2 NDCG,归一化贴现累计收益
    在这里插入图片描述

2.3.2 过拟合

过拟合Def:
      一味的追求提高模型对训练数据的预测结果,所选模型的复杂度可能会更高,由此出现了对训练数据拟合效果很好,但对于未知的数据效果不一定好的现象,就称为过拟合。
在这里插入图片描述
过拟合的解决方法:

  • 正则化
  • 减少特征数量
  • 交叉验证
  • 增加数据

2.3.3 正则化(模型选择方法)

可以看这里:L1,L2正则化详解

1、结构风险 = 经验风险+正则化项,下面是结构风险最小化模型
在这里插入图片描述
      正则化项r(d)可以采用数学里面的范数表示,以下是范数的概念。

  • L0范数
    在这里插入图片描述
  • L1范数
    在这里插入图片描述
  • L2范数
    在这里插入图片描述

2、 一般采用L1和L2范数进行正则,称为L1正则化和L2正则化

在这里插入图片描述在这里插入图片描述

question:怎样才可以避免过拟合?
answer:

  我们一般认为参数数值小的可以适用于更一般的模型,因为参数数值大的话,稍微一点数值干扰就会对结果造成很大的偏差,因此。参数越小的模型,就越简单。所以尽可能使得模型的参数降低。

question:为什么L1范数和L2范数可以避免过拟合?
answer:

      加入正则化项就是在原来目标函数的基础上加入了约束。当目标函数的等高线和L1,L2范数函数第一次相交时,得到最优解

L1范数:

      L1范数符合拉普拉斯分布,是不完全可微的。表现在图像上会有很多角出现。这些角和目标函数的接触机会远大于其他部分。就会造成最优值出现在坐标轴上,因此就会导致某一维的权重为0,产生稀疏权重矩阵,进而防止过拟合。

L2范数:

      L2范数符合高斯分布,是完全可微的。和L1相比,图像上的棱角被圆滑了很多。一般最优值不会在坐标轴上出现。在最小化正则项时,可以是参数不断趋向于0.最后活的很小的参数。

2.3.4 交叉验证(模型选择方法)

      如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set)

  • 训练集用来训练模型
  • 验证集用于模型的选择
  • 测试集用于最终对学习方法的评估

      但是,在许多实际应用中数据是不充足的。为了选择好的模型,可以采用交叉验证方法。交叉验证的基本想法是重复地使用数据;把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。

  • 1 简单交叉验证
    在这里插入图片描述

  • 2 S折交叉验证(应用最多)
    在这里插入图片描述

  • 3 留一交叉验证(当S=N)
    在这里插入图片描述

2.4 泛化能力

1 定义

学习方法的泛化能力(generalizationability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。

现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力.事实上,泛化误差就是所学习到的模型的期望风险。

在这里插入图片描述
      但这种评价是依赖于测试数据集的。因为测试数据集是有限的,很有可能由此得到的评价结果是不可靠的。统计学习理论试图从理论上对学习方法的泛化能力进行分析。

2 泛化误差上界
      学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界(generalization error bound)。具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。

特性:

  • 它是样本容量的函数,当样本容量增加时,泛化上界趋于0,效果越好。
  • 它是假设空间容量(capacity)的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。

      下面给出一个简单的泛化误差上界的例子:二类分类问题的泛化误差上界。
考虑二类分类问题。已知训练数据集T={(x1,y 1),(x2,y 2),…,(xN,yN)},它是从联合概率分布P(X,Y)独立同分布产生的,X∊Rn,Y∊{-1,+1}。假设空间是函数的有限集合={f1,f2,…,fd},d是函数个数。设f是从 中选取的函数。损失函数是0-1损失。关于f的期望风险和经验风险分别是:
在这里插入图片描述
在这里插入图片描述
经验风险最小化(ERM)
在这里插入图片描述

则FN的泛化能力:
在这里插入图片描述

泛化误差上界定理

      对于二分类问题,假设空间是有限个函数的集合,对于任何一个函数,至少以1-delta的概率成立以下不等式:
在这里插入图片描述
      其中:
在这里插入图片描述

2.5 生成模型和判别模型

  1. 监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出。这个模型的一般形式为决策函数:Y=f(X)或者条件概率分布:P(Y|X)
  2. 监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别称为生成模型(generative model)和判别模型(discriminative model)

2.5.1 生成模型

      生成方法根据数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测模型。典型的生成模型有朴素贝叶斯和隐马尔科夫模型
在这里插入图片描述

2.5.2 判别模型

      判别方法是直接学习决策函数F(x)或者条件概率分布P(Y|X) 作为预测的模型,即判别模型。主要关心对于给定的输出,应该预测怎样的输出问题。典型的判别模型有KNN,感知机,决策树,逻辑回归,最大熵模型,SVM,提升方法和条件随机场等等。

2.5.3 生成模型和判别模型比较

  1. 生成方法的特点:
    • 生成方法可以还原出联合概率分布P(X,Y),而判别方法则不能;
    • 生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;
    • 当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用。
  2. 判别方法的特点:
    • 判别方法直接学习条件概率P(Y|X)或决策函数f(X),直接面对预测,往往学习的准确率更高;
    • 由于直接学习P(Y|X)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。

3 感知机(Perception)

  • 感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础。
  • 感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和–1二值。
  • 感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型
  • 导入基于误分类的损失函数;
  • 利用梯度下降法对损失函数进行极小化。
  • 具有简单而易于实现的优点,分为原始形式和对偶形式。

3.1 感知机模型

在这里插入图片描述

3.2 感知机模型的几何解释

在这里插入图片描述

3.3 感知机模型的损失函数

在这里插入图片描述

3.4 感知机模型的对偶形式

在这里插入图片描述

在这里插入图片描述

4 K近邻法(k-nearest neighbor,k-NN)

4.1 K近邻定义

1、一句话定义
      给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。

2、三要素:距离度量,k值的选取,分类决策规则的选取。

  1. 距离度量一般采用欧氏距离,也可以是其他距离(Lp距离)
  2. k值选取将会对结果产生巨大的影响。如果k值较小,整体模型变的复杂,容易发生过拟合;如果k值过大,不相关的点也对预测产生影响,导致预测精度较低。一般可以采用交叉验证进行k值得选取。
  3. 分类决策规则:往往是多数表决。

4.2 k近邻的实现-kd树

      实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索。这点在特征空间的维数大及训练数据容量大时尤其必要。最简单是的就是线性扫描,但对于高维数据不可取,因此采用特殊的存储结构kd树进行搜索。

4.2.1 k

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Weiyaner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值