李航 统计学习方法-机器学习前十章三要素

方法=模型+策略+算法

本学期我们主要学习了感知机,K近邻,朴素贝叶斯法

决策树,logistic回归和最大熵模型,支持向量机,Boosting算法

EM算法,以及唯一的聚类:k-means

模型是指对学习问题的抽象,建立了输入和输出之间的关系,

策略是指学习的目标或者准则,常用的有损失函数和风险函数,用于比较模型之间的差异和泛化性能

算法是指实现学习过程的具体方法,它定义了学习的步骤和更新规则

一、感知机

  1. 模型(Model):

    • 感知机的模型是一个线性分类器,用于将输入空间划分为两个不同的区域,分别对应两个不同的类别。数学上,感知机模型可以表示为:
      f(x)=sign(wx+b)
      其中,x 是输入向量,w 是权重向量,b 是偏置,sign 是符号函数,输出为+1或-1,对应不同的分类。
  2. 策略(学习准则)(Strategy):

    • 感知机的学习目标是找到一个超平面,能够将训练数据正确分类。为了实现这一目标,需要定义一个损失函数。对于感知机,常用的损失函数是误分类点到超平面的距离。损失函数可以表示为:
      L(w,b)=−∑i=1 N yi(wxi+b)
      其中,N 是样本数,(xi,yi) 是输入样本和对应的类别标签,sign(⋅) 函数可以将 wxi+b 的符号转换为+1或-1。
  3. 算法(Algorithm):

    • 感知机学习算法采用的是随机梯度下降法(Stochastic Gradient Descent,SGD)。具体步骤如下:

      • 初始化权重 w 和偏置 b;
      • 随机选择一个误分类点 (xi,yi);
      • 更新权重和偏置:w=w+ηyixi,b=b+ηyi,其中η 是学习率,用于控制每次更新的步长;
      • 重复上述步骤,直到所有样本都被正确分类或达到预定的迭代次数。

二、K近邻

1.模型(model)

k近邻是一种基于实例的学习方法,没有显式的模型。它通过保存训练数据集中的所有样本数据,在进行预测的时候,通过比较新样本与训练集中的样本的相似度,找到离新样本最近的K哥邻居,然后通过这K个邻居的类别多数表决来确定新样本的类别。本质是一个基于实例的分类器

2.策略(学习准则,strategy)

KNN的学习策略包括选择合适的距离度量方式和确定邻居的数量K,常用的距离度量方式包括欧氏距离和曼哈顿距离,闵可夫斯基距离等。选择适当的K值涉及到对模型的偏差和方差的权衡,较小的K值对噪声更敏感,较大的K值可能是决策面过于平滑

3.算法(algorithm)

  • 计算新样本与训练集中所有样本的距离
  • 选择离新样本最近的K个邻居
  • 统计这K个邻居中每个类别的出现次数
  • 将新样本分为出现次数最多的类别

KNN是一种无参数学习算法,具有较好的灵活性和简单性。然而,在处理大规模数据时,计算距离的开销会较大,且KNN对特征的尺度非常敏感。此外,KNN在高维空间中的效果通常较差,这是维数灾难的一个表现。

三、朴素贝叶斯法

1.模型(model)

朴素贝叶斯法是一种基于贝叶斯定理的概率统计分类方法。该方法基于特征之间的条件独立性假设

(朴素贝叶斯假设),即给定类别,特征之间是相互独立的。这一假设简化了模型的计算,但在实际问题中,很少有特征是完全独立的,尽管如此,朴素贝叶斯法在实际应用中仍然表现出色。

2.策略(学习准则,strategy)

朴素贝叶斯法的学习策略是基于贝叶斯定理和最大后验概率定理。给定一个样本,朴素贝叶斯法通过计算在该样本下每个类别的后验概率,然后选择具有最大后验概率的类别作为样本的分类,具体而言,对于类别和特征向量x,其后验概率公式为:

P(Ck∣x)=P(x∣Ck)⋅P(Ck)/P(x)

其中,P(x∣Ck)是类别下特征向量x的条件概率,P(Ck)是类别的先验概率,P(x)是特征向量x的边际概率。由于分母在比较不同类别的时候是相同的,因此可以省略,只比较分子的大小

3.算法(algorithm)

朴素贝叶斯的算法主要包括计算先验概率P()和条件概率P(x∣Ck)。

  • 计算每个类别的先验概率:P()=
  • 计算每个特征在各个类别下的条件概率P(xi∣Ck)=
  • 对于给定的样本,计算每个类别的后验概率,选择具有最大后验概率的类别作为样本的分类

朴素贝叶斯法在文本分类、垃圾邮件过滤等领域取得了良好的效果,尤其在高维度特征的情况下表现突出。虽然其朴素贝叶斯假设在某些情况下可能不成立,但在实际应用中,它仍然是一个简单而有效的分类算法。
​​

四、决策树

1.模型(model)

决策树是一种基于树状结构的分类和回归模型。在决策树中,每个内部节点表示一个特征或属性的判断,每个分支代表一个判断结果的输出,而每个叶节点表示一个类别标签或回归结果。通过从根节点到叶节点的路径,可以对新样本进行分类或回归

2.策略(学习准则,strategy)

决策树的学习策略是递归地将数据集划分为子集,直到满足某个停止条件,在每个节点上,选择最优的特征进行划分,以最大化信息增益(或最小化不纯度)作为判断标准。信息增益反映了使用某个特征对数据进行划分后能够获得的纯度提升程度。决策树的目标是构建一个具有良好泛化性能的树,能够对未见样本进行准确的分类或回归。

3.算法(algorithm)

决策树的算法包括ID3(信息增益)

C4.5(信息增益比)

CART生成算法

 

五、Logistic回归与最大熵模型

Logistic回归

1.模型(model)

logistic回归是一种用于解决二分类问题的线性模型,采用sigmoid函数将线性组合的特征映射到[0,1]的范围,表示样本属于正类的概率,logistic回归模型可以表示为

或者表示为

其中P(y=1|x)表示样本属于正类的概率,w是权重向量,x是特征向量,b是偏置项

2.策略(学习准则,strategy)

logistic回归的学习策略通常采用最大似然估计,通过最大化似然函数,可以得到最优的权重和偏置参数,使的观测样本属于正类和负类的概率分布与模型预测的概率分布最为接近

3.算法(algorithm)

logistic回归的参数优化通常使用梯度下降或其变种进行,目标是最大化似然函数。梯度下降法的步骤包括计算损失函数关于参数的梯度,然后沿着梯度的反方向更新参数。正则化项可以用于防过拟合

最大熵模型

1.模型(model)

最大熵模型是一种概率模型,用于解决分类问题,最大熵模型通过最大熵原理选择概率分布,即在满足约束条件的情况下,选择熵最大的模型,它是更一般的模型,包含了logistic回归为其特例

2.策略(strategy)

最大熵模型的学习策略是通过最大化联合分布的熵,找到满足约束条件的最优模型,在分类问题中,约束条件通常是一些期望值(特征的期望)的观测值。学习的目标是找到满足这些约束条件的概率分布,使得熵最大

学习策略

3.算法(algorithm)

最大熵模型的参数学习通常采用迭代的优化算法,如改进的迭代尺度法(IIS)或梯度下降法,

改进的迭代尺度法
例题:

  • 请使用Logistic回归模型实现对鸢尾花的分类。要求输出分类的精准度(Precision)、召回率(Recall)。
  • 写出Logistic回归模型学习的梯度下降算法

六、支持向量机

1.模型(model)

支持向量机是一种监督学习方法,用于解决分类问题,基本思想是通过在特征空间中找到一个最优的超平面,使得不同类别的样本能够被分隔开。

2.策略(strategy)

SVM的学习策略是通过最大化分类边界来选择最优超平面,间隔是指两个不同类别最靠近的样本点到超平面的距离,SVM的目标是最大化这个间隔,同时的SVM还引入了软间隔和和函数的概念,以处理数据集中存在噪声或者线性不可分的情况

最大间隔法

例题

3.算法(algorithm)

SVM的优化问题通常可以通过凸优化方法求解,对于线性可分的情况,可以使用hard margin 支持向量机,而对于线性不可分或者存在噪声的情况,我们采用软间隔支持向量机。核函数用于将非线性问题映射到高维空间中,使得原本线性不可分的问题在新的空间中变得线性可分

学习算法的目标是求解参数和超平面,使得损失函数最小化。常用的优化方法包括序列最小优化算法(smo算法)等,在实际应用中,常用的核函数有线性核、多项式核、径向基核(RBF核)

例题
例题:

  • 教材7.1,要求写出求解w1,w2和b的详细过程 。
  • 教材7.2,训练数据与上题相同,试用算法7.2求线性可分支持向量机。

七、Boosting算法

Boosting算法是一种集成算法

提升方法

通过结合多个弱分类器提高整体模型的性能。Boosting算法通过迭代训练,调整每个弱分类器的权重,使得模型在训练过程中更加关注之前被错误分类的样本,这样,每个新的弱分类器都专注于弥补前一轮中模型的不足之处,这里我们拿书上的AdaBoosting举例

1.模型(model)

AdaBoosting通过迭代构建一系列弱分类器,每个弱分类器都对样本进行加权,使得之前被错误分类的样本得到更多关注

2.策略(strategy)

AdaBoosting的学习策略是通过加权投票的方式,结合多个弱分类器的决策,使得模型在整体上更加准确。在每一轮迭代中,AdaBoosting关注之前分类错误的样本,提高其权重,以便下一轮分类器更关注这些难以分类的样本。

3.算法(algorithm)

  • 初始化样本权重

  • 迭代训练弱分类器,每次根据权重调整样本,得到弱分类器的输出,并计算其权重

  • 更新样本权重,增加之前被错误分类的样本的权重

  • 组合所有弱分类器的输出,得到最终的强分类器

    例题
    ​​

八、EM算法

EM算法是一种迭代优化算法,用于求解包含潜在变量(hidden variable)(或未观测数据)的概率模型参数的最大似然估计。它被广泛应用于聚类、混合模型等统计学问题。

1.模型model

EM算法适用于包含潜在变量的概率模型,通常,我们假设观测数据是通过概率分布生成的,但是其中包含一些未观测的变量。EM算法的目标是通过最大化似然函数,估计模型参数

2.strategy

EM算法采用迭代的策略,每次迭代分为两步E(expectation)和M步(Maximization)

  • E步:计算潜在变量的期望值,即在给定当前模型参数下,未观测数据的概率分布
  • M步:基于E步的结果,通过最大化完整数据(包括观测数据和未观测数据)的对数似然函数,更新模型参数。

3.algorithm

初始化模型参数

重复进行E步和M步,直到收敛或到达预定的迭代次数:

  • E步:计算在当前参数下未观测数据的条件概率
  • M步:最大化完整数据的对数似然函数,更新模型参数

EM算法的核心思想是通过迭代优化,在每次迭代中通过E步获得未观测数据的概率分布,再通过M步更新模型参数,这两个步骤交替进行直到收敛

例题
​​

九、K-Means(K均值聚类、cluster)

1.model

K均值聚类是一种常用的无监督学习算法,用于将数据集划为K个不相交的簇。每个簇由其质心(簇内数据点的平均值)来表示

2.strategy

K均值聚类的学习策略是最小化数据点到其所属簇质心的平方距离之和,也即最小化簇内的方差,该策略体现了一种紧凑型和簇内相似性的度量。

3.algorithm

K均值聚类的基本算法:

initialization:选择K哥初始质心,可以是随机选择

distribution:对每个数据点,将其分配到离他最近的质心所属的簇

update:对每个簇,计算其新的质心,即簇内所有数据点的平均值

iterative:重复执行分配和更新步骤,直到质心不再改变或者达到预定的迭代次数

例题
例题:

  • 请总结k-means算法的特性(参考答案:kmeans算法是基于距离的聚类算法,而距离或者相似度的度量有很多方式,该算法通过计算数据点之间的距离来将数据点划分为不同的簇 具有超参:聚类数k,同时,该算法的初始聚类中心一般是随机生成,并且存在不是数据点的聚类中心的可能 迭代过程主要包括将数据点分配到最近的聚类中心和更新聚类中心 直到中心不再显著变化或者达到max_itreation kmeans面向数值类连续类特征,对类别特征(逻辑回归可解决)的数据需要更多操作, 特征的权重需要注意,可以通过对不同特征添加不同的权值来显示其重要程度便于聚类)
  • 请参考实验课提供的代码“kmeans_py.py”,将2个特征替换为4个特征,输出聚类的结果,并与真实的分类结果对比。写出结论,你有什么发现?

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值