Category Archives: 《统计学习方法》

朴素贝叶斯法系列1:学习与分类

《统计学习方法》 第4章 朴素贝叶斯法

朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法(朴素贝叶斯法与贝叶斯估计(Bayesian estimation)是不同的概念)。过程描述:

  • 对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;
  • 然后基于此模型,对给定的输入 $x$ ,利用贝叶斯定理求出后验概率最大的输出 $y$ 。

朴素贝叶斯方法实现简单,学习与预测的效率都很高,是一种常用的方法。本章叙述朴素贝叶斯法,包括朴素贝叶斯的学习与分类、朴素贝叶斯法的参数估计算法。

 
Continue reading

【未完待续】k近邻法系列2:kd树的构造、搜索与 Python 实现

实现 k 近邻法时,主要考虑的问题是如何对训练数据集进行快速 k 近邻搜索,这点在特征空间的维数较大及训练数据容量大是有其必要。

k 近邻法最简单的实现方法是线性扫描(linear scan),这时要计算输入实例与每一个训练实例的距离,当训练集很大时计算非常耗时,这种方法是不可行的。

为了提高 k 近邻搜索的效率,可以考虑使用特殊的结构存储训练数据以减少计算距离的次数,具体方法很多,下面介绍其中的 kd 树方法( kd 树是存储 k 维空间数据的树结构,这里的 k 与 k 近邻法的 k 意义不同)。

 
Continue reading

k近邻法系列1:k近邻算法、模型与 Python 实现

《统计学习方法》 第 3 章 k近邻法学习笔记摘录及算法实现

k 近邻法( k-nearest neighbor, k-NN )是一种基本分类与回归方法, k 近邻的输入为实例的特征向量,对应于空间中的点,输出为实例的类别,可以取多类。k 近邻法假设给定一个训练数据集,其中的实例类别已经确定,分类时对新的实例,根据其 k 个最近邻的训练实例的类别,通过多数表决等方式进行预测。

因此, k 近邻法不具有显式的学习过程, k 近邻法实际上利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”,k值的选择、距离度量以及分类决策规则是 k 近邻法的三个基本要素, k 近邻法 1968 年由 Cover 和 Hart 提出。

本章内容首先叙述 k 近邻算法,然后讨论 k 近邻法的模型三个基本要素(距离度量、k值选择、分类决策规则),这是本系列1的内容,在系列2中将会讲述 k 近邻法的一个实现—— kd树,介绍构造 kd 树和搜索 kd 树的算法。

 
Continue reading

感知机系列2:感知机学习算法及其 Python 实现

感知机学习问题转化为求解损失函数式 $L(w,b) = -\sum_{x_i \in M } y_i(w \cdot x_i + b)$ 的最优化问题,最优化的方法是随机梯度下降法。本节叙述感知机的具体算法。包括原始形式和对偶形式,并证明在训练数据线性可分条件下感知机学习算法的收敛性。

最重要的是由于内容完全抄录《统计学习方法》,自己使用 Python 实现了感知机算法的原始形式和对偶形式。

 
Continue reading

感知机系列1:感知机模型和学习策略

学习《统计学习方法》中第二章 感知机学习笔记。更多的是摘抄,基于例子对算法的实现等。

感知机(感知器, perceptron )是二分类的线性模型,输入为样本(实例)的特征向量,输出为样本类别( $-1$ 或 $+1$ )。由于其会对输入空间(特征空间)中将实例划分为正负两类的分离超平面,故属于判别模型

感知机学习的过程是求出训练数据进行线性划分的分离超平面,做法是通过基于错分类样本的损失函数,利用梯度下降法对损失函数极小化,求得模型参数。

特点是简单且易于实现,分为原始形式和对偶形式。感知机 1957 年由 Rosenblatt 提出,是神经网络与支持向量机的基础

 

Continue reading

提升方法系列2: AdaBoost 算法的训练误差分析

AdaBoost 算法的误差分析,还是参考《统计学习方法》第 8 章 提升方法的 AdaBoost 算法的训练误差分析。

 
Continue reading

提升方法系列1:提升方法 AdaBoost 算法与 Python 实现

学习《统计学习方法》中第八章 提升方法学习笔记。其实说是笔记,但书上的内容已经很精简了,算法描述,讲解,证明等等。这里更多的是摘抄,基于例子对算法的实现等。

弱分类器经过线性组合(如投票)可以得到强分类器,可提高分类性能。提升方法是从弱分类器出发,反复学习,得到一系列弱分类器(或称为基本分类器),然后组合他们构建成一个强分类器。

 
Continue reading