Inroduction
- Neural networks tasks are classification and prediction.
- Network is designed to learn input-output mappings .
- Neural network designs is curve-fitting or function approximation problem. (对应于classification and prediction)
Interpolation(Curve-fitting) Problem
Finding an interpolating surface in the space that provides a best fit to the training data measured by preselected statistical criteria for curve-fitting in high-dimensional spaces
为什么我们需要核函数?(概念理解部分,可不看)
这里想补充可能老师上课没讲的部分:为什么我们需要核函数?
当样本线性不可分时,线性分类器会进入死循环,使得它的适用范围大大缩小。但它的很多优点我们不愿放弃,怎么办呢?于是我们试图某种方法使线性不可分的数据变得线性可分。
比如下面这张图
我们把横轴上端点 a 和 b 之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类。试问能找到一个线性函数把两类正确分开么?不能,因为二维空间里的线性函数就是指直线,显然找不到符合条件的直线。但我们可以找到一条曲线,例如下面这一条:
显然通过点在这条曲线的上方还是下方就可以判断点所属的类别。这条曲线就是我们熟知的二次曲线,它的函数表达式可以写为:
g ( x ) = c 0 + c 1 x + c 2 x 2 g(x)=c_0+c_1x+c_2x^2 g(x)=c0+c1x+c2x2
问题是它不是一个线性函数,但我们新建两个向量 y ⃗ \vec{y} y 和 a ⃗ \vec{a} a :
y ⃗ = [ y 1 y 2 y 3 ] = [ 1 x x 2 ] , a ⃗ = [ a 1 a 2 a 3 ] = [ c 0 c 1 c 2 ] \vec{y} = \begin{bmatrix} y_1\\ y_2 \\ y_3 \\ \end{bmatrix} = \begin{bmatrix} 1 \\ x \\ x^2 \\ \end{bmatrix}, \vec{a} = \begin{bmatrix} a_1 \\ a_2 \\ a_3 \\ \end{bmatrix} = \begin{bmatrix} c_0 \\ c_1 \\ c_2 \\ \end{bmatrix} y=⎣⎡y1y2y3⎦⎤=⎣⎡1xx2⎦⎤,a=⎣⎡a1a2a3⎦⎤=⎣⎡c0c1c2