【ML算法】监督学习——支持向量机

本文深入探讨了支持向量机(SVM)的基本原理及其解决线性不可分问题的方法。介绍了通过映射样本点到高维空间,使得原本线性不可分的数据变得线性可分,并解释了如何选择最优超平面以最大化正负样本之间的间隔。

前言

这一系列文章将介绍各种机器学习算法,部分算法涉及公示推导,我的博客中另有板块介绍基于python和R实现各种机器学习算法,详情见置顶的目录。本文介绍支持向量机。我的GitHub上面也会有详细介绍,地址为:https://github.com/roguesir.

算法介绍

支持向量机(Support Vector Machine,SVM),是一种杰出的机器学习算法,在深度神经网络兴起之前,一直成为大规模高级机器学习算法的首选。
SVM与决策树、逻辑回归一样,是一种分类算法,监督学习算法,为了解决传统的线性不可分问题而设计的一种分类算法。

算法推导

对于一个二分类问题,支持向量机要做的是将多维样本点从input space映射到feature space,这个feature space就是一个超平面,从而将线性不可分问题转化为线性可分问题。

空间中的超平面可以表示为:$$ y =g(x)= wx + b\tag{1}$$ 其中$w$ 的方向与超平面垂直,下面计算空间中一点到这个超平面的距离:$$ x = x' + \lambda w\tag{2}$$ $$g(x) = w(x'+\lambda w) +b=wx'+b+\lambda ww=\lambda ww \tag{3}$$所以,空间中任意一点到超平面的距离为: $$ d=||x-x'||=\lambda w=\frac{|g(x)|}{||w||} \tag{4}$$

如此,原点到超平面的距离为: (5) d = ∣ b ∣ ∣ ∣ w ∣ ∣ d=\frac{|b|}{||w||} \tag{5} d=wb(5) 空间中会有很多个超平面可以将样本点分开,如何进行选择呢?这里引入了margin这个概念来衡量超平面的好坏。

形成不同超平面的同时,也会产生不同的margin,这里可以理解为间隔,即分离正负样本点间的距离大小,我们的目标是产生最大间隔,即下图中左面的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值