Andrew Ng机器学习课程笔记(六)之监督学习之Support Vector Machine(1)

Programming Exercise 6:Support Vector Machines 第二部分 大家好,我是Mac Jiang,今天和大家分享一下coursera网站上Stanford University的Machine Learning公开课(吴恩达老师)课程第六次作业:Programming Exercise 6:Support Vector Machines。写这篇博客的目的是为在课程学习中遇到困难的同学提供一些帮助,同时帮助自己巩固这周的课程内容。欢迎博友转载此文章,但希望您在转载 阅读详情

Preface

本文对于SVM(Support Vector Machine,支持向量机)的做了一些准备工作,并在接下来的几篇文章正式初步学习SVM。
主要内容:
Notation(符号约定)
Functional Margins And Geometric Margins(函数间隔和几何间隔 )
Optimal Margin Classifier(最有间隔分类器)
Primal Problem(原始问题)
Dual Optimization Problem(对偶优化问题)

Notation

在SVM学习中我们将改变之前的学习习惯:

  1. 分类标识由 y∈{0,1}→y∈{−1,1} y ∈ { 0 , 1 } → y ∈ { − 1 , 1 } ,来作为分类的标识来区分不同类别。例如 y=−1 y = − 1 标识类别一, y=1 y = 1 标识类别二。
  2. 假设函数由 hθ(x)=g(θTx),x∈Rn+1→hw,b(x)=g(wTx+b),x∈Rn h θ ( x ) = g ( θ T x ) , x ∈ R n + 1 → h w , b ( x ) = g ( w T x + b ) , x ∈ R n 。
    其中, hw,b(x)=g(wTx+b),x∈Rn h w , b ( x ) = g ( w T x + b ) , x ∈ R n 中的w与b分别对应于 hθ(x)=g(θTx) h θ ( x ) = g ( θ T x ) 中的对应关系为:
    ω=[θ1,θ2...θn]T ω = [ θ 1 , θ 2 . . . θ n ] T
    b=θ0 b = θ 0

Functional Margins

定义:一个超平面 (w,b) ( w , b ) 和某个特定的训练样本 (xi,yi) ( x i , y i ) 相关的函数间隔为:

γ^(i)=y(i)(wTx(i)+b)(1) (1) γ ^ ( i ) = y ( i ) ( w T x ( i ) + b )

超平面 (w,b) ( w , b ) 表示的是由参数 w,b w , b 确定的分界。

如果需要 γ^(i) γ ^ ( i ) 获得一个较大的值,那么:
当 y(i)=1 y ( i ) = 1 时,需要 wTx(i)+b w T x ( i ) + b 远大于0;
当 y(i)=−1 y ( i ) = − 1 时,需要 wTx(i)+b w T x ( i ) + b 远小于0;

以及当 γ^(i)=y(i)(wTx(i)+b)>0 γ ^ ( i ) = y ( i ) ( w T x ( i ) + b ) > 0 时,我们认为分类结果是正确的。

定义:一个超平面 (w,b) ( w , b ) 和整个的训练集中的所有训练样本 (xi,yi) ( x i , y i ) 相关的函数间隔为:

γ^(i)=mini=1,2,...,mγ^(i)(2) (2) γ ^ ( i ) = min i = 1 , 2 , . . . , m γ ^ ( i )

Geometric Margins

这里写图片描述
通过上图我们可以知道,一个样本 (x(i),y(i)) ( x ( i ) , y ( i ) ) A点到超平面 wTx+b=0 w T x + b = 0 的几何间隔为 γ(i) γ ( i ) ,且 w∥w∥ w ‖ w ‖ 为超平面 wTx+b=0 w T x + b = 0 指向A点方向的单位向量,A点 (x(i),y(i)) ( x ( i ) , y ( i ) ) 在超平面 wTx+b=0 w T x + b = 0 上的投影B点为:

x(i)−γ(i)w∥w∥(3) (3) x ( i ) − γ ( i ) w ‖ w ‖

同时,由于B在超平面上,所以:

wT(x(i)−γ(i)w∥w∥)+b=0(4) (4) w T ( x ( i ) − γ ( i ) w ‖ w ‖ ) + b = 0

  • 注: wTw=∥w∥2 w T w = ‖ w ‖ 2 。

所以,我们可以得出几何间隔为 γ(i) γ ( i ) :

γ(i)=wTx(i)+b∥w∥=(w∥w∥)Tx(i)+b∥w∥(5) (5) γ ( i ) = w T x ( i ) + b ‖ w ‖ = ( w ‖ w ‖ ) T x ( i ) + b ‖ w ‖

由于我们总是考虑对训练样本的争取分类,所以将几何间隔为 γ(i) γ ( i ) 一般化为:

γ(i)=y(i)(wTx(i)+b∥w∥=(w∥w∥)Tx(i)+b∥w∥)(6) (6) γ ( i ) = y ( i ) ( w T x ( i ) + b ‖ w ‖ = ( w ‖ w ‖ ) T x ( i ) + b ‖ w ‖ )

如果 ∥w∥=1 ‖ w ‖ = 1 , γ^(i)=γ(i) γ ^ ( i ) = γ ( i ) 。更一般的有, γ(i)=γ^(i)∥w∥ γ ( i ) = γ ^ ( i ) ‖ w ‖ 。

定义:一个超平面 (w,b) ( w , b ) 和整个的训练集中的所有训练样本 (xi,yi) ( x i , y i ) 相关的几何间隔为:

γ(i)=mini=1,2,...,mγ(i)(7) (7) γ ( i ) = min i = 1 , 2 , . . . , m γ ( i )

Optimal Margin Classifier

最优间隔是指调整参数 w,b w , b 使得几何间隔 γ(i) γ ( i ) 最大。

Step1:条件假设

∥w∥=1 ‖ w ‖ = 1 , |w1|=1 | w 1 | = 1 , ∥w∥+|w|2=? ‖ w ‖ + | w | 2 = ? 只需要选一个条件。
对于上述条件的解释:
调整参数 w,b w , b 对于超平面 wTx+b=0 w T x + b = 0 无影响,例如将 w,b w , b 扩大两倍 2w,2b 2 w , 2 b 得到 2wTx+2b=0→2∗(wTx+b)=0 2 w T x + 2 b = 0 → 2 ∗ ( w T x + b ) = 0 ,即超平面位置不发生变化。所以我们可以通过缩放 w,b w , b 来满足上述条件。
|w1| | w 1 | 表示 w w 的第一个位置的数字为1。

Step2:公式推演

首先看看函数间隔,你给参数前乘一个大于零的数,函数间隔就会变大,这个不好。再来看看几何间隔,由于要将参数单位化,所以就不受参数的非因素影响,就是说当几何间隔最大的时候,真的就是训练样本距离超平面最大。这样用几何间隔就可以非常健壮的描述样本与超平面之间的距离。

形式一:
(8)maxγ,w,bγs.t.y(i)(wTx(i)+b)≥γ,i=1,...,m‖w‖=1
形式二:
maxγ,w,bγ^∥w∥s.t.y(i)(wTx(i)+b)≥γ^,i=1,...,m(9) (9) max γ , w , b γ ^ ‖ w ‖ s . t . y ( i ) ( w T x ( i ) + b ) ≥ γ ^ , i = 1 , . . . , m
形式三:
minγ,w,b∥w∥2s.t.y(i)(wTx(i)+b)≥γ^,i=1,...,mγ^=1s.t.miny(i)(wTx(i)+b)=1ormaxγ,w,b1∥w∥s.t.y(i)(wTx(i)+b)≥γ^,i=1,...,mγ^=1s.t.miny(i)(wTx(i)+b)=1(10) (10) min γ , w , b ‖ w ‖ 2 s . t . y ( i ) ( w T x ( i ) + b ) ≥ γ ^ , i = 1 , . . . , m γ ^ = 1 s . t . min y ( i ) ( w T x ( i ) + b ) = 1 o r max γ , w , b 1 ‖ w ‖ s . t . y ( i ) ( w T x ( i ) + b ) ≥ γ ^ , i = 1 , . . . , m γ ^ = 1 s . t . min y ( i ) ( w T x ( i ) + b ) = 1

Lagrange Duality

我们会使用拉格朗日乘数法来解决关于约束优化问题:
我们的目标函数是:
这里写图片描述
接下来我们构造拉格朗日算子:
这里写图片描述
然后分别对参数进行求导,并令其为零:
这里写图片描述
然后解上述等式构成的方程组,求得 wi,βi w i , β i 。最后将 wi,βi w i , β i 带回到目标函数。

Primal Problem

在这里我们构造出原始优化问题的目标函数:
这里写图片描述
现在我们开始使用拉格朗日乘数法来解决原始优化问题:
我们定义一个增广拉格朗日函数,在这里 αi α i 与 βi β i 为拉格朗日乘数:
这里写图片描述
定义一个 θp(w) θ p ( w ) 函数,这里的下标p表示primal:
这里写图片描述
所以:
这里写图片描述
所以 minθp(w) min θ p ( w ) 就是我们的目标问题——原始优化问题:
这里写图片描述

Dual Optimization Problem

我们定义函数 θD(α,β) θ D ( α , β ) ,其中D表示duo(对偶):
这里写图片描述
现在我们定义对偶优化问题:
这里写图片描述

定义: p∗ p ∗ 是原始优化问题 minθp(w) min θ p ( w ) 的最优值。

定义: d∗ d ∗ 是原始优化问题 maxθD(α,β) max θ D ( α , β ) 的最优值。

有这样一个在通常条件下成立的事实: d∗≤p∗ d ∗ ≤ p ∗ ,即对偶优化问题的最优值小于等于原始优化问题的最优值。更一般的有,对于某个函数 f(x) f ( x ) 而言,总是存在 maxminf(x)≤minmaxf(x) max min f ( x ) ≤ min max f ( x ) 。
For example: maxy∈{0,1}(minx∈{0,1}1{x=y})≤minx∈{0,1}(maxy∈{0,1}1{x=y}) max y ∈ { 0 , 1 } ( min x ∈ { 0 , 1 } 1 { x = y } ) ≤ min x ∈ { 0 , 1 } ( max y ∈ { 0 , 1 } 1 { x = y } ) 。

关于对偶理论可以参考 运筹学(第四版) 清华大学出版社 第64页
对偶问题的一些性质:
1. 目标函数值相同时,各自的解为最优解
2. 若原问题有最优解,那么对偶问题也有最优解,且目标函数值相同
3. 还有互补松弛性,无界性,对称性等等

当原问题和对偶问题都取得最优解得时候,那么他们分别的目标函数也就到达了最优值。根据对偶问题的性质2,可以得到 p∗=d∗ p ∗ = d ∗ 那么我们就可以求解对偶问题来得到原问题 θp(w) θ p ( w ) 的最优值。

为了使得 p∗=d∗ p ∗ = d ∗ 我们需要满足一些条件,接下来我们开始推演 p∗=d∗ p ∗ = d ∗ :
假设一: f f 是一个凸函数( f 的Hessian矩阵是半正定矩阵)。
假设二: hi h i 是仿射函数( hi(w)=θTw+b h i ( w ) = θ T w + b ,仿射的意思是这个函数任何时候都是线性的)。
假设三: gi g i 是严格可执行的( ∃w,使得∀i,gi(w)<0 ∃ w , 使 得 ∀ i , g i ( w ) < 0 )

通过这三个假设,我们得到KKT(Karush-Kuhn-Tucker conditions)条件( ∃w∗,α∗,β∗,w∗是原始最优问题的解,α∗,β∗ ∃ w ∗ , α ∗ , β ∗ , w ∗ 是 原 始 最 优 问 题 的 解 , α ∗ , β ∗ 是对偶最优问题的解, p∗=d∗ p ∗ = d ∗ ),我们得到KKT:
这里写图片描述
其中, α∗igi(w∗)=0 α i ∗ g i ( w ∗ ) = 0 成为KKT互补条件,对于 α∗i>0 α i ∗ > 0 ,必有 gi(w∗)=0 g i ( w ∗ ) = 0 。

参考资料

https://blog.youkuaiyun.com/xiaocainiaodeboke/article/details/50443680

Nuvoton OpenTitan开源安全芯片技术解析与应用 硬件安全模块(HSM)作为可信计算基的核心组件,其设计透明度和可验证性正成为行业焦点。RISC-V架构凭借开源特性,为构建可审计的安全芯片提供了新范式。OpenTitan项目通过开放Verilog源码和形式化证明,实现了从物理不可克隆函数(PUF)到分层安全启动的全栈透明。该方案在lowRISC Voyager开发板上实测显示,安全启动时间小于200ms,性能损耗仅7%,显著优于传统黑盒方案。目前该技术已应用于Chromebook和数据中心,其40nm工艺版本更将功耗降至5μA待机水平,为物联网和边缘计算提 阅读详情

相关推荐

从零到一:PrimeTime静态时序分析入门指南

本文详细介绍了PrimeTime静态时序分析(STA)的入门指南,从基础概念到实际应用全面覆盖。内容包括时序路径分类、PrimeTime环境搭建、时序约束设置与验证、时序分析与报告解读等核心内容,帮助工程师快速掌握STA技术,解决数字芯片设计中的时序收敛问题。

weixin_28730131的博客 268

【AndrewNg机器学习】支持向量机(Support Vector Machine)

文章目录1 SVM1.1 代价函数1.2 大边界 1 SVM 1.1 代价函数 在推导svm的代价函数之前,先回顾以下逻辑回归中每一个训练样本的代价函数:−(ylog⁡hθ(x)+(1−y)log⁡(1−hθ(x)))- \left( y \log h _ { \theta } ( x ) + ( 1 - y ) \log \left( 1 - h _ { \theta } ( x ) \righ...

-  265

正确使用 SGLang 和 vLLM 中为 Qwen3 开启工具调用能力的完整指南

本文介绍了在vLLM和SGLang框架中部署Qwen3大模型并启用工具调用功能的方法。主要内容包括:vLLM中需配置--tool-call-parser hermes和--enable-auto-tool-choice参数,SGLang中使用--tool-call-parser qwen25参数;提供了完整的部署命令示例和测试工具调用的curl请求模板;对比了两个框架的关键参数差异;总结了常见问题解决方案和性能优化建议。正确配置后,Qwen3能够充分发挥其外部工具调用能力,为AI应用开发提供支持。

Ven%的博客 4448

斯坦福大学公开课 :机器学习课程(Andrew Ng)——5、监督学习:Support Vector Machine,引

1)简单说明 2)再说logistic回归 3)支持向量机的假设表示 4)函数间隔(functional margin)和几何间隔(geometric margin)     4.1)函数间隔     4.2)几何间隔 5)最优间隔分类器(optimal margin classifier) 6)简单总结 1)简单说明     支持向量

mmc2015的专栏 1761

Zemax中场曲与畸变图的深度解析与应用场景对比

本文深度解析了Zemax中场曲/畸变图与网格畸变图的核心原理、计算逻辑与适用场景。通过对比常规成像镜头、扫描镜头、鱼眼镜头及变形宽银幕镜头等实际案例,详细阐述了如何根据系统对称性、视场角及核心需求选择正确的分析工具与畸变评价标准,为光学设计中的畸变诊断与优化提供清晰指导。

sand8的博客 482

【乐企文件生成工程】添加数据库、SpringEvent事件支持

更新!1、乐企版式文件生成工程添加数据库支持2、乐企版式文件生成工程添加事件机制,异步处理文件生成,提高系统并发能力。

九七的博客 336

Andrew Ng《Machine Learning》第七讲——支持向量机SVM(Support Vector Machine)

zhonglj0314的专栏 1050

【即插即用模块】卷积篇 | TCSVT 2025 | MFACB:多尺度膨胀融合,快速扩大感受野,多尺度特征精准捕捉!

本文提出了一种新型多尺度融合膨胀卷积模块MFACB,用于增强语义分割任务中的特征表达能力。该模块通过三分支串联膨胀卷积结构快速扩大感受野,采用双路径融合机制(基础信息路径+多尺度信息路径)实现高效上下文聚合。相比传统卷积块,MFACB在保持轻量化的同时显著提升了多尺度特征捕捉能力,实验表明其性能优于基础残差块。该模块支持自定义膨胀率和步长调整,可灵活嵌入不同网络阶段,适用于需要特征增强的视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 310

斯坦福大学公开课 :机器学习课程(Andrew Ng)——7、监督学习:Support Vector Machine,立

9)规则化和不可分割情况(Regularization and the non-separable case)     之前的讨论都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。这时候我们应该允许一些点游离并在模型中违背限制条件(函数间隔大于1)。对应下面两幅图,我们更希望得到第一幅而不是第二

mmc2015的专栏 1233

为分析表明卡诺电池技术(或热泵式储电技术)-是目前最佳的储能技术!!!-2021年

卡诺电池(Carnot Battery)是一种基于热力学循环的储能技术,其核心原理是通过热力循环将电能转化为热能存储,并在需要时将热能重新转换为电能输出。这种技术得名于热力学中的卡诺循环原理,由法国工程师卡诺于1824年提出。

qq_15963745的博客 655

9.27华为OD机试真题 新系统 - 均衡调度 (Java/Py/C/C++/Js/Go)

9.26华为OD机试真题 新系统 - 均衡调度 (Java/Py/C/C++/Js/Go)

算法大师! 489

Andrew Ng machine learning课程笔记--监督学习应用,梯度下降

Last lesson I taiked about supervised learning.And supervised learning was this machine-learning problem where I said we're going to tell the algorithm what the close right answer is for a number of e...

weixin_43218659的博客 203

渗透测试工具之Sliver

攻击者需要将生成的植入物传输到目标系统,并执行它。C2 框架的架构与 Metasploit(如 Meterpreter)类似,但更专注于。(Red Teaming)中常见的攻击工具之一,攻击者利用 C2 服务器。组成,二者共同实现 C2 服务器与受控设备的通信。植入物(Implants)是 Sliver 生成的。抓包分析时,可以看到所有数据都是加密传输的。和**监听器(Listeners)**功能。Sliver 支持多种通信协议,如。随着安全防御的不断提升,企业应加强。进行通信,数据仍然是加密的。

idlecloud0105的博客 1934

斯坦福大学公开课 :机器学习课程(Andrew Ng)——6、监督学习:Support Vector Machine,破

6)拉格朗日对偶(Lagrange duality) 先抛开上一节的二次规划(最小值)问题。 对于存在等式约束的极值问题求解,通过引入拉格朗日算子构造拉格朗日公式就可以完美解决。 对于存在不等式约束的极值问题求解,如下:         我们定义更一般化的拉格朗日公式: 因为我们求解的是最小值,而这里的已经不严格等于0,而是小于等于0,我们虽然可以将调整成很大的正值以使函数的结果

mmc2015的专栏 1581

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Andrew机器学习课程 章节13——支持向量机(support vector machine)

挖挖坑

MeisterMorxrc的学习小屋 162

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

(英文版)吴恩达机器学习第七周笔记

Support Vevtor Machines 这是我在coursera上看Andrew Ng的machine learning做的英文版笔记,可以帮助学英语的小伙伴熟悉熟悉一些专业术语在英文中的表达。由于笔记是OneNote记的所以没法粘贴过来只能截图。想看PDF版本的笔记的话,可以去我的github中下载。谢谢大家的支持 ...

weixin_44426561的博客 198

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Programming Exercise 6: Support Vector Machines Machine Learning

大家好,今天总结Coursera网课上Andrew Ng MachineLearning 第六次作业 (1)gaussianKernel.mfunction sim = gaussianKernel(x1, x2, sigma) %RBFKERNEL returns a radial basis function kernel between x1 and x2 % sim = gaussia

小湉湉的博客 1659

Andrew Ng机器学习课程笔记(八)之监督学习之Support Vector Machine(3)

Preface L1 Norm Soft Margin SVM Coordinate Ascent Sequential Minimal Optimization Preface 主要内容: 在前面两篇SVM博客中我们所考虑的都是样本数据可以继续线性划分的情况,在这里我们将介绍非线性划分。 L1 Norm Soft Margin SVM(软间隔SVM) Coordinat...

danerer的专栏 357

Andrew Ng机器学习课程笔记(七)之监督学习之Support Vector Machine(2)

Preface Optimal Margin Classifier Kernels 特征转化 核函数(Kernel Function) 特殊例子 核函数有效性判定 核与核函数的推广 Preface 本文将正式开始对SVM(Support Vector Machine,支持向量机)的推导与介绍,以及最为重要的“核”的概念。 主要内容: Optimal Margin C...

danerer的专栏 329

coursera machine learning week7:Support Vector Machines 测验

coursera-week7-Support Vector Machines 测验 1 2 3 4 5

pingpingdandancaishi的博客 172

Andrew Ng 's machine learning lecture note (15)

Anomaly detectionThis algorithm can help us to realize that whether some data sets are abnormal. We should follow the steps:(1)Choose the features that you think may relate to anomalous examples(2)(3)

FrostMonarch的博客 382

机器学习第二章复习(2)

本文用于复习《Machine Learning》第二章部分内容内容来自于Andrew Ng的机器学习课程,主要是为了回忆起来方便第二章第二讲主要讲解了标准方程也就是Normal Equation Normal Equation 在之前的章节中我们用循环的方式不断寻找Jθ的最低点,来满足代价函数尽可能小,即是说预测值h和真实值y尽可能接近。对于每一个θjθ_j(j=0…n),来说都有一个关于它的一元

Yuhua Wang的博客 397

SVM学习资料

SVM学习资料 SVM(support vectormachine),被认为是“off-the-shelf”最好的监督机器学习算法之一,甚至很多人认为可以把“之一”去掉。SVM有着天然的intuition,大量的数学推导和优雅的解形式(有了大量的数学推导,自然就容易发paper啦)。实际上SVM在工业界也有着广泛的应用如,文本分类、图像分类、生物医学诊断和手写字符识别等。有关SVM资源非常之

彼岸花 1411

Machine Learning - XII. Support Vector Machines支持向量机(Week 7)

http://blog.youkuaiyun.com/pipisorry/article/details/44522881机器学习Machine Learning - Andrew NG courses学习笔记Support Vector Machines支持向量机{学习复杂非线性函数的有力方法}优化目标Optimization Objective逻辑回归SVM的Cost function另一个角度看待单个样...

皮皮blog 3849

Coursera-吴恩达-机器学习-第七周-测验-Support Vector Machines

  忘记截图了,做了二次的,有点绕这里,慢点想就好了。 正确选项是,It would be reasonable to try increasing C. It would also be reasonable to try decreasing σ2.      ...

qq1376725255的专栏 1864

机器学习--Logistic回归计算过程的推导

机器学习--Logistic回归计算过程的推导

qq_45367756的博客 102
上一篇: Andrew Ng机器学习课程笔记(五)之监督学习之Generative Learning Algorithms
下一篇: Andrew Ng机器学习课程笔记(七)之监督学习之Support Vector Machine(2)
danerli
博客等级 码龄12年 36粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值