第十一章.支持向量机SVM(Support Vector Machines)—凸优化问题的三种情况

第十一章.支持向量机(SVM)

SVM一般用于比较复杂的分类情况,例如:图像识别,人脸识别

11.1 支持向量机—凸优化问题的三种情况

1.SVM

1).SVM寻找区分两类的超平面(hyper plane), 使边际(margin)最大

在这里插入图片描述

2.向量内积

1).公式

在这里插入图片描述

2).图像

在这里插入图片描述

3.SVM分类

  • 支持向量就是与wx+b=1或wx+b=-1两条线相切的点(一个或多个)
    在这里插入图片描述

1).wx+b=1和wx+b=-1的推导与边际(margin)最大的推导

在这里插入图片描述

2).示例

·代码实现

from sklearn import svm

x = [[3, 3], [4, 3], [1, 1]]
y = [1, 1, -1]

model = svm.SVC(kernel='linear')
model.fit(x, y)

# 与wx+b=1或wx+b=-1相切的数据点坐标,也称为支持向量
print(model.support_vectors_)

# 第2和第0个点是支持向量:支持向量所对应的索引
print(model.support_)

# 有几个支持向量:wx+b=1和wx+b=-1相切的支持向量数量
print(model.n_support_)

# 对数据点进行预测,所属类别
print(model.predict([[4, 3]]))

# 系数
print(model.coef_)

# 截距
print(model.intercept_)

·结果展示
在这里插入图片描述

3.凸优化问题

1).公式

在这里插入图片描述
||w||2是||w||的变形,主要是为了最后开平方准备的,便于计算

2).凸优化问题一般可以分为三种情况

  • 无约束优化问题—费马定理:
    在这里插入图片描述
  • 带等式约束的优化问题—拉格朗日乘子法
    在这里插入图片描述
  • 带不等式约束的优化问题—KKT条件
    在这里插入图片描述

4.广义拉格朗日乘子法

1).公式

在这里插入图片描述

5.跟岭回归和LASSO类似

1).代价函数

①.岭回归代价函数
在这里插入图片描述
②.LASSO代价函数
在这里插入图片描述

2).图像

在这里插入图片描述

6.Karush-Kuhn-Tucker最优化条件(KKT条件)

拉格朗日乘子法的一种推广,可以处理有不等号的约束条件。

1).公式

在这里插入图片描述

7.对偶问题

1).公式


  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述
  • ④.由此可以求出最优解𝛼∗,求出该值后将其带入可以得到
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值