日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

SVM-SMO算法python实现

發(fā)布時間:2025/4/16 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVM-SMO算法python实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

支持向量機SMO算法可參照李航《統(tǒng)計學(xué)習(xí)方法論》一書,博客可參考:

https://blog.csdn.net/willbkimps/article/details/54697698

https://www.cnblogs.com/pinard/p/6111471.html


參考寫了一個簡易的python代碼:

# -*- coding: utf-8 -*- ''' Created on 2018年4月16日@author: Jason.F @summary: SVM -序列最小優(yōu)化(Sequential Minimal Optimization,SMO),將大優(yōu)化問題分解為多個小優(yōu)化問題來求解。 ''' import time import os import numpy as np import randomclass SMO:def __init__(self,C,toler,maxIter):self.C=C #常數(shù)self.toler=toler#容錯率self.maxIter=maxIter#退出迭代的最大循環(huán)次數(shù)def loadDataSet(self,fileName):dataMat =[]labelMat = []fr = open (fileName)for line in fr.readlines():lineArr = line.strip().split('\t')dataMat.append([float(lineArr[0]),float(lineArr[1])])labelMat.append(float(lineArr[2]))return dataMat,labelMatdef selectJrand(self,i,m):#隨機選擇j=iwhile (j==i):j = int(random.uniform(0,m))return jdef clipAlpha(self,aj,H,L):#最小不能超過L,最大不能超過Hif aj>H:aj = Hif L>aj:aj=Lreturn ajdef smoSimple(self,dataMatIn,classLabels):dataMatrix = np.mat(dataMatIn)labelMat = np.mat(classLabels).transpose()b=0m,n=np.shape(dataMatrix)alphas = np.mat(np.zeros((m,1)))iter=0while (iter<self.maxIter):alphaPairsChanged=0for i in range(m):fXi = float(np.multiply(alphas,labelMat).T * (dataMatrix * dataMatrix[i,:].T))+bEi = fXi- float(labelMat[i])#誤差if ( (labelMat[i]*Ei < -self.toler) and (alphas[i]<self.C)) or ((labelMat[i]*Ei >self.toler) and (alphas[i]>0)):j = self.selectJrand(i,m)fXj = float(np.multiply(alphas,labelMat).T * (dataMatrix * dataMatrix[j,:].T))+bEj = fXj- float(labelMat[j])#誤差alphaIold = alphas[i].copy()alphaJold = alphas[j].copy()if (labelMat[i] != labelMat[j]):L = max(0,alphas[j]-alphas[i])H = min(self.C,self.C+alphas[j]-alphas[i]) else:L = max(0,alphas[j]+alphas[i]-self.C)H = min(self.C,alphas[j]+alphas[i]) if L==H:print 'L==H'continueeta = 2.0 * dataMatrix[i,:]*dataMatrix[j,:].T - dataMatrix[i,:]*dataMatrix[i,:].T - dataMatrix[j,:]*dataMatrix[j,:].Tif eta>=0:print 'eta>=0'continuealphas[j] -= labelMat[j] *(Ei - Ej)/etaalphas[j] = self.clipAlpha(alphas[j], H, L)if (abs(alphas[j]-alphaJold)<0.00001):print 'j not moving enough.'continuealphas[i] += labelMat[j] * labelMat[i] *(alphaJold-alphas[j])b1 = b - Ei - labelMat[i] * (alphas[i] - alphaIold) * dataMatrix[i,:]*dataMatrix[i,:].T-labelMat[j] * (alphas[j] - alphaJold) * dataMatrix[i,:]*dataMatrix[j,:].Tb2 = b - Ej - labelMat[i] * (alphas[i] - alphaIold) * dataMatrix[i,:]*dataMatrix[j,:].T-labelMat[j] * (alphas[j] - alphaJold) * dataMatrix[j,:]*dataMatrix[j,:].Tif (0<alphas[i]) and (self.C > alphas[i]):b =b1elif (0<alphas[j]) and (self.C >alphas[j]):b=b2else :b =(b1+b2)/2.0alphaPairsChanged +=1print 'iter: %d i: %d, pairs changed %d' % (iter,i,alphaPairsChanged)if (alphaPairsChanged ==0 ) :iter +=1else:iter =0print 'iteration number:%d'%iterreturn b,alphasif __name__ == "__main__": start = time.clock() homedir = os.getcwd()#獲取當(dāng)前文件的路徑smo=SMO(C=0.6,toler=0.001,maxIter=50)#傳遞方法dataArr,labelArr = smo.loadDataSet(homedir+'/testSet.txt')b,alphas =smo.smoSimple(dataArr, labelArr)print (b)print (alphas)end = time.clock() print('finish all in %s' % str(end - start))算法的思想以及更多優(yōu)化待進(jìn)一步深入研究。

總結(jié)

以上是生活随笔為你收集整理的SVM-SMO算法python实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av中文网站| 91福利在线观看视频 | 欧美色图12p | 黄色在线视频网址 | 亚洲爆爽 | 成人性生交大片免费卡看 | 人人射人人插 | 亚洲AV无码成人精品区在线观 | 免费成人在线播放 | 国产精品揄拍100视频 | 国产永久免费 | 天天干天天操天天拍 | 无码人妻一区二区三区一 | 青草超碰 | 久久久久久91香蕉国产 | 亚洲大色网 | 全国男人天堂网 | 十八岁世界在线观看高清免费韩剧 | 日韩avwww | 欧美精品二区三区四区免费看视频 | 国模吧一区二区三区 | 丰满人妻翻云覆雨呻吟视频 | 男人日女人在线观看 | 免费国产一区二区 | 毛片久久久久久久 | 69久人妻无码精品一区 | 国产欧美一区二区三区鸳鸯浴 | 天天久久综合 | 青青操视频在线观看 | 日日干夜夜爱 | 理论片一区 | 国产福利短视频 | 午夜免费在线观看 | 少妇按摩一区二区三区 | 亚洲三级免费 | 国产又大又粗又硬 | 国产稀缺真实呦乱在线 | 国产51视频| 国产亚洲性欧美日韩在线观看软件 | 国产精品自产拍在线观看 | 国产片一区二区三区 | 欧洲视频一区 | 欧美久操| 中文字幕第66页 | 亚洲另类在线观看 | 亚洲AV无码成人精品国产一区 | 99久久久无码国产精品6 | 99久久网站| 日韩成人免费电影 | 在线亚洲+欧美+日本专区 | 龚玥菲一级淫片 | 欧美性福利 | 潘金莲一级淫片aaaaa武则天 | 亚洲av无码不卡 | a免费视频| 国产网站av | 欧洲女女同性videoso | 精品国产一区二区三区性色av | 在线播放国产精品 | 成人久久一区二区 | 国内精品91 | 激情五月婷婷综合 | 嫩草一二三 | 欧美日韩一区二区在线观看 | 国产精品久久久久久av | 欧美高清精品一区二区 | 天天综合永久入口 | 反差在线观看免费版全集完整版 | 亚洲无毛视频 | 黄色视屏在线看 | 伊人日本 | 四虎影视黄色 | 美女福利视频导航 | 屁屁影院第一页 | 肉大捧一进一出免费视频 | 视频一区二区三区精品 | 色婷婷激情 | 女人的天堂网站 | 在线播放第一页 | 麻豆精品影院 | 精品国产午夜福利 | 日本一二三区在线 | 中文精品视频 | 久久麻豆精品 | 91伦理在线 | 香蕉久久夜色精品 | 免费的理伦片在线播放 | 久久公开视频 | 97av.com| 久久精品国产亚洲av麻豆图片 | 久久精品一区二区免费播放 | 亚洲啪啪网站 | 国产精品国产精品国产专区不片 | 肉色超薄丝袜脚交一区二区图片 | 揉我啊嗯~喷水了h视频 | 亚洲精品一卡 | 国产色视频一区二区三区qq号 | 国产亚洲av片在线观看18女人 | 日韩亚洲精品视频 |