机器学习入门(第二天)——感知机

概述

每个算法都是为了解决一类问题,或者说解决之前的问题所创造出来的,而感知机,在解决一类问题的时候也暴露了很多问题,变相的推动了以后的算法的改进方向。

知识树

苹果表示相对重要的

直观介绍

现在有一盘红豆和绿豆,怎么把红豆和绿豆分开来

当红豆和绿豆放在一起时,它们却能自己分开来,为什么呢?

我们怎么区分呢,假设我们随意花如下的线

这样是不是就完美的区分开来了,完美解决。

那么程序怎么知道x和y都大于0的豆是红豆呢?

或者说,它是怎么学会这个规则的?

那是不是只要一条直线不分错一个点,或者说尽可能的少分错点,那就是一条好的直线。

即:我们把所有分错的点和直线的距离的和(蓝色示例),求和的距离最小表示这条直线越好,因为这表示这条线分错的最少。

如图中红色线的和的距离肯定比黑色或者黄色的线大。

总结

  1. 一条直线不分错一个点,这就是好的直线。

  2. 模型要尽可能找到好的直线。

  3. 如果没有好的直线,在差的直线中找到好的直线。

  4. 判断直线多差的方式:分错的点到直线的距离求和。

感知机模型

Perceptron

确定终究目标

f(x)

我们希望一个函数,如f(x),进来一个豆,它告诉我们是红豆还是绿豆

f(x) = sign(w * x + b)

sign如图:

把w * x + b 比作x,相当于给了一个“豆”进来,就只得到两个结果,也就是红豆(+1)或者绿豆(-1)。那么w * x + b 是什么?

w * x + b是超平面

即那条黄色的分割线,且当豆在线的上面,就是红豆,在下面是绿豆。

超平面是n维欧氏空间中余维度等于一的线性子空间,也就是必须是(n-1)维度。即如果是2维,超平面就是1维,如果是3维,超平面就是2维。

w * x + b分别代表什么

w是权重,x是特征的实际值,b是偏值

比如知道豆的直径,如x1表示某个豆的直径 = w1 * x1 + b1,大于1则是红豆,小于则是绿豆

有时候一个特征不一定能区分开来,可能还需要质量,(x1,x2)计算 = (w1, w2) * (x1, x2)

亦或者还有豆的光滑度,则有x1, x2, x3 ,这样就变成3维了。

正式的说

w * x + b 是一个n维空间中的超平面S,其中w是超平面的法向量,b是超平面的截距,这个超平面将特征空间划分成两部分,位于两部分的点分别被分为正负两类。所以,超平面S称为分离超平面。

特征空间也就是整个n维空间,样本的每个属性都叫一个特征,特征空间的意思是在这个空间中可以找到样本所有的属性的组合。

感知觉的学习策略

Learning policy

求空间中任意一个点X0到超平面S的距离

函数间隔与几何间隔

函数间距:

缺点:已知wx + b = 0,当不等于0时(比如1),那如果等比例放大缩小w和b是不是就更小,等同于1/2 (wx + b) = 1/2(wx) + 1/2(b) = 1/2,超平面是没有动的,但是结果却缩小了,那么模型就觉得它知道等比例缩小就能得到更小的结果。

这时候就引入几何间距

几何间距:

加入了二范式,相当于有了一个度量的标准,即等比例缩小w时,外面的w也会等比例变化。

通俗来讲,函数间距是将你去吃饭的那段路本来要1000m,它改成1km,1就小于1000了,而几何间距就杜绝这种情况,只能都是m或者km

对于误分类数据而已,

yi表示真实是+1还是-1

w*xi+b表示预测的结果

绿豆预测成绿豆:预测结果w*xi+b < 0(绿豆),且真实为绿豆(-1)时,则- * -1(wxi + b) < 0。

绿豆预测成红豆:w*xi+b > 0,真实为绿豆-1,则- * -1 (wxi + b) > 0。

也就是说只要分错,那么数据一定是大于0

误分类点xi到超平面S的距离为:

因此,所有误分类点到超平面S的总距离为:

M:误分类点的集合

感知觉的学习策略——原始形式

Learning policy

  1. 任选一个超平面w0,b0

    随机初始化,如w0 = 1,可能有多个维度,如x0,x1,x2,那么w也会有w0,w1,w2的随机初始化

  2. 采用梯度下降法极小化目标函数

  3. L:loss

    这时候用的还是函数间隔,因为感知机的超平面的目标是不分错任何一个点。所以不存在说要某个点到超平面的距离无限的小。

    也可以用几何间隔,但是会增加计算量,没有必要,但后面基本都是用几何间隔。

    侧面反映了感知机只能在线性可分的数据集上使用,也就是线性模型。

  4. 更新w,b

例子

Example

训练数据中,正例(y=+1)点位x1 = (3,3)T,x2 = (4,3)T,负例(y=-1)为x3 = (1, 1)T,求解感知机模型f(x) = sign(w*x + b),其中w = (w1, w2)T,x = (x1, x2)T

解:

  1. 构造损失函数

  2. 梯度下降求解w,b。设步长为1

    1. 取初值w0 = 0,b0 = 0

    2. 对于x1,y1(w0 * x1 + b0) = 0未被正确分类,更新w,b。w1 = w0 + x1y1 = (3,3)T,b1 = b0 + y1 = 1 => w1 * x + b1 = 3x + 3x + 1

  3. 对x1,x2,显然yi(w1 * xi + b1) > 0,被正确分类,不做修改。对于x3,y3(w1 * x3 + b1) 应该小于0,结果是大于0被误分类,更新w,b。

  4. 以此往复,直到没有误分类点,损失函数达到极小。

总结

Summarization

  1. 感知机通过构造超平面的形式划分不同类的点。

  2. 感知机属于线性判别模型,因为它的判别边界是线性的。

  3. 函数间隔和几何间隔的区别

    大多时候是用的几何间隔,因为有“度量标准”,而感知机是误分类驱动,目标是不分错任何一个点,即结果为0,所以即使度量标准改变也没用。

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

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

相关文章

2014年8月20日 Go生态洞察:Go在OSCON的精彩亮相

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

网络异常检测

随着社交网络、视频流、点对点技术、云计算和 SaaS 的出现&#xff0c;可以肯定地说&#xff0c;现代企业的好坏取决于他们的网络&#xff0c;尤其是在它们提供的带宽和安全性方面。无论是银行保护其数据免遭盗窃&#xff0c;还是商业组织保护其网络免受安全威胁和攻击&#xf…

ChatGLM-6B下载安装

ChatGLM-6B下载安装 项目指向 想把模型下载本地微调 通过官网指引需要先下载git-lfs #Linux 下载安装 curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash sudo apt-get install git-lfs git lfs install如果是docker中的虚拟机…

如何隐藏自己的代码(很酷)

1.引入 幻想当我们成为一名优秀的程序员&#xff0c;有着各大公司想要买我们的代码&#xff0c;但我们并不想要让他们知道我们代码的实现&#xff0c;毕竟一复制便可以解决&#xff0c;这里我们希望有一种方法可以把我们的核心代码给隐藏掉&#xff0c;那我们又应该怎么去实现呢…

官宣!代理IP品牌「一连IP」正式上线

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 今天&#xff0c;企业级代理IP供应商【一连IP】…

通过AX6000路由器,实现外部访问内网的任意主机

概述 这里遇到一个场景,就是需要外部的人员,访问我内网的一台设备,进行内外部的设备联调。 这也是实际环境中,很常见的一种场景。 之前的做法是子设备上运行edge节点,可以直接访问。 但有的设备无法运行edge节点,那么可以参考一下这个方案来实现。 此方案可以摒弃了…

系列九、Entry的key为什么要设计成弱引用

一、Entry的key为什么要设计成弱引用 1.1、四大引用类型 Java中的四种引用 1.2、Entry源码 1.3、为什么设计为弱引用 1.3.1、官网 To help deal with very large and long-lived usages, the hash table entries use WeakReferences for keys。 1.3.2、ThreadLocal引用示意…

每日一练 | 华为认证真题练习Day135

1、如果一个以太网数据帧的Length/Tyme0z8100&#xff0c;那么这个数据帧的载荷可能是&#xff1f;&#xff08;多选&#xff09; A. TCP数据段 B. UDP数据 C. ICMP报文 D. ARP报文 2、如图所示&#xff0c;路由器R1上部署了静态NAT命令&#xff0c;当PC访问互联网时&#…

【iOS】知乎日报

文章目录 前言一、首页1.网络的异步请求2.避免同一网络请求执行多次3.下拉刷新与上拉加载的实现下拉刷新上拉加载 二、网页1.webView的实现2.webView的滑动加载3.网页与首页内容的同步更新 三、评论区Masonory实现行高自适应 四、收藏中心通过FMDB实现数据持久化1.创建或打开数…

python中的exec()、eval()以及complie()

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 1.eval函数 函数的作用&#xff1a; 计算指定表达式的值。 也就是说它要执行的python代码只能是单个表达式&#xff08;注意eval不支持任何形式的赋值操作&…

git命令 cherry-pick

参考&#xff1a;https://blog.csdn.net/weixin_42585386/article/details/128256149 https://blog.csdn.net/weixin_44799217/article/details/128279250 merge和cherry-pick的区别&#xff1a; merge&#xff1a;是把某一个代码分支完全合并到当前的代码分支。完全合并的意…

TensorFlow实战教程(一)-TensorFlow环境部署

从本篇文章开始,作者正式开始研究Python深度学习、神经网络及人工智能相关知识。第一篇文章主要讲解神经网络基础概念,同时讲解TensorFlow2.0的安装过程及基础用法,主要结合作者之前的博客和"莫烦大神"的视频介绍,后面随着深入会讲解具体的项目及应用。基础性文章…

代码随想录刷题】Day17 二叉树04

文章目录 1.【110】平衡二叉树&#xff08;优先掌握递归&#xff09;1.1 题目描述1.2 解题思路1.3 java代码实现 2.【257】二叉树的所有路径&#xff08;优先掌握递归&#xff09;2.1 题目描述2.2 解题思路2.3 java代码实现 3.【404】左叶子之和&#xff08;优先掌握递归&#…

Spring 配置

配置文件最主要的目的 : 解决硬编码的问题(代码写死) SpringBoot 的配置文件,有三种格式 1.properties 2.yaml 3.yml(是 yaml 的简写) SpringBoot 只支持三个文件 1.application.properties 2.application.yaml 3.application.yml yaml 和 yml 是一样的,学会一个就行…

一文让你上手Linux常用命令(考前十分钟快速突击+零基础阅读)

文章目录 前言Linux 常用命令1. 基本操作lscdpwd 2. 对文件的操作touchcatechovim 3. 对目录的操作mkdirrm 4. 移动文件 / 目录的操作cpmv 5. 总结基本操作6. 必不可少的实用操作mangreppsnetstat 总结 前言 本文内容为 Linux 的一些超常用命令, 内容不多且十分实用, 这些命令…

三、Keil安装芯片包、下载固件库、建立STM32工程模板

目录 一、首先在Keil软件上安装好芯片包 二、下载官方固件库 三、建立基于固件库的Keil5工程模板 一、首先在Keil软件上安装好芯片包 STM32有很多系列的芯片&#xff0c;我们平常用的最多的是STM32F1系列的&#xff0c;因此安装F1系列的芯片包在我们初学时&#xff0c;只按照…

设计模式系列:三、责任链设计模式

一、概述 责任链模式是一种行为设计模式&#xff0c;它允许多个对象处理一个请求&#xff0c;从而避免了请求的发送者和接收者之间的耦合关系。 优点是把任务划分为一个一个的节点&#xff0c;然后按照节点之间的业务要求、顺序&#xff0c;把一个个节点串联起来&#xff0c;…

如何使用浏览器自动化框架Playwright开发“万媒易发”实现多平台自动发布文章?

作为一名程序员和开发者&#xff0c;我深知在多个媒体平台手动发布和管理文章的痛苦。因此&#xff0c;我决定使用Playwright浏览器自动化框架&#xff0c;开发一款名为“万媒易发”的工具&#xff0c;实现多平台自动发布文章。下面我将分享这款工具的开发过程和成果&#xff0…

浅析教学型数控车床使用案例

教学型数控车床是一种专为教学和培训设计的机床&#xff0c;它具有小型化、高精度和灵活性的特点&#xff0c;可以作为学校和技术学院的培训机器。下面是一个使用案例&#xff0c;以展示教学型数控车床在教学实训中的应用。 案例背景&#xff1a; 某职业技术学院的机械工程专业…

Socket通信之网络协议基本原理

一台机器将自己想要表达的内容&#xff0c;按照某种约定好的格式发送出去&#xff0c;当另外一台机器收到这些信息后&#xff0c;也能够按照约定好的格式解析出来&#xff0c;从而准确、可靠地获得发送方想要表达的内容。这种约定好的格式就是网络协议&#xff08;Networking P…