理论:

1.线性判别函数和决策边界

线性判别函数

若分属于ω1,ω2的两类模式可用一方程d(x) =0来划分,那么称d(x) 为判别函数,或称判决函数、决策函数。

一个线性分类模型(Linear Classification Model)或线性分类器(Linear Classifier),是由一个(或多个)线性的判别函数f(x,w)= wTx+b和非线性的决策函数g(·)组成。

 两类分类(Binary Classification)的类别标签y只有两种取值,通常可以 设为{+1,−1}。

在两个分类中,我们只需要一个线性判别函数 f(x,w)=wTx+b 。特征空间Rd 中所有满足f(x,w) = 0的点组成用一个分割超平面(hyperplane),称 为决策边界(decision boundary)或决策平面(decision surface)。决策边界将

特征空间一分为二,划分成两个区域,每个区域对应一个类别。

 

决策边界

所谓决策边界就是能够把样本正确分类的一条边界,主要有线性决策边界(linear decision boundaries)和非线性决策边界(non-linear decision boundaries)。

 

 

Logistic 回归与 Softmax 回归是两个基础的分类模型,虽然听名字像是回归模型,实际上并非如此。Logistic 回归,Softmax 回归以及线性回归都是基于线性模型。其实 Softmax 就是 Logistic 的推广,Logistic 一般用于二分类,而softmax 是多分类。

 

2.logistic回归

Logistic回归分类

Logistic回归在进一步细分,又可分为二元Logit(Logistic)回归、多分类Logit(Logistic)回归,有序Logit(Logistic)回归。

虽然叫做回归,但是是一种分类算法,用于二分类问题。

 

非线性决策边界神经网络 线性判别决策边界_感知机

 

如果Y值仅两个选项,分别是有和无之类的分类数据,选择二元Logistic回归分析。Y值的选项有多个,并且选项之间没有大小对比关系,则可以使用多元Logistic回归分析。Y值的选项有多个,并且选项之间可以对比大小关系,选项具有对比意义,应该使用多元有序Logistic回归。

二元Logistic回归分析的使用频率最高

 

3.softmax回归

其实softmax回归是logistic回归的一般形式,一般用于多分类问题

非线性决策边界神经网络 线性判别决策边界_感知器_02

 

softmax函数的本质就是将一个K 维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间,并且压缩后的K个值相加等于1(变成了概率分布)。在选用Softmax做多分类时,可以根据值的大小来进行多分类的任务,如取权重最大的一维。softmax介绍和公式网上很多,这里不介绍了。

 

4.感知器

感知器的定义

感知机接受多个输入信号,输出一个信号。(无法实现异或)

单层感知器由一个线性组合器和一个二值阈值元件组成。

 

 

非线性决策边界神经网络 线性判别决策边界_非线性决策边界神经网络_03

 

可以看到,一个感知器有如下组成部分:

                            f (z) = 1(z>0)  或者 0(z<=0)

                           y = f(w * x + b)        

 

 

 

5.支持向量机

SVM简介

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

SVM算法原理

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示,

 

 

即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。

 

非线性决策边界神经网络 线性判别决策边界_多分类_04

 

 

实践:

1.实验两个回归函数

2.实验支持向量机

  • 感知机是具有输入和输出的算法。给定一个输入后,将输出一个既定的值。
  • 感知机将权重和偏置设定为参数。
  • 使用感知机可以表示与门和或门等逻辑电路。
  • 异或门无法通过单层感知机来表示。
  • 使用2层感知机可以表示异或门。
  • 单层感知机只能表示线性空间,而多层感知机可以表示非线性空间。
  • 输出 感知器的输出由下面这个公式来计算
  • 输入权值 一个感知器可以接收多个输入(x1,x2,...xn),每个输入上有一个权值wi,此外还有一个偏置项b,就是上图中的w0。
  • 激活函数 感知器的激活函数可以有很多选择,比如我们可以选择下面这个阶跃函数f来作为激活函数: