当前位置: 首页 > wzjs >正文

做网站后台怎么弄深圳网站建设三把火科技

做网站后台怎么弄,深圳网站建设三把火科技,wordpress海外建站,根据域名查询网站名称支持向量机-python实现 由于本菜鸟目前还没有学习到软间隔和核函数的处理,so,先分享的硬间隔不带核函数,也就是不涉及非线性可分转化成线性可分的逻辑,后续如果学的懂,就在本篇文章的代码中继续拓展核函数等。 先来看…

支持向量机-python实现

由于本菜鸟目前还没有学习到软间隔和核函数的处理,so,先分享的硬间隔不带核函数,也就是不涉及非线性可分转化成线性可分的逻辑,后续如果学的懂,就在本篇文章的代码中继续拓展核函数等。

先来看看支持向量机的概念和解决的问题

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

咱们来举个例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上代码了

# 用于函数求导的
import sympy as sp
import numpy as np# 硬间隔不带核函数支持向量机
class SVM:# learn_rate:学习率# lambda_rate: 转移率# descend_times: 梯度下降次数# w:超平面所有纬度的斜率(是个向量)# b:常数# train_x: 测试输入数据# train_y:测试输出数据# labels: 属性类别def __init__(self, learn_rate=0.01, lambda_rate=0.01, descend_times=1000):self.learn_rate = learn_rateself.lambda_rate = lambda_rateself.descend_times = descend_timesself.w = Noneself.b = Noneself.train_x = []self.train_y = []self.labels = []# 类别映射def type_mapping(self, Y):return np.array([(1 if item == Y[0] or item == 1 else -1) for item in Y])# 对于最后一个an变量,可用a0-an-1化简def getParamsA(self, symbols, Y, size, i):if i < size - 1:return symbols[i]else:res = 0.0for index in range(size - 1):res += (symbols[index] * Y[index])return -1.0 * Y[i] * res# 拉格朗日乘数法求解def lagrange_mutiply(self, X, Y):Y, size = self.type_mapping(Y), len(X)params_symbol = np.array([None] * size)for i in range(size):params_symbol[i] = sp.symbols('a' + str(i))L = 0.0for i in range(size):for j in range(size):L += (self.getParamsA(params_symbol, Y, size, i)* self.getParamsA(params_symbol, Y, size, j)* Y[i] * Y[j]* np.dot(X[i], X[j]))L = sp.simplify(0.5 * L - sum(params_symbol[:size - 1]) - self.getParamsA(params_symbol, Y, size, size - 1))res_symbol, res_var = [], []for i in range(size - 1):res_symbol.append(sp.diff(L, params_symbol[i]))res_var.append(params_symbol[i])diff_solve = sp.solve(res_symbol, res_var)res_last_value = 0.0for i in range(size - 1):res_last_value += (diff_solve[params_symbol[i]] * Y[i])diff_solve[params_symbol[size - 1]] = -1 * Y[size - 1] * res_last_value# 向量中不包含负数w, b = np.zeros(len(X[0])), 0if len([item for item in list(diff_solve.values()) if item < 0]) == 0:for k_i, key in enumerate(params_symbol):w += (diff_solve[key] * Y[k_i] * X[k_i])b = np.dot(w, X[0]) - Y[0]else:  # 向量中包含负数,采取随机梯度下降算法求解w和bfor t in range(self.descend_times):for idx, x_i in enumerate(X):condition = Y[idx] * (np.dot(x_i, w) - b) >= 1if condition:w -= self.learn_rate * (2 * self.lambda_rate * w)else:w -= self.learn_rate * (2 * self.lambda_rate * w - np.dot(x_i, Y[idx]))b -= self.learn_rate * Y[idx]return w, b# 数据处理def fit(self, X, Y, Labels):X, Y = np.array(X), np.array(Y)self.train_x, self.train_y, self.labels = X, Y, Labelsself.w, self.b = self.lagrange_mutiply(X, Y)# 分类判断def predict(self, X):t = 1 if np.dot(self.w, np.array(X)) - self.b > 0 else -1y_ = list(self.type_mapping(self.train_y)).index(t)return self.train_y[y_]m = SVM()
m.fit([[3, 3, 4], [4, 3, 5], [1, 1, 1]], ["正例", "正例", "反例"], ["图像宽度","图像高度","图像大小"])
print(m.predict([1, 2, 2]))

分类结果打印

我们来看看效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/93ce42a2444f4b4e84fd6ccce447bb3c.png

http://www.dtcms.com/wzjs/167895.html

相关文章:

  • 做qq图片的网站吗百度人工服务
  • 网站建设服务谁便宜宁波 seo排名公司
  • 网站动态网页不利于seo百度一下 你就知道官网 新闻
  • 济南专业做网站的公司哪家好如何快速优化网站排名
  • 可靠的上海网站建设百度投放广告联系谁
  • 如何自建网站入口口碑营销
  • 免费推广的手段和方法企业网站seo公司
  • 学ui哪家培训机构好广州seo优化
  • 江苏省住房和城乡建设部网站模板建网站价格
  • python做的网站有什么漏洞怎样进行网络营销吸引顾客
  • 镇江个人网站建设浏览器广告投放
  • 潜江资讯网58同城上海优化价格
  • 自己建设网站怎么做营销效果分析怎么写
  • 三站一体网站制作新人做外贸怎么找国外客户
  • 哪个网站有做形象墙服务外包平台
  • 网站开发团队人员谷歌浏览器安卓版下载
  • wordpress中文站深圳市网络品牌推广
  • 如何在网站页面做标注淮安网站seo
  • 如何做优秀的视频网站设计百度一下你就知道了官网
  • 软件管理杭州百家号优化
  • 在线生成网页工具网站按天扣费优化推广
  • 辽宁省建设执业信息网官网windows优化大师兑换码
  • 网站上做百度广告赚钱么seo技术教学视频
  • 自建网站如何在百度上查到网站建设方案推广
  • 注册安全工程师条件百度seo多少钱一个月
  • 网站怎样绑定域名百度官网app
  • 网站app制作平台如何做网站优化seo
  • wordpress只有文字上海网络排名优化
  • 深圳市城乡和建设局网站百度推广二级代理商
  • 网站优化的方法盘古百晋广告营销是干嘛