kernel

续上:SVM中的kernel

带Kernel 的linear regression

kernel可应用到别的算法,不仅仅在SVM

一、常见kernel

l 多项式:二维到三维

 kernel

l 高斯核函数(需要正规化)

    kernel

 

 kernel

 

 kernel

l sigmoid kernel

 kernel

l cosine similarity kernel

 kernel

l chi-squared  kernel

 kernel

 

二、linear regression 曲线    

 kernel

 

 

三、带kernel 的PCA

如果我们将m个数据点映射到一个>=m维空间中,就能很容易地构建一个超平面将数据点做任意分类。

PCA定义:

 kernel

3.1 PCA降维过程

牺牲一部分信息,过滤掉一些干扰(信息压缩,信息的损失最少)

有两个特征值,保留大的(方差最大的方向)

第2步:使得均值在原点,即均值为0

 kernel

3.2 kernel PCA

实例:

 kernel

先kernel投影到高维空间,再用PCA降维

 kernel

线性-->非线性

 kernel

使用kernel

 kernel

 

 kernel


结论:只需要用kernel函数,不用先映射到一个高维空间

 kernel

PCA后的Kernel和原来的kernel不是同一个kernel

 

3.3 kernel的选择与参数

3.3.1 交叉验证(cross validation)

 kernel

调参:选择validation

 kernel

parameter_candidates = [

     {‘C’:[1,10,100,1000],’kernel’:[‘linear’]}

     {‘C’:[1,10,100,1000],’gamma’:[0.001,0.0001],’kernel’:[‘rbf’]}

]

clf = GridSearchCV(estimator = svm.SVC(),param_grid=parameter_candidates,cv = 5,n_jobs = -1)   //n_jobs 多线程,=-1用所有的CPU

clf.fit(X_train,y_train)

 

 

 

3.3.2 VC维

https://www.zhihu.com/question/31727466

为什么用kernel更加容易计算

理论:它反映了模型的学习能力,VC维越大,则模型的容量越大

 kernel

 kernel

 

 kernel

 

 

线性分类器:逻辑回归、线性回归、线性SVM

 

上一篇:MIT 线性代数 18.06 到底有几个


下一篇:线性表(linear_list)