核函数
作者:互联网
此系列笔记来源于
Coursera上吴恩达老师的机器学习课程
核函数 Kernels
对于非线性数据,如:
我们可以增加高阶多项式,但是计算量将会十分大
因此需要引入非线性模型,而核函数便是其中一种。
我们取三个点 \(l^{(1)}、l^{(2)}、l^{(3)}\),
对于给定的x,我们定义新的特征 \(f_i=similarity(x,\;l^{(i)})=exp(-\frac{||x-l^{(i)}||^2}{2\sigma^2})=exp(-\frac{\sum_{j=1}^n(x_j-l_j^{(i)})^2}{2\sigma^2})\)
这里的相似度函数similarity,被称为核函数,而exp(…)被称为高斯核函数
此时
当 \(x\approx l^{(i)}:f_i\approx exp(-\frac{0}{2\sigma^2})\approx 1\)
当 \(x 远离 l^{(i)}:f_i\approx exp(-\frac{(large\;number)^2}{2\sigma^2})\approx 0\)
借此我们便能画出决策边界
如何选取 \(l\) 呢?
也就是将每个\(l\)放在每个数据的位置
对于单个样本\(x\):
令\(f_i=similarity(x,\;l^{(i)})\),便能得到向量\(f=\begin{bmatrix} f_0 \\ f_1 \\ f_2 \\ \cdots \\ f_m\end{bmatrix}\)
对于训练集:
令\(f_i^{(i)}=similarity(x^{(i)},\;l^{(i)})\),便能得到向量\(f^{(i)}=\begin{bmatrix} f^{(i)}_0 \\ f^{(i)}_1 \\ f^{(i)}_2 \\ \cdots \\ f^{(i)}_m\end{bmatrix}\)
SVM with Kernels
对于给定的 \(x\),我们计算 \(f \in \R^{m+1}\)
并且 Predict “y = 1” if \(\theta^Tf>0\)
注意这里最后一项是 \(j从1到m,相当于n=m\)
一般计算 \(\sum_j\theta_j^2\),我们用\(\theta^T\theta\),不过更多的是 \(\theta^TM\theta\),M是一个矩阵,取决于核函数,这样可以用来优化计算效率
标签:approx,函数,similarity,bmatrix,theta,exp 来源: https://www.cnblogs.com/yramvj/p/16294885.html