SVM推导中的问题

来源:11-2 SVM背后的最优化问题

慕侠1068201

2022-09-26

老师好,这一步有一些疑问
SVM里求需要根据d = 1/||w|| 求d的最大值,并且这里的w应该是wd , 也就是求1/||wd||的最大值。但根据下图wd = w/(||w||*d),发现wd和d有关,即d = 1/||w||的等式右边也与d有关,那么求d的最值时不需要把d移到等式同一边吗?
图片描述

写回答

1回答

liuyubobobo

2022-09-27

我不确定我是不是正确理解了你的问题,但我隐隐能感知到你的疑惑点。看看下面的回答能不能让你理解。


下面的叙述中,w 就是原始的 w,变形后的 w 叫 w_d。


===========

 

首先,你的陈述中,最大的问题是:SVM 不是求 d 的最大值,SVM 求的是:在 d 最大的情况下,w 是什么。w 是我们关注的一切。因为 SVM 的解,就是一条直线,我们要求的是这个直线方程,即 w。让 d 最大是这条直线要满足的条件。


你说的 w_d 和 d 相关,是正确的。但是:w_d 也和 w 相关。我们的后续推导的核心,恰恰就是把 w 和 d 这两个变量(这两个变量是相互制约的,d 变,w 跟着就会变;w 变,d 就会跟着变)合成了一个变量 w_d。我们不再单独看 w 或者 d,我们直接看 w_d。于是:SVM 的最优化问题变成了这个(这页 ppt 中的 w,是这个问答下的 w_d):

https://img.mukewang.com/szimg/6332131c09fa5caa19321064.jpg


为什么求解出这个 w_d,就等价于推导出了我们最初设立的直线方程 w?就是因为原来的直线方程是 w . x = 0(在这里叙述方便起见,我把 b 合在 w 里)。他和 w_d . x = 0 之间差一个 d。不管最终问题的解 d 是多少,w . x = 0 和 w_d . x = 0 都是同一条直线。(再一次,从求解这个方程的角度,我们并不关心 d 是多少,让 d 最大化只是条件,我们真正要求解的是 w.)


继续加油!:)


0
1
慕侠1068201
谢谢老师!
2022-09-27
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程

相似问题