第二章.­ Learning to Answer Yes­_No

news2024/11/19 22:53:28

第二章.­ Learning to Answer Yes­_No

2.1 Perceptron Hypothesis Set

1.机器学习流程图:

在机器学习的整个流程中,模型的选择(Hypothesis Set)是非常重要的,它决定了机器学习的最终效果。
在这里插入图片描述

2.常用的机器学习模型——感知机(Perceptron)

1).语言描述:

以银行是否给用户发放信用卡为例,把用户的个人信息作为特征向量x,特征向量中共有n个特征,每个特征赋予一个权值w,表示特征对是否发放信用卡的影响程度,在这个过程中我们的目的就是为了计算出权值w阈值threshold
①.使用sign函数,若所有特征加权和的值 ≥ 设定的阈值threshold,h(x)=1,发放信用卡;
②.使用sign函数,若所有特征加权和的值 < 设定的阈值threshold,h(x)=-1,不发放信用卡;

2).公式描述:

在这里插入图片描述

①.简化h(x)公式
请添加图片描述

3).举例描述:

假设感知机模型是在一个二维的平面上h(x)=sign(w0+w1x+w2x2),其中w0+w1x+w2x2=0在平面上是一条分类直线,对正类(+1)和负类(-1)进行分类,权重w不同,对应于平面上的不同直线。
在这里插入图片描述
注意事项:感知器线性分类不限定在二维空间中,在3D中,线性分类用平面表示,在更高维度中,线性分类用超平面表示。

2.2 Perceptron Learning Algorithm(PLA)

在2.1节中我们已经知道了hypothesis set是由很多条直线构成。我们的目的是如何设计一个演算法A,来选择其中一条最好的直线,能将平面中的所有正负点进行正确分类,也就是找到最好的g,使g无限趋近于f。

1.PLA的思想:

1).语言描述:

在平面上随意选取一条直线进行分类,然后找到第一个分类错误的点进行修正,即变换分类直线的位置,通过不断迭代来对每次变换直线后的错误点进行逐点修正,直至分类完全正确,就得到了最好的直线,这就是PLA的思想。

①.修正的方法: (o代表+1,x:代表-1)

i).正确的类别为+1,误判到-1类别的情况:代表x,w之间的夹角角度过大,修正的方法就是使x,w的夹角小于90°(其中w是直线的法向量),通常做法是使 w <- w+yx (y=+1),来对误分类为负类的错误点进行修正
在这里插入图片描述

ii).正确的类别为-1,误判到+1类别的情况:代表x,w之间的夹角角度过小,修正的方法就是使x,w的夹角大于90°(其中w是直线的法向量),通常做法是使 w <- w+yx (y=-1),来对误分类为正类的错误点进行修正

请添加图片描述

2).公式描述:

在实际操作中,逐点遍历,发现分类错误的点就进行修正,直至所有点全部分类正确,这种被称为circle PLA。
在这里插入图片描述

3).图解描述:

在这里插入图片描述

2.PLA的需要考虑的一个问题:

1).PLA迭代一定会停下来吗?如果线性不可分怎么办?

当找到一条最佳直线,能将平面上的所有点正确分类,那么PLA就停止了,要达到这个终止条件,需要确保数据是线性可分的。如果是非线性可分的,那么,PLA就不会停止。

2.3 Guarantee of PLA

1.线性可分与不可分的情况

在这里插入图片描述

2.公式推导

对于线性可分的情况,如果存在这样一条直线,能够将正类(o)和负类(+)完全分开,令这时候的目标权重为Wf ,则对每个点,必然满足yn =sign(wTfxn).

1).对任一点都存在这样的关系式:

在这里插入图片描述
说明:
①.wTfxn:代表每个点与直线之间的距离:两个向量的内积,其中wf是直线的法向量,θ=90°(既然Wf是目标权重,代表所有点的分类均是正确的,所以点不可能在线上或者有错误点的点,与直线都存在一定的距离)
②.ynwTfxn:这个结果必定是>0的,因为所有点的分类均是正确的,ynwTfxn值的符号一定是相同的。
③.min->n:与直线最近的点
④.t:代表第t次迭代

2).衡量 wt+1wf越来越接近的两个条件:

①.证明wt+1wf的内积大小。内积越大wt+1越接近目标权重wf.
在这里插入图片描述
结论:
从推导可以看出,wt+1wf的内积比wtwf的内积更大一些,表明了wt+1是在接近目标权重wf

②.证明wt+1wf向量长度的关系。wt+1wf向量长度差异越小越好
在这里插入图片描述
说明:
①.只有点被误判的情况下,才需要变换分类直线的位置,那必然存在ynwTfxn值的符号不一致,故两数的乘积必然是≤0的。
在这里插入图片描述
结论:
从推导可以看出,||w2t+1||相比||w2t||的增常量不超过max||x2n ||,wt的增长被限制了,||wt+1||与||wt||向量长度不会差别太大。

3).若令初始权重值w0=0(因为我们的分类标签是+1和-1,设置的阈值为0),那么经过T次修正后,有如下不等式关系:

在这里插入图片描述
①.结论:
不等式左边是wtwf夹角的余弦值,随着T的增大,余弦值越来越接近1,wtwf越来越接近。同时需要注意的是√T·constant≤1,也就是说迭代次数T是有上界的,因从PLA最终会停下来,实现对线性数据的分类。

②.推导过程:
在这里插入图片描述

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

2.4 Non­-Separable Data

对于非线性可分的数据,wf并不存在,PLA不一定会停下来,但是我们可以把分类错误的点当成在数据集中掺杂了noise,在实际的数据集中或多或少掺杂noise,我们引入了Pocket Algorithm(PLA的修改版本)算法来解决非线性分类问题。

1.掺杂noise后的机器学习流程

在这里插入图片描述

2.Pocket Algorithm的思想

1).语言描述:

首先初始化权重w0,计算出在这条初始化的直线中,分类错误点的个数,然后对错误点进行矫正,更新w,得到新的直线,再计算分类错误的点的个数,并于之前错误点数进行比较,保存错误点数少的直线,迭代结束后,选取错误点数最少的直线对应的w,即为最终权重值。

2).公式描述:

在这里插入图片描述

3).何判断数据集D是不是线性可分的方法

对二维数据来说,通常还是通过肉眼观察来判断的。一般情况下,Pocket Algorithm要比PLA速度慢一些,因为Pocket Algorithm每次都需要收集错误点数并于之前的数据进行比较,看哪条分类直线错误点数更少。

2.5 总结

本章主要介绍了常用的机器学习模型——感知机,解决线性分类问题的PLA算法以及解决非线性问题的Pocket Algorithm算法(PLA的修改版本)。

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

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

相关文章

L2-001 紧急救援(dijkstra算法练习)

作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你的任务是带领你的…

Android 12系统源码_窗口管理(二)WindowManager对窗口的管理过程

前言 上一篇我们具体分析了窗口管理者WindowManagerService的启动流程&#xff0c;对于WindowManagerService有了一个初步的认识。在此基础上&#xff0c;我本打算应该进一步分析WindowManagerService是如何管理系统中的各种窗口的&#xff0c;然而由于Android系统的架构设计&…

如何搭建远程服务器-(cpolar)

文章目录 前言一、安装注册下载安装包认证开通指定端口监听开机自启动设置 二、使用步骤电脑端远程手机端远程 三、卸载软件安装说明&#xff1a; 总结 前言 之前已经有写到一篇文章《如何用树莓派搭建远程服务器 (zerotier)》&#xff0c;对此已经使用了很长一段时间。 优点…

MySQL 事务(w字)

目录 事务 首先我们来看一个简单的问题 什么是事务 为什么会出现事务 事务的版本支持 事务提交方式 事务常见操作方式 设置隔离级别 事物操作 事物结论 事务隔离级别 理解隔离性 隔离级别 查看与设置隔离性 注意可重复读【Repeatable Read】的可能问题&#xff…

AI数字人盛行,如何选择合适的AI数字人制作平台?

2023万象大会已然开启了直播&#xff0c;当AI照进生活、照亮你我&#xff0c;为我们的想象力插上翅膀&#xff0c;世界变得更加便捷、更加智能。可以说近年来&#xff0c;AI帮助人们解决了各种问题&#xff0c;在提高生产效率、改善生活质量等方面做出来很大的贡献&#xff0c;…

LeetCode: 二叉树的直径(java)

二叉树的直径 leetcode 543题。原题链接题目描述解题代码二叉树专题 leetcode 543题。原题链接 543题&#xff1a;二叉树的直径 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也…

WICC · 出海嘉年华|嘉宾就位、话题揭晓,峰会 派对报名倒计时

双厨狂喜&#xff01;移步【融云全球互联网通信云】回复“地图”免费领 6 月 2 日即将在广州举办的“WICC 社交泛娱乐出海嘉年华”&#xff0c;将是一场集 WICC 通信行业大会高端峰会规格、前沿技术内容和社交泛娱乐出海务实场景落地、垂直圈子社交于一体的大型盛会。 大咖嘉…

【弹性分布式EMA】在智能电网中DoS攻击和虚假数据注入攻击(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Java并发体系-锁与同步-[1]

本阶段文章讲的略微深入&#xff0c;一些基础性问题不会讲解&#xff0c;如有基础性问题不懂&#xff0c;可自行查看我前面的文章&#xff0c;或者自行学习。本篇文章比较适合校招和社招的面试&#xff0c;笔者在2020年面试的过程中&#xff0c;也确实被问到了下面的一些问题。…

c++代码实现一个高性能内存池(超详细版本)

写在前面 本文的内存池代码是改编自Nginx的内存池源码&#xff0c;思路几乎一样。由于Nginx源码的变量命名我不喜欢&#xff0c;又没有注释&#xff0c;看得我很难受。想自己写一版容易理解的代码。这应该是全网独一份的超详细版本了&#xff08;笑~&#xff09;. 应用场景 …

Java线程中的常用方法

获取当前线程的方法 为线程设置名称 为线程设置优先级&#xff0c;优先级有10个级别&#xff0c;从1-10&#xff0c;能影响cpu调用线程的级别&#xff0c;但是不能决定。 /*** author 舒一笑* date 2023/5/25*/ public class Test03 {public static void main(String[] args) …

「OceanBase 4.1 体验」|docker-compose快速部署OceanBase数据库——筑梦之路

OceanBase数据库简介 官方网站&#xff1a;https://www.oceanbase.com/softwarecenter 大名鼎鼎的OceanBase数据库&#xff0c;在多个双十一购物节上历经验证&#xff0c;今天就来体验一下当前最新版本 4.1。 OceanBase 4.1 版本技术文档&#xff1a;https://www.oceanbase.c…

How-to-generate-kernel

文章目录 前言一、协方差判断卷积核相关性问题一: 不同的样本空间&#xff1f;问题二&#xff1a;计算方式&#xff1f;想法 二、整体流程三、BSConv-核内相似性 前言 在常规卷积的过程中找到相关性低的一部分卷积核&#xff0c;利用这部分卷积核结合深度可分离卷积搭建起新的…

mycat的安装及使用

2、mycat的安装及使用 1、mycat的安装 1、环境准备 ​ 本次课程使用的虚拟机环境是centos6.5 ​ 首先准备四台虚拟机&#xff0c;安装好mysql&#xff0c;方便后续做读写分离和主从复制。 192.168.85.111 node01 192.168.85.112 node02 192.168.85.113 node03 192.168.85.…

第3章“程序的机器级表示”:数据传送指令

文章目录 3.4 访问信息3.4.1 操作数指示符3.4.2 数据传送指令3.4.3 数据传送示例 3.4 访问信息 一个 IA32 中央处理单元&#xff08;CPU&#xff09;包含一组八个存储 32 位值的寄存器&#xff0c;这些寄存器用来存储整数数据和指针。 下图显示了这八个寄存器。它们的名字都是…

element-ui拖拽上传及问题解决(drag的使用注意事项)

element-ui拖拽上传及问题解决(drag的使用注意事项) 上传组件(:drag“true”) <template><el-uploadclass"avatar-uploader"action"":show-file-list"false":on-success"handleAvatarSuccess":before-upload"beforeAva…

如何获得铁粉(弯道超车的攻略)

文章目录 一、提供有价值的内容二、保持更新频率三、与读者互动四、优化SEO五、提供专栏订阅服务 CSDN(China Software Developer Network)是中国最大的IT社区和在线学习平台之一&#xff0c;成立于1999年。它是一个面向软件开发者的知识共享社区&#xff0c;提供有关编程语言、…

Docker容器技术|最强王者篇

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

行业领先生物制药企业在冷链物流运输中采用虹科LIBERO温度记录解决方案

中国首个获得世界卫生组织国际通用名的生物Ⅰ类新药是用于抗血管内皮生长因子的融合蛋白&#xff0c;该药物通过结合血管内皮生长因子VEGF&#xff0c;竞争性抑制VEGF与受体结合并阻止VEGF家族受体的激活&#xff0c;从而抑制内皮细胞增殖和血管新生&#xff0c;达到治疗湿性年…

自学网络安全遇到问题怎么解决?路线是什么

自学网络安全很容易学着学着就迷茫了&#xff0c;找到源头问题&#xff0c;解决它就可以了&#xff0c;所以首先咱们聊聊&#xff0c;学习网络安全方向通常会有哪些问题&#xff0c;看到后面有惊喜哦 1、打基础时间太长 学基础花费很长时间&#xff0c;光语言都有几门&#xf…