• 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

  • 相关阅读:
    Qt实战6.万能的无边框窗口(FramelessWindow)
    Qt实战5.如何获取USB设备信息?
    Qt实战4.简单封装的文件监控
    Qt实战3.Qt仿Win10风格界面
    Linux下使用脚本让程序顺序启动
    项目经验1.软件的开发过程
    Qt实战2.老生常谈的文件传输
    mysql导入txt文件
    linux离线安装python3
    mysql知识点
  • 原文地址:https://www.cnblogs.com/Towerb/p/14012286.html
Copyright © 2020-2023  润新知