吃瓜教程-Task05

这篇具有很好参考价值的文章主要介绍了吃瓜教程-Task05。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

支持向量机

间隔与支持向量

SVM基本型

对偶问题

kkt条件

例子

对偶问题

例子

对偶问题原理解释

软间隔与正则化

 替代损失函数

支持向量回归

 例子


支持向量机

间隔与支持向量

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

吃瓜教程-Task05,西瓜书,机器学习

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

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

SVM基本型

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

吃瓜教程-Task05,西瓜书,机器学习


对偶问题

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(λ)}。也就是使得对偶函数的值最大的λ。这就是为什么说对偶问题是寻找原问题最优值下界的最大化问题的原因。这样,我们就能找到最接近原问题最优值的下界,也就找到了原问题的一个近似解

软间隔与正则化

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

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

 替代损失函数

吃瓜教程-Task05,西瓜书,机器学习

它们通常是凸的连续函数且是 吃瓜教程-Task05,西瓜书,机器学习的上界。

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

支持向量回归

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

吃瓜教程-Task05,西瓜书,机器学习

 例子
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)

吃瓜教程-Task05,西瓜书,机器学习文章来源地址https://www.toymoban.com/news/detail-637634.html

到了这里,关于吃瓜教程-Task05的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习西瓜书之决策树

    从逻辑角度:通过一系列if-else语句进行多重判断,比如白富美的判断条件(“白”“富”“美”)。 从几何角度:根据定义的标准进行样本空间的划分。 以二分类问题为例,我们希望通过一系列的条件进行分类。 以下是算法原理的伪代码图: 比较形象的图: 输入中的训练

    2024年02月20日
    浏览(44)
  • 机器学习西瓜书期末复习(2022HENU)

    选择题 10 * 2 填空题 10 * 1 判断题 10 * 2 简答题 4 * 5 计算题 2 * 15 机器学习的定义 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。 经验在计算机系统中通常以 数据 的形式存在。 机器学习研究的主要内容是关于在计算机上从数据中产生模型的算法

    2024年02月08日
    浏览(38)
  • 【一起啃西瓜书】机器学习-期末复习(不挂科)

    马上西瓜书期末考试,为了不挂科,需要有针对复习,内容来自专业各个学霸及老师的重点划分。 推荐: 【一起啃西瓜书】机器学习总览 卷面共100分,含5种题型,考试时间120分钟。 判断题,8道,每题2分,共16分; 填空题,7道,每题2分,共14分; 简答题,5道,每题4分,共20分; 演

    2024年02月08日
    浏览(49)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第4章决策树

    这一章学起来较为简单,也比较好理解。 4.1基本流程——介绍了决策树的一个基本的流程。叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集,从根结点到每个叶结点的路径对

    2024年02月14日
    浏览(38)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型

    过了一遍第三章,大致理解了内容,认识了线性回归模型,对数几率回归模型,线性判别分析方法,以及多分类学习,其中有很多数学推理过程以参考他人现有思想为主,没有亲手去推。 线性模型 linear model 非线性模型 nonlinear model 可解释性 comprehensibility 可理解性 understanda

    2024年02月15日
    浏览(45)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第5章神经网络

    5.1神经元模型——这是神经网络中最基本的成分。 5.2感知机与多层网络——由简单的感知机循序渐进引出多层前馈神经网络。 5.3误差逆传播算法——BP算法,迄今最成功的神经网络学习算法。算法如下(公式参考西瓜书) 停止条件与缓解BP过拟合的策略有关,一种策略是“早

    2024年02月14日
    浏览(41)
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第6章支持向量机

    6.1 间隔与支持向量—— w w w 是法向量,垂直与超平面 w T x + b = 0 w^Tx+b=0 w T x + b = 0 。这一节了解了支持向量机的基本型。 min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .    y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m . min_{w,b} frac{1}{2}||w||^2 \\\\ s.t. y_i(w^Tx_i+b) ge 1, qquad i=1,2,...,m. w , b min ​

    2024年02月14日
    浏览(38)
  • 【机器学习】西瓜书习题3.3Python编程实现对数几率回归

    参考代码 结合自己的理解,添加注释。 导入相关的库 导入数据,进行数据处理和特征工程 定义若干需要使用的函数 y = 1 1 + e − x y= frac{1}{1+e^{-x}} y = 1 + e − x 1 ​ ℓ ( β ) = ∑ i = 1 m ( − y i β T x ^ i + l n ( 1 + e β T x ^ i ) ) ell(beta) = sum_{i=1}^{m}(-y_{i}beta^{T} hat{x}_{i} + ln(1+e^{

    2024年02月15日
    浏览(39)
  • 【学习笔记、面试准备】机器学习西瓜书要点归纳和课后习题参考答案——第3章

    目录地址 线性模型定义: 其中x是输入向量 优点:形式简单,易于建模,可解释性好。 输入预处理:连续值可以直接用,离散值若有序,可以按序赋值变连续(如“高,中,低”变为“1,0.5,0”,否则可以单热点码编码。 回归常用MSE,要偏导数为0,当输入是一维时可以算

    2024年02月08日
    浏览(43)
  • 吃瓜教程笔记01

    Performance:计算机程序在某任务类T上的性能。 Task:计算机程序希望实现的任务类。 Experience:表示经验,即历史的数据集。 人的“经验”对应计算机中的“数据”,让计算机来学习这些经验数据,生成一个算法模型,在面对新的情况中,计算机便能做出有效的判断,这便是

    2024年02月08日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包