@[TOC]第三章 从线性模型到多层感知器
3.1线性模型局限性
线性(对数-线性)模型的假设严格受限。必如异或问题就不能解决。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200826114644445.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNjIzMzI4,size_16,color_FFFFFF,t_70#pic_center)例如:没有一条直线能把这两种类别分开。3.2 非线性输入转换
通过将这些点输入一个非线性函数F(x) 进行转换,把异或问题变成线性可分的问题。
函数F(x)将数据映射为合适线性分类的表示。
通常,我们可以定义一个函数,将非线性可分的数据集映射为线性可分的表示,然后在最终表示上训练一个线性分类器。
但是要人工定义函数
F
(
x
)
F(x)
F(x),此过程需要依赖特定的数据集 ,并且要大量人类的直觉。
3.3 核方法
核化的支持向量机,或者通常的核方法通过定义一些通用的映射来解决这一问题,每个映射都将数据映射到非常高的维度空间(有甚至是无限的),然后在映射后空间中执行线性分类。在非常高维的空间进行分类显著提高了找到一个合适的线性分类器的概率。
该方法的一个缺点是核技巧的应用使得支持向量机的分类过程线性依赖于训练集大小,使其无法应用于非常大的训练集。高维空间的另一个缺点是它们增加了过拟合的风险。
3.4 可训练的映射函数
一种不同的方法是定义一个可训练的非线性映射函数,并和线性分类器一起训练。也就是说,找到合适的表示成为训练算法的责任。
例如,映射函数可以采用参数化的线性模型形式,接一个作用于每一个输出维度上的非线性激活函数
g
g
g:
y
=
F
(
x
)
∗
W
+
b
y=F(x)*W+b
y=F(x)∗W+b
F
(
x
)
=
g
(
x
∗
W
′
+
b
′
)
F(x)=g(x*W'+b')
F(x)=g(x∗W′+b′) (3.1)
整个表达式是可微的,使得应用基于梯度的技术进行模型训练成为可能,同时学习表示函数和在其之上的线性分类器。这是深度学习和神经网络背后的主要想法。式(3.1)描述了一个非常常用的神经网络结构,称***多层感知机***。