目录
1、回归与分类(Regression vs Classification)
5、广义线性模型(Generalised Linear Models)
编辑二、判别模型(Discriminative Models)
2、两类判别函数(Two Class Discriminant Function)
3、泛化到多分类问题(Generalisation to Multiclass Problems)
三、生成模型(Generative Models)-以统计学和Bayes作为理论基础
四、感知器算法( Perceptron Algorithm)- 硬分类且属于判别模型
(1)相同点:其实分类和回归的本质是一样的,都是对输入做出预测,其区别在于输出的类型。
(2)分类问题:分类问题的输出是离散型变量(如: +1、-1),是一种定性输出。(预测明天天气是阴、晴还是雨)
生活中实际运用的例子:
(3)回归问题:回归问题的输出是连续型变量,是一种定量输出。(预测明天的温度是多少度)
生活中实际运用的例子:
(4)两者的对比对比

(1)线性分类的由来
线性回归经过一个激活函数然后根据一个阈值来获得分类的结果,如此就成为线性分类;
也可以理解为将
降维到一维而获得分类结果。

(2)激活函数

(3)硬分类和软分类

(1)分类器的作用:常规任务是利用给定的类别、已知的训练数据来学习分类规则和分类器,然后对未知数据进行分类(或预测)。逻辑回归(logistics)、SVM等常用于解决二分类问题,对于多分类问题(multi-class classification),比如识别手写数字,它需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这样容易出错且效率不高,常用的多分类方法有softmax。
(2)分类算法的划分-基于概率密度的方法和基于判别函数的方法。
(3)分类算法的划分-根据监督方式划分分类算法,分类学习问题可分为三大类:有监督分类、半监督分类和无监督分类。
(1)输入空间:每个输入数据点由输入空间中的一个向量表示
(2)决策边界:决策区域由决策边界分隔
(3)决策区域:根据类标签,将输入空间划分为决策区域,每个区域对应一个类标签
(3)线性模型的决策边界:决策边界是输入向量的线性函数。
注:这个平面由两个性质定义:1、方程是线性的,是由空间点的各分量的线性组合。2、方程数量是1。这个平面是建立在“三维”上的。如果我们撇开“维度”这个限制,那么就有了超平面的定义。实际上,超平面是纯粹的数学概念,不是物理概念,它是平面中的直线、空间中的平面的推广,只有当维度大于3,才称为“超”平面。它的本质是自由度比空间维度小1。自由度的概念可以简单的理解为至少要给定多少个分量的值才能确定一个点. 例如, 三维空间里的(超)平面只要给定了(x,y,z)中任意两个分量, 剩下的一个的值就确定了. 先确定值的两个分量是自由的, 因为它们想取什么值就能取什么值;剩下的那个是"不自由的", 因为它的值已经由另外两确定了. 二维空间里的超平面为一条直线. 一维空间里超平面为数轴上的一个点。

(4)线性可分性:类可以被线性决策面精确分离的数据集被称为线性可分的
(1)线性分类器定义:在二维空间中的一个数据集,如果他正好能够被一条直线分成两类,那么我们称它为线性可分数据集,这条直线就是一个线性分类器。
(2)线性分类器例子


我们可以重用回归学习模型来学习分类模型:
(1)线性回归模型

(2)分类模型(通过激活函数或者称step function将线性模型转化为分类模型)
二、判别模型(Discriminative Models)
对应分类标记(1)决策边界
是超平面(决策面)的法向量 证明:设A和B为决策面上的不同的两个点
和
(
≠
),则有:


两式相减可得:

由于
和
均为向量,所以设他们之间的夹角为
,所以我们有:

而 (
≠
),所以
,则
,所以决策面垂直于权重向量 w 。
证毕。
在在权重向量
上的投影大小为
证明:

到决策面的距离向量为
,决策面为
= 0即 
证明:
我们设这个距离向量为
,原点与交点的连线为向量t,作图如下:

我们有有向量的相加性可得:

注:
是
方向的单位向量,且
与
平行同向
在原有的等式基础上左乘
并加上
,可得:

又因为向量t在决策平面上,所以有:

所以我们可以化简式子为:

证毕。
(1)One-versus-the-rest classifier(一对多法分类器)
训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。
举个例子:
假如我有四类要划分(也就是4个Label),它们是A、B、C、D。于是我在抽取训练集的时候,分别抽取A所对应的向量作为正集,B,C,D所对应的向量作为负集;B所对应的向量作为正集,A,C,D所对应的向量作为负集;C所对应的向量作为正集, A,B,D所对应的向量作为负集;D所对应的向量作为正集,A,B,C所对应的向量作为负集,这四个训练集分别进行训练,然后的得到四个训练结果文件,在测试的时候,把对应的测试向量分别利用这四个训练结果文件进行测试,最后每个测试都有一个结果f1(x),f2(x),f3(x),f4(x).于是最终的结果便是这四个值中最大的一个。
这种方法有种缺陷,因为训练集是1:M,这种情况下存在biased.因而不是很实用.

(2)One-versus-one classifier(一对一法分类器)
其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。Libsvm中的多类分类就是根据这个方法实现的。
举个例子:
投票是这样进行的:A=B=C=D=0;
(A, B)-classifier 如果是A win,则A=A+1;otherwise,B=B+1;
(A,C)-classifer 如果是A win,则A=A+1;otherwise, C=C+1;
...
(C,D)-classifer 如果是A win,则C=C+1;otherwise,D=D+1;
The decision is the Max(A,B,C,D)
这种方法虽然好,但是当类别很多的时候,model的个数是n*(n-1)/2,代价还是相当大的.


基于已知样本,对未知样本进行预测时,找到对应的K个最近邻,通过多数表决进行预测。没有显式的学习过程。
SVM分为线性可分支持向量机 (硬间隔最大化)、线性支持向量机 (软间隔最大化)、非线性支持向量机 (核函数)三种。目的是最大化间隔,这是和感知机最大的区别。

通过改变训练样本的权重,训练多个分类器,将分类器进行线性组合,提升分类性能。AdaBoost采用加权多数表决的方法。
给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。可应用于标注问题。
从概率分布的角度考虑,对于一堆样本数据,每个均有特征
对应分类标记。
学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布。能够学习到数据生成的机制。(生成模型就是要学习x和y的联合概率分布P(x,y),然后根据贝叶斯公式来求得条件概率P(y∣x),预测条件概率最大的y)。

由隐藏的马尔可夫链随机生成观测序列,是生成模型。HMM是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。包含三要素:初始状态概率向量pie,状态转移概率矩阵A,观测概率矩阵B。
感知机的输入为样本的特征向量,输出为样本的类别,取+1和-1二值。具体方法为:给样本的每一维特征引入一个相乘的权重来表达每个特征的重要程度,然后对乘积求和后加上偏置项。将结果送入符号函数,利用符号函数的二值特性将样本划分为两类。所以,训练感知机的目标可以概括为:寻找合适的权值和偏置,使得符号函数能够将样本尽量准确地分成两类。
(1)结构图

(2)参数解释
假设现在有
个训练样本,每个样本都有
个属性(即
维特征)和一个类别标签,那么样本的特征空间可以表示为:

样本的类别标签向量可以表示为:
,由于感知机解决的是二分类问题,所以,
。
让我们以样本的特征空间为输入空间,以样本的类别标签向量为输出空间,定义如下函数:

这个函数就被称为感知机模型,下图展示的是它的图形化理解。其中,w和b是感知机模型的参数,w是权值向量,b是偏置项,step function是感知机模型的激活函数sign。
由于使用符号函数作为激活函数,所以我们可以认为分类阈值是,即:
是一个分界。我们的目标是:寻找合适的w和b,尽量使得所有
的样本i,都有
;所有
的样本i,都有
。而
对应着特征空间中的一个超平面,其中w是超平面的法向量,b是超平面的截距。
由此,我们可以总结出感知机模型的几何意义:在特征空间中寻找一个分离超平面,这个超平面将特征空间划分成两个部分,并且类+1和类-1样本点尽量位于超平面的两侧。如果想要类+1和类-1样本严格位于超平面两侧,特征空间需要满足线性可分。
is the true label
,
是预测的label,两者的取值都在{1,-1},M is the set of misclassified examples。


(1)用随机值初始化权重向量
(2)重复下面的操作,直到所有数据点正确分类或错误<
对于每个训练点x,执行以下操作:

我们用随机梯度下降法更新参数,我们并不是一次使
中所有误分类样本点的梯度都下降,而是一次随机选取一个误分类点使其梯度下降。

:

有的算法里偏差
也要更新:







MLP详细知识点参照:多层感知机(MultiLayer Perceptron)以及反向传播算法(Backpropagation)_迷雾总会解的博客-CSDN博客_multilayer perceptron
使用初始训练数据生成多个迷你列车测试分割。使用这些分割来调整模型
2、使用更多数据进行训练

(1)bagging:相同模型不同参数结果的平均,典型例如:random forest
(2)boosting:基于上一个模型的结果生成下一个模型和权重,分为weight based和residual based