机器学习推导合集02-SVM简明入门1-硬边界SVM的建模过程

本文是机器学习中SVM(支持向量机)的入门教程,介绍了SVM针对线性可分数据的建模过程,包括可行超平面的概念、支持向量和支持向量机的优化目标。内容基于Learning from data一书,适合具备基本解析几何和线性代数知识的读者。虽然不涉及数值优化和复杂数学证明,但会讲解如何使用python和cvxopt库实现简单的SVM分类器。
摘要由CSDN通过智能技术生成

1 前序

第一次遇到SVM,是在写爬虫作验证码的识别。做完预处理将数字弄成特征向量后,发现SVM能将其正确分类,从此对ML感兴趣。我第一步就想自己将sklearn实现的东西自己去写一遍,体会其中的精妙。结果过了一年半,即将步入本三,才敢说自己对机器学习,支持向量机有了浅显的认知。

基于SVM的验证码识别

当时在翻阅网上SVM的教程,发现到处充满了优化的痕迹:KKT, Slater强对偶条件,等等。现在认为混杂了太多优化和数学知识,门槛较高,会强迫读者去接受一些无法证明的结论。其中最有趣的,就是看各个教程各显神通从几何角度解释KKT条件了。然而,从建模角度看SVM,而非触及数值优化的部分,可以让读者清晰的知道SVM在做些什么。

2 介绍

本教程基于Learning from data一书第8章(电子版)整理所得。看懂教程需要:

  1. 基本的解析几何知识(例如知道三维空间平面可以表示为ax+by+c=0等)
  2. 线性代数简单的运算操作(向量内积,矩阵乘法等)
  3. 证明中逻辑学的基本符号(因为所以等):\forall, \exists,\therefore, \cdots

 在本节教程你会学/不会学到:

  1. SVM的数学建模与推理√
  2. QP问题的数值求解方法×
  3. KKT条件Slater强对偶情形×
  4. 使用python与cvxopt库的QP-solver去实现简单的SVM分类器√
  5. 步步推导,步步为营√

 由于QP问题的数值解法(如内点法)学习门槛过高,也非我们主要关注对象。我引用布鲁斯·布坎南(Bruce G.Buchanan)对于计算机科学领域的分类方式,来说服你们:先别碰这些了。真要学,也不应该从SVM切入。

计算机科学的划分

由于教程事先用letax格式书写,有些不方便迁移的部分用图片表示,敬请谅解。

思维导图

3 SVM问题引入

3.1 SVM针对什么问题?

 3.2数学记号

4 SVM问题建模 

4.1可行超平面

4.2 支持向量(support vector)和分类间隔(margin)

4.3 SVM优化目标

算法总结Summury

3 SVM问题引入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值