吃瓜教程-Task05

目录

支持向量机

间隔与支持向量

SVM基本型

对偶问题

kkt条件

例子

对偶问题

例子

对偶问题原理解释

软间隔与正则化

 替代损失函数

支持向量回归

 例子


支持向量机

间隔与支持向量

在样本空间中,划分超平面可通过如下线性方程来描述:

样本空间中任意点x到超平面的距离可写为:

SVM基本型

与找到最大间隔,即可写成:


对偶问题

kkt条件

KKT条件(Karush-Kuhn-Tucker条件)是非线性优化问题的必要条件,通常用于解决包含约束条件的优化问题。它包括三个主要部分:

1)原问题的一阶导数为零,

2)松弛变量与约束条件的乘积为零(补充松弛性条件),

3)约束条件小于等于零。

例子

最小化 f(x,y) = x^2 + y^2, 受约束 g(x,y) = x + y - 1 <= 0。

1)原问题的一阶导数为零:df/dx = 2x + λ = 0,df/dy = 2y + λ = 0;

2)补充松弛性条件:λ * g(x,y) = 0;

3)约束条件:g(x,y) = x + y - 1 <= 0。

从1)我们可以得到 x = -λ/2,y = -λ/2,代入约束条件得到 λ = -2。代入回原问题解得到x = y = 1。验证满足所有条件,这是最优解。

对偶问题

对偶问题是一种优化策略,用于解决难以直接解决的原始优化问题。原始问题的对偶问题可以提供原问题解的下界(最小化问题)或上界(最大化问题)。对偶问题在许多优化算法(如支持向量机和线性规划)中被广泛应用,因为它通常具有更简单的数学形式,更易于求解。如果问题满足一些条件(如凸性和约束条件),原问题和对偶问题的解会相等,称为强对偶性。

例子

原始问题是:最小化 f(x) = x^2,满足条件 g(x) = x - 2 >= 0。

首先,构造拉格朗日函数L(x,λ) = f(x) - λg(x) = x^2 - λ(x - 2)。这里的λ是拉格朗日乘子,对应于约束g(x)。这个函数包含了原始问题的目标函数和约束,使得我们能够同时处理它们。

然后,我们构造对偶函数D(λ),它是拉格朗日函数L(x,λ)关于x的最小值。即,对于每个λ,找到最小化L(x,λ)的x。我们可以通过求解L(x,λ)的导数并令其等于零来找到这个x:2x - λ = 0,解出 x = λ / 2。然后,我们用x = λ / 2替换拉格朗日函数中的x,得到D(λ) = (λ/2)^2 - λ(λ/2 - 2) = -λ^2/2 + 2λ。

对偶问题是:最大化 D(λ)。即,找到使D(λ)最大的λ。我们可以通过求解D(λ)的导数并令其等于零来找到这个λ:-λ + 2 = 0,解出 λ = 2。

最后,我们将λ = 2带回原始问题,得到原始问题的解x = λ / 2 = 1。因此,原始问题的最小值是f(x) = (1)^2 = 1。

对偶问题原理解释

原始问题是寻找一个解来最小化目标函数。对于包含约束的最小化问题,我们可以构建拉格朗日函数,然后寻找使这个函数最小的值。然后,我们定义对偶函数,对偶函数是对于每个λ,拉格朗日函数的最小值。

然而,对于某些λ,对偶函数的值可能低于原问题的最优值。为什么会这样呢?这是因为拉格朗日函数包含了原问题的目标函数和约束。在满足所有约束的x值中,原问题的目标函数是有一个最小值的。而在所有x(可能并不满足所有约束)中,拉格朗日函数则可能找到一个更小的值。

对于所有可能的x(包括违反约束的x),在某些λ下,拉格朗日函数可能会比原问题的最优值还要小。这是因为λ * g(x)可能会使得拉格朗日函数减小,即使f(x)并未达到最小值。因此,对偶函数D(λ) = min_x{L(x, λ)}可能会给出一个小于原问题最优值的下界。而我们的目标是找到一个使这个下界尽可能大的λ,即求解max λ {D(λ)}。也就是使得对偶函数的值最大的λ。这就是为什么说对偶问题是寻找原问题最优值下界的最大化问题的原因。这样,我们就能找到最接近原问题最优值的下界,也就找到了原问题的一个近似解

软间隔与正则化

在现实任务往往很难确定合适的核函数使得训练样本在特征空间 中线性可分,所以我们允许支持向量机在一些样本上出错。

 替代损失函数

它们通常是凸的连续函数且是 的上界。

支持向量回归

 例子

from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn.datasets import make_regression
import numpy as np# 创建一个回归问题的数据集
X, y = make_regression(n_samples=100, n_features=1, noise=0.1)# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 使用线性核函数创建一个支持向量回归模型
svr = SVR(kernel='linear', epsilon=0.1, C=1.0)# 在训练集上训练模型
svr.fit(X_train, y_train)# 在测试集上测试模型
y_pred = svr.predict(X_test)# 计算并输出均方误差
mse = mean_squared_error(y_test, y_pred)
print('Mean squared error: ', mse)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/82109.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在软件测试中,如何有效地跟踪和管理缺陷?

在软件测试中&#xff0c;跟踪和管理缺陷是非常重要的&#xff0c;因为这有助于确保所有问题得到妥善处理&#xff0c;避免在产品发布后出现问题。以下是跟踪和管理缺陷的一些有效方法&#xff1a; 1.创建缺陷报告&#xff1a;当发现一个缺陷时&#xff0c;应该立即创建一个缺…

无涯教程-Perl - binmode函数

描述 此函数设置在区分两者的操作系统上以二进制形式读取和写入FILEHANDLE的格式。非二进制文件的CR LF序列在输入时转换为LF,在LF时在输出时转换为CR LF。这对于使用两个字符分隔文本文件中的行的操作系统(MS-DOS)至关重要,但对使用单个字符的操作系统(Unix,Mac OS,QNX)没有影…

《合成孔径雷达成像算法与实现》Figure3.4

代码对补零信号与未补零信号都进行了实现&#xff0c;补零信号更加贴近书中图3.4的样子&#xff1a; clc clear all close all%参数设置 TBP 100; %时间带宽积 T 10e-6; %脉冲持续时间 alpha_os [1.4,1.2,1.0,0…

电脑开不了机如何解锁BitLocker硬盘锁

事情从这里说起&#xff0c;不想看直接跳过 早上闲着无聊&#xff0c;闲着没事干&#xff0c;将win11的用户名称改成了含有中文字符的用户名&#xff0c;然后恐怖的事情发生了&#xff0c;蓝屏了… 然后就是蓝屏收集错误信息&#xff0c;重启&#xff0c;蓝屏收集错误信息&…

可靠传输概述——停止-等待协议

基本概念&#xff1a; 使用差错检测技术&#xff08;例如循环冗余校验CRC&#xff09;&#xff0c;接收方的数据链路层就可检测出帧在传输过程中是否出现了误码。 此时有&#xff1a; 不可靠传输服务&#xff1a;仅仅丢弃有误码的帧&#xff0c;其他什么也不做 可靠传输服务&a…

IDEA常用插件介绍

1.CodeGlance&#xff08;CodeGlance Pro&#xff09; 安装后&#xff0c;重新启动编译器即可。 CodeGlance是一款非常好用的代码地图插件&#xff0c;可以在代码编辑区的右侧生成一个竖向可拖动的代码缩略区&#xff0c;可以快速定位代码的同时&#xff0c;并且提供放大镜功能…

JVM 学习—— 类加载机制

前言 在上一篇文章中&#xff0c;荔枝梳理了有关Java中JVM体系架构的相关知识&#xff0c;其中涉及到的有关Java类加载机制的相关知识并没有过多描述。那么在这篇文章中&#xff0c;荔枝会详细梳理一下有关JVM的类加载机制和双亲委派模型的知识&#xff0c;希望能够帮助到有需要…

Protues如何安装下载使用:STM32利用Protues进行仿真

文章目录&#xff1a; 一&#xff1a;Proteus仿真的使用步骤 第一步&#xff1a;Proteus新建项目 第二步&#xff1a;Proteus设计电路图&#xff08;选取元器件、摆放元器件、编辑元器件属性、原理图布线&#xff09; 第三步&#xff1a;程序代码编写 第四步&#xff1a;…

Visual Studio 2022安装

Visual Studio下载网址

Netty 4.1.95.Final 正式发布,Java 网络应用框架

导读Netty 4.1.95 稳定版已发布。Netty 是一个异步事件驱动的网络应用框架&#xff0c;主要用于可维护的高性能协议服务器和客户端的快速开发。 此版本主要是修复错误&#xff0c;同时添加了一些新特性&#xff1a; 添加资源泄漏侦听器 (resource leak listener) (#13466)减少…

【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA)

【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA) 什么是弹性伸缩 「Autoscaling即弹性伸缩&#xff0c;是Kubernetes中的一种非常核心的功能&#xff0c;它可以根据给定的指标&#xff08;例如 CPU 或内存&#xff09;自动缩放Pod副本&#xff0c;从而可以更好地管…

应用在多媒体手机中的低功率立体声编解码器

多媒体手机一般是指可以录制或播放视频的手机。多媒体的定义是多种媒体的综合&#xff0c;一般是图像、文字、声音等多种结合&#xff0c;所以多媒体手机是可以处理和使用图像文字声音相结合的移动设备。目前流行的多媒体概念&#xff0c;主要是指文字、图形、图像、声音等多种…

一文搞定接口幂等性架构设计方案

幂等性介绍 现如今很多系统都会基于分布式或微服务思想完成对系统的架构设计。那么在这一个系统中&#xff0c;就会存在若干个微服务&#xff0c;而且服务间也会产生相互通信调用。那么既然产生了服务调用&#xff0c;就必然会存在服务调用延迟或失败的问题。当出现这种问题&a…

STM32 低功耗-睡眠模式

STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中&#xff0c;具有四种工作模式&#xff1a;运行、睡眠、停止和待机模式。 在系统或…

谷歌推出Flax:JAX的神经网络库

在优化理论中&#xff0c;损失或成本函数测量拟合或预测值与实际值之间的距离。对于大多数机器学习模型&#xff0c;提高性能意味着最小化损失函数。 但对于深度神经网络&#xff0c;执行梯度下降以最小化每个参数的损失函数可能会消耗大量资源。传统方法包括手动推导和编码&a…

nginx部署以及反向代理多域名实现HTTPS访问

nginx部署以及反向代理多域名实现 1.nginx部署 1.1 编写nginx部署文件 docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx-mainports:- 80:80- 443:443volumes: # 基础配置- /opt/nginx_main/nginx-info/nginx.conf:/…

【枚举】CF1706 C

有人一道1400写了一个小时 Problem - C - Codeforces 题意&#xff1a; 思路&#xff1a; 首先先去观察样例&#xff1a; 很显然&#xff0c;对于n是奇数的情况&#xff0c;只有一种情况&#xff0c;直接操作偶数位就好了 主要是没搞清楚n是偶数的情况 其实有个小技巧&…

SQL 相关子查询 和 不相关子查询、Exists 、Not Exists、 多表连接(包含自连接)

不相关子查询 子查询的查询条件不依赖于父查询&#xff0c;称不相关子查询。子查询可以单独运行的 select stu_id,sex,age from student t where sex(select sexfrom studentwhere stu_id10023 )相关子查询 关联子查询 子查询的查询条件依赖于父查询&#xff0c;称为 相关子…

protobuf 2定义string常量

背景 protobuf 2中定义的enum枚举值必须为数字类型&#xff0c;故不支持string类型&#xff0c;但有些业务场景又确实需要定义string常量。 目标 在protobuf 2中定义string常量。 方案 思路&#xff1a;通optional default实现string常量。 细节&#xff1a; 1、protobu…

冠达管理:创新药概念强势拉升,康希诺大涨超15%

立异药概念9日盘中强势拉升&#xff0c;到发稿&#xff0c;昊帆生物“20cm”涨停&#xff0c;康希诺大涨超15%&#xff0c;翰宇药业涨近13%&#xff0c;德展健康涨停&#xff0c;泰格医药、药石科技涨超7%。 康希诺昨日晚间公告&#xff0c;8月7日&#xff0c;公司与 AstraZene…