本文主要是介绍基于Hinge Loss的Linear SVM梯度下降算法数学推导,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
传统的SVM使用凸二次规划的方式进行优化,使得损失函数收敛,参考李宏毅教授的机器学习课程的SVM的梯度下降的优化算法推导非常的简单明了,这里记录一下,并且参考Siraj Raval的例子使用梯度下降进行深入理解。
实例
生成训练SVM的数据
#To help us perform math operations
import numpy as np
#to plot our data and model visually
from matplotlib import pyplot as plt
%matplotlib inline#Step 1 - Define our data#Input data - Of the form [X value, Y value, Bias term]
X = np.array([[-2,4,-1],[4,1,-1],[1, 6, -1],[2, 4, -1],[6, 2, -1],
])#Associated output labels - First 2 examples are labeled '-1' and last 3 are labeled '+1'
y = np.array([-1,-1,1,1,1])#lets plot these examples on a 2D graph!
#for each example
for d, sample in enumerate(X):# Plot the negative samples (the first 2)if d < 2:plt.</
这篇关于基于Hinge Loss的Linear SVM梯度下降算法数学推导的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!