吴恩达《机器学习》12-2-12-3:大边界的直观理解、大边界分类背后的数学

news2024/11/26 9:57:00

一、大边界的直观理解

1. 大间距分类器的背景

支持向量机的大间距分类器着眼于构建一个能够在正负样本之间划定最大间距的决策边界。为了理解这一点,首先观察支持向量机的代价函数,其中涉及到正负样本的代价函数cos𝑡1(𝑧)和cos𝑡0(𝑧)。

对于正样本(𝑦 = 1),我们希望𝜃^𝑇𝑥的值大于等于 1,而对于负样本(𝑦 = 0),希望𝜃^𝑇𝑥的值小于等于 -1。这要求决策边界不仅能够正确分离样本,还需要具备足够的“安全间距”。

2. 支持向量机的大间距特性

支持向量机不仅仅追求正确分类样本,更强调在分类过程中保持最大的间距。这一点通过引入一个常数𝐶来体现,当𝐶取非常大的值时,最小化代价函数将迫使𝜃^𝑇𝑥的值趋近于零,即实现最大间距分类器。

3. 优化问题与决策边界

通过解决一个相应的优化问题,可以得到支持向量机的决策边界。当𝐶非常大时,最优解将使得代价函数的第一项为零,从而得到一个大间距分类器。这种分类器在分离正负样本时更为鲁棒,因为它努力最大化正负样本之间的距离。

4. 正则化参数𝐶的影响

正则化参数𝐶的选择在支持向量机中至关重要。当𝐶较大时,相当于正则化参数𝜆较小,可能导致过拟合;而当𝐶较小时,相当于正则化参数𝜆较大,可能导致欠拟合。这表明𝐶的取值影响模型的偏差和方差,需要在训练中进行平衡。

二、大边界分类背后的数学

  1. 向量内积: 假设有两个向量 𝑢 和 𝑣,它们的内积表示为 𝑢^𝑇𝑣。通过将向量投影到另一个向量上,可以计算投影的长度,即内积。

  2. 向量范数: 向量的范数表示其长度,通常使用欧几里得范数表示。对于二维向量 𝑢 = [𝑢1, 𝑢2],其范数为 ∥𝑢∥ = √(𝑢1^2 + 𝑢2^2)。

  3. 内积的计算: 内积 𝑢^𝑇𝑣 可以通过向量的点乘(𝑢1 × 𝑣1 + 𝑢2 × 𝑣2)或矩阵乘法 ([𝑢1 𝑢2] × [𝑣1, 𝑣2]) 计算。这两种方法得到的结果是相同的。

  4. 内积的性质: 内积具有交换性,即 𝑢^𝑇𝑣 = 𝑣^𝑇𝑢。此外,内积的结果是两个实数的乘积。

  5. 投影和内积的关系: 通过投影计算内积时,投影长度记为 𝑝,内积可以表示为 𝑢^𝑇𝑣 = 𝑝⬝∥𝑢∥。

  6. 符号和夹角: 投影的长度 𝑝 可能是正值或负值,取决于向量 𝑢 和 𝑣 之间的夹角。夹角大于 90 度时,投影为负值。

  7. 支持向量机目标函数: 支持向量机的目标函数是极小化参数向量 𝜃 的范数的平方,即最小化 1/2 ∥𝜃∥^2。

  8. 大间隔分类: 通过选择大间隔分类器,支持向量机追求最大化训练样本到决策边界的距离(间距),从而使参数向量的范数最小。

  9. 简化假设: 在推导中,作者简化了截距为零(𝜃0 = 0)和特征数为 2 的情况,使目标函数更容易分析。

  10. 决策边界选择: 选择大间隔分类器的决策边界可以使参数向量的范数最小,从而实现大间隔分类。

参考资料

[中英字幕]吴恩达机器学习系列课程

黄海广博士 - 吴恩达机器学习个人笔记

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣二叉树--总结篇(2)

前言 总体回顾:11.18-12.14,中间有一个星期左右因为考试没有写题。37道题。 内容 这是第二阶段刷的题 从路径到构造二叉树,合并二叉树,再到二叉搜索树,公共祖先问题 看到二叉树,看到递归 都会想&#…

智慧工地源码(微服务+Java+Springcloud+Vue+MySQL)

智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三…

计算机毕业设计 基于SpringBoot的社区医院信息管理平台/系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

modelbox线程爆满宕机bug

序 该bug的解决需要特别感谢张同学。有了大佬的帮助,这个bug才得以解决。 问题现象 modelbox可以进行模型推理,但压测一段时间后,modelbox会宕机,并发生段错误。 “libgomp: Thread creation failed: Resource temporarily una…

kafka学习笔记--Topic 数据的存储机制

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

Vue 按键修饰符

常用按键修饰符:enter【回车】、delete【删除】、esc【退出】、space【空格】、tab【缩进】、up【上】、down【下】、left【左】、right【右】 。 系统按键修饰符:ctrl、alt、shift、meta【四个小方块】 。 鼠标修饰符:left【左键】、right…

阿里云RDS MySQL 数据如何快速同步到 ClickHouse

云数据库 RDS MySQL 和 云数据库 ClickHouse 是阿里云推出的两个备受欢迎的数据库解决方案,它们为用户提供了可靠的数据存储方案、分析数仓方案,本文介绍如何快速将 RDS MySQL 的数据同步到云数据库 ClickHouse。 如何快速将RDSMySQL的数据同步到云数据库…

系统架构设计师教程(五)软件工程基础知识

软件工程基础知识 5.1 软件工程5.1.1 软件工程定义5.1.2 软件过程模型5.1.3 敏捷模型敏捷开发的特点敏捷方法的核心思想主要敏捷方法简介 5.1.4 统一过程模型 (RUP)RUP的生命周期RUP中的核心概念RUP的特点 5.1.5 软件能力成熟度模型 5.2 需求工程5.2.1 需求获取需求获取的基本步…

常见的设计模式以及实现方法总结

目录 代码中使用的设计模式总结 前言常见的23种设计模式Singleton模式(单例模式)理论Spring中创建的Bean Prototype模式(原型模式)理论Spring中创建的Bean Builder模式(构造器模式)理论Builder实现了构造器…

Tekton 基于 gitlab 触发流水线

Tekton 基于 gitlab 触发流水线 Tekton EventListener 在8080端口监听事件,Gitlab 提交代码产生push 事件,gitlab webhook触发tekton流水线执行。 前置要求: kubernetes集群中已部署 tekton pipeline、tekton triggers以及tekton dashboa…

分布式解决方案与实战

分布式多线程性能调优 使用多线程优化接口 //下单业务public Object order( long userId){long start System.currentTimeMillis();//方法的开始时间戳&#xff08;ms&#xff09;JSONObject orderInfo remoteService.createOrder(userId);Callable<JSONObject> calla…

如何看待「前端已死论」?

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

Xcode编写基于C++的动态连接库(dylib)且用node-ffi-napi测试

创建一个dylib工程示例 在 Xcode 中创建一个动态链接库&#xff08;.dylib 文件&#xff09;的步骤如下&#xff1a; 打开 Xcode&#xff1a; 打开 Xcode 应用程序。 创建新的工程&#xff1a; 选择 "Create a new Xcode project"&#xff0c;或者使用菜单 File &g…

STM32 PVD掉电检测功能的使用方法

STM32 PVD掉电检测功能的使用方法 前言 在实际应用场景中&#xff0c;可能会出现设备电源电压异常下降或掉电的情况&#xff0c;因此&#xff0c;有时候需要检测设备是否掉电&#xff0c;或者在设备掉电的瞬间做一些紧急关机处理&#xff0c;比如保存重要的用户数据&#xff…

Java基础语法之多态

什么是多态 通俗来说就是多种形态&#xff0c;具体点就i是去完成某个行为&#xff0c;当不同的对象去完成时会产生不同的状态 都是吃东西&#xff0c;狗是吃狗粮&#xff0c;猫是吃猫粮 向上转型 本质就是创建一个子类对象&#xff0c;将其当作父类对象来使用 语法格式&am…

[Kubernetes]2. k8s集群中部署基于nodejs golang的项目以及Pod、Deployment详解

一. 创建k8s部署的镜像 1.部署nodejs项目 (1).上传nodejs项目到节点node1 (2).压缩nodejs项目 (3).构建nodejsDockerfile 1).创建nodejsDockerfile 具体可参考:[Docker]十.Docker Swarm讲解,在/root下创建nodejsDockerfile,具体代码如下: FROM node #把压缩文件COPY到镜像的…

pycharm多线程报错的问题(未解决)

暂未解决&#xff01;若有佬知道如何解决&#xff0c;还请不吝赐教~~~先谢过啦 问题描述&#xff1a; 看了一下可能是这里的问题&#xff1a; 根据建议&#xff0c;在walks之前加了 freeze_support() 但是没有效果。 关键是&#xff0c;在jupyter上运行是没有问题的&#x…

逆向获取某音乐软件的加密(js逆向)

本文仅用于技术交流&#xff0c;不得以危害或者是侵犯他人利益为目的使用文中介绍的代码模块&#xff0c;若有侵权请联系作者更改。 老套路&#xff0c;打开开发者工具&#xff0c;直接开始找到需要的数据位置&#xff0c;然后观察参数&#xff0c;请求头&#xff0c;cookie是…

1- Electron 创建项目、初始化项目

Electron官网 Build cross-platform desktop apps with JavaScript, HTML, and CSS | Electron Electron 初始化 初始化项目 - 构造package.json npm init -y 安装Electron模块包 npm i electron -D // 注意&#xff01;如果报错查看node包是否太高 配置启动脚本 {&quo…

安全护航:迅软DSE加密软件在设计院所图纸文件中的成功案例分享

近年来&#xff0c;随着信息化强国战略和可持续发展方针的推动&#xff0c;国内各大设计院所和建筑机构积极推进信息化建设&#xff0c;将电子文件作为主要的信息存储方式&#xff0c;并将其作为单位内外部信息交换的关键载体。在这一背景下&#xff0c;创新设计作为建筑设计单…