1.感知机的核心思想用四个字可定义:错误驱动
2.线性判别分析是一种不怎么用的分类算法,等价于LDA降维方法,更多用于降维
3.LDA的思想是最大化类间距离(类间散度矩阵),最小化类内方差(类内散度矩阵)
4.感知机、线性判别分析和支持向量机都属于线性分类的硬输出模型
支持向量机、感知机和线性判别分析都是针对分类问题y={-1,+1}建模,都是硬输出模型。我们在SVM系列中已经介绍过了,这一节我们来介绍感知机和线性判别分析。
支持向量机系列:
约束优化问题(SVM预备知识)
SVM(一)
SVM(二)
SVM(三)
感知机
感知机,英文是perceptron。它是前馈神经网络的基础,它的原理虽然简单,我们也介绍一下。
感知机算法的思想,四个字就能准确定义:错误驱动。
类似SVM,我们要对下面样本做分类:
假设我们的分类模型为
算法的过程是,首先给定w和b的初始值,然后我们采取如下策略定义损失函数:
实际上,损失函数L实际表达的是被错误分类的样本个数。
但这样定义的L(w)比较难求解,因为L(w)不连续不可导。所以我们要稍微改变一下表示形式使得其可导:
这样,我们采取随机梯度下降法(SGD)就可以求解参数。
线性判别分析
线性判别分析,英文是(Linear Discriminant Analysis),是由Fisher统计学家提出来的,因此也被称为Fisher线性判别分析。它其实就是我们之前介绍的一种降维方法~特征工程之降维(LDA)。它是一种古老的分类算法,现在基本上不用这种方法进行分类,我们就简单回顾一下求解思路即可。
1.假设样本共有K类,每一类的样本个数为N1,N2,...,Nk:
2.设变化后的每个样本为:
3.计算样本均值向量:
4.计算每类样本方差:
5.所有类别的样本方差之和:
6.不同类别i,j之间的中心距离:
7.所有类别之间的距离之和:
8.在已知条件下,求出类内散度矩阵和类间散度矩阵,接下来最大化类间距离,最小化类内方差
9.利用拉格朗日乘数法求解最优解