python和机器学习 第十一章 支撑向量机SVM

决策边界不一定的问题——不适定问题

解决办法
逻辑回归:损失函数
SVM:寻找一个最优的决策边界距离两个类别的最近的样本最远

一、Hard Margin SVM

在这里插入图片描述
最大化margin就是求一个最大的d值
在这里插入图片描述
样本真实的特征用wT表示
在这里插入图片描述
在这里插入图片描述
=====>
在这里插入图片描述
=====>
在这里插入图片描述
=====>上面两个式子可以合为一个
在这里插入图片描述
最大化d就是
======>
在这里插入图片描述
最终目标:
======>
在这里插入图片描述

二、Soft Margin 和 SVM 的正则化

在这里插入图片描述
使用SVM训练模型前要进行标准化处理

from sklearn.svm import LinearSVC
svc = LinearSVC(C=1e9) #C越小,容错空间越大,落在margin内的点越多
svc.fit(X_standard,y)

三、使用SVM处理非线性的数据

from sklearn.preprocessing import StandardScaler,PolynomialFeatures
from sklearn.svm import LinearSVC
from sklearn.pipeline import Pipeline

def PolynomialSVC(degree,C=1.0):
    return Pipeline([
        ("Poly",PolynomialFeatures(degree=degree)),
        ("std_scaler",StandardScaler()),
        ("LinearSVC",LinearSVC(C=C))
    ])

四、使用多项式核函数的SVM

1、什么是核函数

不用使用PolynomialFeature,而是通过一个函数K,直接得到x(i)的多项式特征x’(i)

from sklearn.svm import SVC
def PolynomialKernelSVC(degree,C=1.0):
    return Pipeline([
        ("std_scaler",StandardScaler()),
        ("KernelSVC",SVC(kernel="poly",degree=degree,C=C))
    ])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值