《支持向量机是有监督还是无监督.docx》由会员分享,可在线阅读,更多相关《支持向量机是有监督还是无监督.docx(9页珍藏版)》请在优知文库上搜索。
1、支持向量机是有监督还是无监督有监督支持向量机(SUPPOrtVeCtOrmaChine,SVM)是一种有监督的机器学习算法,主要用于解决分类问题。一、什么是支持向量机?支持向量机是一种有监督的机器学习算法。该算法广泛用于数据科学/机器学习问题,因为该算法非常强大且用途广泛。支持向量机可用于线性和非线性分类、回归,甚至异常检测。它大量用于具有复杂的中小型数据集的分类问题。支持向量机是一种非概率线性分类器,它使用几何方法来区分数据集中的不同类别。二、支持向量机中使用的术语是什么?我们了解什么是支持向量机。现在我们将深入探讨支持向量机中使用的核心概念和术语。2.1支持向量向量是表示在维图像上的数据点
2、。例如,我们在像这样(x,y)的2D图和像这样(x,y,z)这样的3D图上表示一个点,其中x,y,z是图像的轴。1210681012141618X-axis图为:支持向量因此,支持向量是n维图像上的向量,它们是离超平面最近的点并影响超平面的方向。通过这个支持向量,我们传递了超平面的正边距和负边距。2.2超平面超平面只不过是具有(nT)维的决策边界,其中n是数据集中的列数。超平面分离不同类的点/向量。示例1:在2D图像中,我们使用如下所示的线分隔点。图为:二维超平面图片中的绿线充当超平面,该超平面的方程将等于线的方程:y=WiX+Wo我们可以将其重写为:W2X2+WiZiWo=示例2:在3D图像
3、中,我们使用如下所示的平面来分隔点。图像中表示的平面充当超平面,该超平面的方程将等于平面的方程,即:W3X3+W2X2WiZiWn=0同样,对于n维数据集,超平面方程将是:WnXn+W3X3+W2X2+WiZiWo0如果我们以向量形式重写则是:WXw0=O2.3核函数核函数是SVM中用于将非线性数据转换为更高维数据集的数学函数,以便SVM可以通过使用超平面来分离数据的类别。在Scikit-Iearn中,SVM支持各种类型的内核,如linear、poly”、“rbf”、“sigmoid”o此外,我们可以创建自己的核函数并将其传递给scikit-learnSVMo现在让我们看一个例子来更好地理解核
4、函数的作用:下图代表两种类型的数据点。现在,如果我们想创建一个超平面,看起来像这样:-2.0-1.5 -1.0 -0.50005 LO L5 ZUSVMDecision Boundary我们可以观察到它无法正确分离所有点。但是如果我们考虑径向基函数作为核函数。ZO15LO0.500-05-1.0-1.5-2.0图为:RBF核超平面它能够正确地分离所有点。怎么做到的呢?实际上,径向基函数核函数会像下图那样转换数据集。我们可以观察到,在3D图像中我们可以绘制一个超平面来分离这些点。这就是借助正确的核函数让SVM对数据点进行分类的方式。2 .4边距(margin)边距是通过支持向量的线,它们始终平行
5、于超平面。3 .支持向量机如何解决分类问题支持向量机的主要任务是最大化边距离之间的距离,使得没有点越过边缘。这也称为“硬边距SVMo在理想情况下,上述条件永远不会违反,距离可以计算为:但在现实世界中,我们总是会得到带有一些异常值的不纯数据,如果我们遵循硬边距概念,那么我们将无法创建任何超平面。因此,引入了一个新概念,即“SoftMarginSVM在此,我们引入了一个新概念,即“HingeLossv:在softmarginSVM中,较链函数是离群点和边缘之间的距离之和,然后乘以超参数“C”:4 .支持向量机如何解决回归问题?在回归中,SVM采用了一些不同的方法。这种方法可以用三行来解释o第一行是
6、最佳拟合回归线,另外两行是表示误差范围的边界线。换句话说,最佳拟合线(或超平面)将是通过最大数量数据点的线,并且选择误差边界以确保最大包含。5 .支持向量机的优缺点是什么?优点:- SvM在高维空间中是有效的;- 在维数大于样本数的情况下仍然有效;- SVM是内存高效的;缺点:- 如果特征的数量远大于样本的数量,那么在选择核函数时就避免了过拟合;- SVM不像Logistic回归那样直接提供概率估计;6.如何使用Scikit-Iearn实现支持向量机?SVM的实现非常简单易行。我们只需要导入Sklearn包。对于这个例子,我们使用了一个已经存在于Sklearn包中的玩具数据集,这个例子是一个分
7、类问题。此外,我们将从python中导入一些必要的包。importumpyasnpfromsklearn.svmimportSVCfromsklearn.datasetsimportload_breast_cancerfromsklearn.model_selectionimportGridSearchCV,train_test_splitfromsklearn.metricsimportaccuracy_score,confusion-matrix,fl-sccre提取数据:raw_data=load_breast_cancer()data=raw_data.datatargetMrav/_
8、data.target我们使用乳腺癌(诊断)数据集:DataSetCharacteristics:NumberofInstances:569:NumberofAttributes:30numeric,predictiveattributesandtheclass:AttributeInformation:- radius(meanofdistancesfromcentertopointsontheperimeter)- texture(standarddeviationofgray-scalevalues)- perimeter- area- smoothness(localvariation
9、inradiuslengths)- compactness(perimeter2/area-1.0)- concavity(severityofconcaveportionsofthecontour)- concavepoints(numberofconcaveportionsofthecontour)- symmetry- fractaldimension(coastlineapproximation-1)-class:- WDBC-Malignant- WDBC-Benign将数据集切分为训练集和测试集:#Dividingthedatasetintotrain,testset.x_trai
10、n,x_test,y-train,y_test=train-test-split(datajtarget,teSJSiZe=0.25,r/欣逸Jtaw=现在使用训练数据训练模型然后预测测试数据的结果:model=SVC(C=1.0,kernel=rbf,degree=3,gamma=scale,coef=.0,Shrinking=True,probability=False,tol=.01,CaChJSiZe=2的,class_weight=None,Verbose=False,max-iter=-1,decision_function_shape=ovr,break-ties=Falsejr
11、andom_state=None)model.fit(x-train,y_train)yj)red=model.predict(x_test).最后使用混淆矩阵、accuracy_score和Fl_score测量准确度:print(,confusion-matrix:,+,nn+str(confusion-matrix(y-testjy_pred)print(,accuracy-score:,+str(accuracy-score(y-test,y_pred)print(MFl_score:,+str(fl-score(y-test1y_pred)confsion-matrix:486188accuracy_score:.9514895148951Flscore:0.9617486338797814