如何注释_机器学习 第69集:SVM如何通过点到超平面距离获得目标函数和约束函数?( 含有笔记、代码、注释 )...

本文介绍了SVM如何通过点到超平面的距离确定目标函数和约束条件,解释了最大化几何间隔的概念,并展示了利用numpy生成随机数的基础操作,强调了在机器学习中积累基础知识的重要性。
摘要由CSDN通过智能技术生成

SVM如何通过点到超平面距离获得目标函数和约束函数?

① 假设L1是其中一条过 +1 类支持向量且平行于 WX+b=0 的直线,L2 是过 -1 类支持向量且平行于 WX+b=0 的直线,L1 和 L2 就确定了这条马路的边边,L 是马路中线。

② L 的形式是 WX+b=0,又因为 L1、L2 距离 L 是相等的,所有定义 L1 为 WX+b=1,L2 为 WX+b=-1。

注:这两条平行线的方程右边既可以是 1 和 -1,也可以是 2 和 -2,或者任意非零常数 C 和 -C。规定 1 和 -1 只是为了方便,例如 2x+3y+1=0 和 4x+6y+2=0 是等价的,方程同乘一个常数后并不会改变。

b5ab0716fdbc6891a730a617c6cbf3dc.png

③ 2d 是 L1 和 L2 这两条平行线之间的距离:

④ 目标是最大化几何间隔d,由于

,问题又转化成了最小化||W||。

⑤ 对于求 min||W||,通常会转化为求

,这里用平方后除以 2 这个形式是为了后面求解方便。

⑥ ||W|| 不可能无限小,因为还有限制条件:超平面正确分类,意味着点 i 到超平面的距离恒大于等于 d,即:

⑦ 两边同乘||W||,简化为:

注:

是因为 y 只有两个值,+1和-1。
  1. 如果第 i 个样本属于 +1 类别,则
    ,并且
    ,故两者相乘是大于0的。
  2. 如果第 i 个样本属于 -1 类别,则
    ,并且
    ,故两者相乘是大于0的。

注:这意味着

恒大于0,y 起到的作用就和绝对值一样。

注:用 y 替换绝对值,是因为 y 是已知样本数据,也方便后面的公式求解。

⑧ 我们获得目标函数:

65d7cb330208c9c212285bc2f9bac61c.png

⑨ 我们获得约束条件:

94be2011eae5f36c7a5f3e4fc2437eeb.png

Python基础积累(numpy)

numpy生成随机数

import numpy as np
np.random.rand(3, 3)

运行结果:

array([[0.68537219, 0.54168828, 0.31736894],
[0.74666141, 0.48711075, 0.03362492],
[0.70282142, 0.0422297 , 0.25828402]])

注:随机生成一个二维数组。

np.random.rand(2, 3, 3)

运行结果:

array([[[0.06007194, 0.4339849 , 0.13609465],
[0.37893364, 0.04192778, 0.68935534],
[0.84097557, 0.69990864, 0.34211253]],
[[0.00239661, 0.46886934, 0.65149633],
[0.81336026, 0.89658351, 0.55632714],
[0.45345776, 0.28813519, 0.65834964]]])

注:随机生成一个三维数组。

import numpy as np
np.random.seed(0)   
np.random.rand(5)

运行结果:

array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])

注:seed()函数用于指定随机数生成时所用算法开始的整数值。

注:如果使用相同的seed( )值,则每次生成的随即数都相同。如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

注:np.random.rand(5)随机生成包含5个元素的浮点数组。

np.random.seed(8)
np.random.rand(5)

运行结果:

array([0.8734294 , 0.96854066, 0.86919454, 0.53085569, 0.23272833])

注:设置的seed()值仅一次有效。

"♥每天积累一点点♥"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值