2020-08-26

支持向量机


问题:

1.什么是支持向量
2.支持向量机的推导
3.SVM的损失函数
4.SVM的核函数有哪些,核函数的作用是什么
5.硬间隔和软间隔
6.SVM可以做多分类吗,怎么做
7.SVM可以做回归吗,怎么做
8.SVM的对偶问题,为什么要把原问题转化为对偶问题
9.KKT限制条件有哪些

支持向量机是一种二分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使他有别于感知机;SVM还包括核技巧,使他成为实质上的线性分类器。学习策略:间隔最大化,可形式化为一个求解凸二次规划问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法就是求解凸二次规划的最优化算法

SVM原理

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示, 即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。

画散点图

X, y = make_blobs(n_samples=60, centers=2, random_state=0, cluster_std=0.4)

make_blobs函数是为聚类产生数据集,产生一个数据集和相应的标签,

n_samples:样本数据点个数,默认100

n_features 数据维度,默认2

centers:产生数据的中心点,默认值3

cluster_std:数据集的标准差,浮点数或者浮点数序列,默认值1.0

center_box:中心确定之后的数据边界,默认值(-10.0, 10.0)

shuffle :洗乱,默认值是True

random_state:官网解释是随机生成器的种子

plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap=plt.cm.Paired)
x_fit = np.linspace(0, 3) # 创建等差数列 默认是50

画函数

y_1 = 1 * x_fit + 0.8
plt.plot(x_fit, y_1, ‘-c’)

画边距

plt.fill_between(x_fit, y_1 - 0.6, y_1 + 0.6, edgecolor=‘none’, color=’#AAAAAA’, alpha=0.4)
y_2 = -0.3 * x_fit + 3
plt.plot(x_fit, y_2, ‘-k’)

fill_between 填充两个函数之间的区域

plt.fill_between(x_fit, y_2 - 0.4, y_2 + 0.4, edgecolor=‘none’, color=’#AAAAAA’, alpha=0.4)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值