机器学习(西瓜书)注解:第6章 支持向量机

题目:机器学习(西瓜书)注解:第6章 支持向量机

经常听人说南大周老师所著的《机器学习》(以下统称为西瓜书)是一本入门教材,是一本科普性质的教科书。在该书第十次印刷之际,周老师在“如何使用本书”中也提到“这是一本入门级教科书”。然而,本人读起来却感觉该书远不止“科普”“入门”那么简单,书中的很多公式需要思考良久方能推导,很多概念需要反复咀嚼才能消化。边读边想着是不是应该将自己学习时遇到的一些知识难点的解析分享出来,以帮助更多的人入门。自己的确也随手做过一些笔记,但由于怀疑这仅是自己的个别现象,毕竟读书期间,思考更多的是如何使用单片机、DSP、ARM、FGPA等,而这些基本是不需要推导任何公式的,因此作罢。偶然间在周老师的新浪微博看到如下对话:

此时方知,可能“读不懂”并不是个别现象。因此决定写一本“西瓜书注解”或者称为“西瓜书读书笔记”,对自己研读西瓜书时遇到的“台阶”进行解释和推导,以帮助更多的人能够更快地进入到这个领域。另外,近期越来越强地意识到,扎扎实实地推导一些基础算法的公式,无论是对于理解算法本身机理还是进行学术研究,都是非常有必要的。

自己会根据个人学习进度和研究需要按章发布,本次先发布“第6章 支持向量机”,针对该章注解有任何问题欢迎在此留言~

不知道能不能坚持写完,加油!

最后,毕竟自己也是一名初学者,所以可能一些概念解释并不完整、一些公式推导并不优美,甚至会存在错误,这是不可避免的,不接受漫骂,但欢迎将问题反馈给我,共同学习进步!

(网盘链接:https://pan.baidu.com/s/1QtEiNnk8jMzmbs0KPBN-_w

 

第 6 章目录:
第 6 章 支持向量机.........................................................................................................................1
        6.1 间隔与支持向量................................................................................................................1
                1、式(6.2)的推导.............................................................................................................1
                2、式(6.3)的推导.............................................................................................................2
                3、式(6.4)的推导.............................................................................................................2
                4、式(6.6)的解释.............................................................................................................2
        6.2 对偶问题............................................................................................................................3
                1、式(6.8)的推导.............................................................................................................3
                2、式(6.9)的推导.............................................................................................................4
                3、式(6.10)的推导...........................................................................................................4
                4、式(6.11)的推导...........................................................................................................4
                5、式(6.12)的推导...........................................................................................................5
                6、式(6.13)的推导...........................................................................................................5
        6.3 核函数................................................................................................................................6
                1、式(6.19)的解释...........................................................................................................6
                2、式(6.22)的解释...........................................................................................................6
                3、式(6.24)的解释...........................................................................................................7
        6.4 软间隔与正则化................................................................................................................7
                1、式(6.35)的推导...........................................................................................................7
                2、式(6.40)的推导...........................................................................................................8
                3、对率回归与支持向量机的关系.................................................................................8
                4、有关支持向量意义的疑问.......................................................................................10
        6.5 支持向量回归..................................................................................................................11
                1、式(6.45)的解释.........................................................................................................11
                2、式(6.46)的解释.........................................................................................................11
                3、式(6.47)的推导.........................................................................................................11
                4、式(6.51)的推导.........................................................................................................12
                5、式(6.52)的解释.........................................................................................................12
                6、式(6.53)的解释.........................................................................................................13
                7、式(6.54)的解释.........................................................................................................13
        6.6 核方法..............................................................................................................................13
                1、定理 6.2(表示定理)的说明......................................................................................13
                2、式(6.70)的推导.........................................................................................................14
                3、核对率回归(Kernelized Logistic Regression) .....................................................18

 

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,主要用于二分类问题。它通过寻找一个超平面来对样本进行分割,使得不同类别的样本点尽可能地被分开,并且使得超平面与最近的样本点之间的间隔最大化。 SVM的基本思想是将样本点映射到高维空间中,使得在高维空间中的样本点能够更容易地被线性分割。在高维空间中,SVM通过寻找一个最优的超平面来进行分类,这个超平面可以最大化不同类别样本点之间的间隔,从而提高分类的准确性。 SVM的训练过程可以转化为一个凸二次规划问题来求解,通过求解这个问题可以得到最优的超平面参数。在实际应用中,SVM可以使用不同的核函数来进行非线性分类,常用的核函数有线性核、多项核和高斯核等。 以下是一个使用SVM进行二分类的示例代码: ```python from sklearn import svm from sklearn.datasets import make_blobs import matplotlib.pyplot as plt # 生成样本数据 X, y = make_blobs(n_samples=100, centers=2, random_state=0, cluster_std=0.6) # 创建SVM模型 clf = svm.SVC(kernel='linear') # 训练模型 clf.fit(X, y) # 绘制决策边界 plt.scatter(X[:, 0], X[:, 1], c=y, s=30, cmap=plt.cm.Paired) ax = plt.gca() xlim = ax.get_xlim() ylim = ax.get_ylim() # 创建网格来评估模型 xx = np.linspace(xlim[0], xlim[1], 30) yy = np.linspace(ylim[0], ylim[1], 30) YY, XX = np.meshgrid(yy, xx) xy = np.vstack([XX.ravel(), YY.ravel()]).T Z = clf.decision_function(xy).reshape(XX.shape) # 绘制决策边界和支持向量 ax.contour(XX, YY, Z, colors='k', levels=[-1, 0, 1], alpha=0.5, linestyles=['--', '-', '--']) ax.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=100, linewidth=1, facecolors='none', edgecolors='k') plt.show() ``` 这段代码使用了scikit-learn库中的SVM模块,通过make_blobs函数生成了一个二分类的样本数据,并使用线性核的SVM模型进行训练和预测。最后,通过绘制决策边界和支持向量的方可视化了分类结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值