kernel

续上:SVM中的kernel

Kernel linear regression

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

一、常见kernel

l 多项式:二维到三维

 

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

    

 

 

l sigmoid kernel

 

l cosine similarity kernel

 

l chi-squared  kernel

 

二、linear regression 曲线    

 

三、kernel 的PCA

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

PCA定义:

 

3.1 PCA降维过程

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

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

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

 

3.2 kernel PCA

实例:

 

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

 

线性-->非线性

 

使用kernel

 

 


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

 

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

3.3 kernel的选择与参数

3.3.1 交叉验证(cross validation

 

调参:选择validation

 

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维越大,则模型的容量越大

 

 

 

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

原文地址:https://www.cnblogs.com/Towerb/p/14012286.html