【简博士统计学习方法】第2章:3. 感知机——学习算法之原始形式:算法解说

3. 感知机——学习算法之原始形式:算法解说

3.1 学习问题

  • 给定训练数据集
    T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯   , ( x N , y N ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right) \cdots,\left(x_{N}, y_{N}\right)\right\} T={(x1,y1),(x2,y2),(xN,yN)}
    其中 x i ∈ X ⊆ R n , Y I ∈ Y = { + 1 , − 1 } x_i\in\mathcal{X}\subseteq\mathbb{R}^n,Y_I\in\mathcal{Y}=\{+1,-1\} xiXRn,YIY={+1,1} + 1 +1 +1代表的是正类点, − 1 -1 1代表的是负类点, N N N为样本数。
  • 损失函数
    L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w, b)=-\sum_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right) L(w,b)=xiMyi(wxi+b)
    其中, M M M代表所有误分类点的集合。其中 w ⋅ x i w\cdot x_i wxi代表向量的内积运算。
  • 模型参数估计
    arg ⁡ min ⁡ w , b L ( w , b ) \underset{w, b}{\arg \min } L(w, b) w,bargminL(w,b)
    也就是寻找使损失函数 L L L最小的参数 w w w b b b.

【注】参数估计是统计学中的一个重要概念,它指的是通过样本数据来推测总体(整个群体)中某些未知的特征值(比如平均值、方差等)的过程。简单来说,参数估计就是通过已有的数据来推测你关心的某些未知值。

3.2 原始形式:随机梯度下降法

3.2.1 随机梯度下降与批量梯度下降法

我们选取随机梯度下降法进行迭代计算。

  • 损失函数
    L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w, b)=-\sum_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right) L(w,b)=xiMyi(wxi+b)
  • 梯度(对 L L L求偏导):
    ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i ; ∇ b L ( w , b ) = − ∑ x i ∈ M y i \nabla_{w} L(w, b)=-\sum_{x_{i} \in M} y_{i} x_{i} ; \quad \nabla_{b} L(w, b)=-\sum_{x_{i} \in M} y_{i} wL(w,b)=xiMyixi;bL(w,b)=xiMyi
  • 参数更新
    • 批量梯度下降法(Batch Gradient Descent):每次迭代时使用所有误分类点来进行参数更新。
      w ← w + η ∑ x i ∈ M y i x i ; b ← b + η ∑ x i ∈ M y i w \leftarrow w+\eta \sum_{x_{i} \in M} y_{i} x_{i} ; \quad b \leftarrow b+\eta \sum_{x_{i} \in M} y_{i} ww+ηxiMyixi;bb+ηxiMyi
      其中, η ( 0 < η ⩽ 1 ) \eta(0<\eta\leqslant1) η(0<η1)代表步长
    • 随机梯度下降法(Stochastic Gradient Descent):每次随机选取一个误分类点。
      w ← w + η y i x i ; b ← b + η y i w \leftarrow w+\eta y_{i} x_{i} ; \quad b \leftarrow b+\eta y_{i} ww+ηyixi;bb+ηyi
      相比较批量梯度下降法,它每一轮迭代的速度都会快一些。这是感知机算法用的选择参数更新的方法。

3.2.2 原始形式:算法

  • 输入:训练集
    T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯   , ( x N , y N ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right) \cdots,\left(x_{N}, y_{N}\right)\right\} T={(x1,y1),(x2,y2),(xN,yN)}
    其中, x i ∈ X ⊆ R n , Y I ∈ Y = { + 1 , − 1 } x_i\in\mathcal{X}\subseteq\mathbb{R}^n,Y_I\in\mathcal{Y}=\{+1,-1\} xiXRn,YIY={+1,1},步长 η ( 0 < η ⩽ 1 ) \eta(0<\eta\leqslant 1) η(0<η1)
  • 输出 w , b w,b w,b;感知机模型 f ( x ) = sign ( w ⋅ x + b ) f(x)=\text{sign}(w\cdot x+b) f(x)=sign(wx+b)
  • 算法步骤
    (1)选取初始值 w 0 , b 0 w_0,b_0 w0,b0,即下图中蓝色的直线代表初始的分离超平面;
    (2)于训练集中随机选取数据 ( x i , y i ) (x_i,y_i) (xi,yi),图中没有分类到正确类的点都是误分类点,比如蓝色线为例,有一个点没有在蓝色直线上方,这就是误分类点;
    (3)若 y i ( w ⋅ x i + b ) ⩽ 0 y_i(w\cdot x_i+b)\leqslant 0 yi(wxi+b)0 w ← w + η y i x i ; b ← b + η y i w \leftarrow w+\eta y_{i} x_{i} ; \quad b \leftarrow b+\eta y_{i} ww+ηyixi;bb+ηyi;(正类点代入后是正的,负类点代入和,因为符合方程,所以也是正的,只有错误分类点代入后是负的)
    (4)转到(2),直到训练集中没有误分类点。

    最后得到一个橙色的线将所有的样本点随机分类。

3.3 例题分析

  • 输入:训练集:
    T = { ( x 1 , + 1 ) , ( x 2 , + 1 ) , ( x 3 , − 1 ) } T=\left\{\left(x_{1},+1\right),\left(x_{2},+1\right),\left(x_{3},-1\right)\right\} T={(x1,+1),(x2,+1),(x3,1)}
    其中, x 1 = { 3 , 3 } T , x 2 = ( 4 , 3 ) T , x 3 = ( 1 , 1 ) T x_1=\{3,3\}^{T},x_2=(4,3)^{T},x_3=(1,1)^{T} x1={3,3}T,x2=(4,3)T,x3=(1,1)T,假设 η = 1 \eta=1 η=1,也就是训练集中有三个样本,其中 x 1 , x 2 x_1,x_2 x1,x2是正类点样本, x 3 x_3 x3是负类点样本。
  • 输出 w , b w,b w,b;感知机模型 f ( x ) = sign ( w ⋅ x + b ) f(x)=\text{sign}(w\cdot x+b) f(x)=sign(wx+b)

  • 学习问题:通过使下面的损失函数来求得相应的参数 w , b w,b w,b.
    arg ⁡ min ⁡ w , b L ( w , b ) = arg ⁡ min ⁡ w , b [ − ∑ x i ∈ M y i ( w ⋅ x i + b ) ] \underset{w, b}{\arg \min } L(w, b)=\underset{w, b}{\arg \min }\left[-\sum_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right)\right] w,bargminL(w,b)=w,bargmin[xiMyi(wxi+b)]

(1)选取初始值 w 0 = ( 0 , 0 ) T , b 0 = 0 w_0=(0,0)^{T},b_0=0 w0=(0,0)T,b0=0
(2)对于点 x 1 x_1 x1,有:
y 1 ( w 0 ⋅ x 1 + b 0 ) = ± 1 × ( ( 0 , 0 ) T ⋅ ( 3 , 3 ) T + 0 ) = 0 y_1(w_0\cdot x_1+b_0)=\pm 1\times((0,0)^{T}\cdot (3,3)^{T}+0)=0 y1(w0x1+b0)=±1×((0,0)T(3,3)T+0)=0
- 更新参数
w 1 = w 0 + η y 1 x 1 = ( 3 , 3 ) T , b 1 = b 0 + η y 1 = 1 w_{1}=w_{0}+\eta y_{1} x_{1}=(3,3)^{T}, \quad b_{1}=b_{0}+\eta y_{1}=1 w1=w0+ηy1x1=(3,3)T,b1=b0+ηy1=1
- 模型
w 1 ⋅ x + b = 3 x ( 1 ) + 3 x ( 2 ) + 1 w_{1} \cdot x+b=3 x^{(1)}+3 x^{(2)}+1 w1x+b=3x(1)+3x(2)+1

(3)对于点 x 1 x_1 x1,有
y 1 ( w 1 ⋅ x 1 + b 1 ) = + 1 × ( 3 x 1 ( 1 ) + 3 x 1 ( 2 ) + 1 ) = 19 > 0 y_{1}\left(w_{1} \cdot x_{1}+b_{1}\right)=+1 \times\left(3 x_{1}^{(1)}+3 x_{1}^{(2)}+1\right)=19>0 y1(w1x1+b1)=+1×(3x1(1)+3x1(2)+1)=19>0
所以 x 1 x_1 x1分类正确。
对于点 x 2 x_2 x2,有
y 2 ( w 1 ⋅ x 2 + b 1 ) = + 1 × ( 3 x 2 ( 1 ) + 3 x 2 ( 2 ) + 1 ) = 22 > 0 y_{2}\left(w_{1} \cdot x_{2}+b_{1}\right)=+1 \times\left(3 x_{2}^{(1)}+3 x_{2}^{(2)}+1\right)=22>0 y2(w1x2+b1)=+1×(3x2(1)+3x2(2)+1)=22>0
所以 x 2 x_2 x2分类正确。
对于点 x 3 x_3 x3,有
y 3 ( w 1 ⋅ x 3 + b 1 ) = − 1 × ( 3 x 3 ( 1 ) + 3 x 3 ( 2 ) + 1 ) = − 7 < 0 y_{3}\left(w_{1} \cdot x_{3}+b_{1}\right)=-1 \times\left(3 x_{3}^{(1)}+3 x_{3}^{(2)}+1\right)=-7<0 y3(w1x3+b1)=1×(3x3(1)+3x3(2)+1)=7<0
所以 x 3 x_3 x3是误分类点。
- 更新参数,利用误分类点 x 3 x_3 x3进行参数更新。
w 2 = w 1 + η y 3 x 3 = ( 2 , 2 ) T , b 2 = b 1 + η y 3 = 0 w_{2}=w_{1}+\eta y_{3} x_{3}=(2,2)^{T}, \quad b_{2}=b_{1}+\eta y_{3}=0 w2=w1+ηy3x3=(2,2)T,b2=b1+ηy3=0
- 模型
w 2 ⋅ x + b 2 = 2 x ( 1 ) + 2 x ( 2 ) w_{2} \cdot x+b_{2}=2 x^{(1)}+2 x^{(2)} w2x+b2=2x(1)+2x(2)

(4)重复以上步骤,直到没有误分类点:

迭代到第7次之后就没有误分类点了。

  • 得到参数
    w 7 = ( 1 , 1 ) T , b 7 = − 3 w_{7}=(1,1)^{T}, \quad b_{7}=-3 w7=(1,1)T,b7=3

  • 模型
    w 7 ⋅ x + b 7 = x ( 1 ) + x ( 2 ) − 3 w_{7} \cdot x+b_{7}=x^{(1)}+x^{(2)}-3 w7x+b7=x(1)+x(2)3

  • 结果

    • 分离超平面:
      x ( 1 ) + x ( 2 ) − 3 = 0 x^{(1)}+x^{(2)}-3=0 x(1)+x(2)3=0
    • 感知机模型:
      f ( x ) = sign ⁡ ( x ( 1 ) + x ( 2 ) − 3 ) f(x)=\operatorname{sign}\left(x^{(1)}+x^{(2)}-3\right) f(x)=sign(x(1)+x(2)3)
    • 若误分类点依次取 x 1 , x 3 , x 3 , x 3 , x 1 , x 3 , x 3 x_1,x_3,x_3,x_3,x_1,x_3,x_3 x1,x3,x3,x3,x1,x3,x3,可以得到分离超平面。
      x ( 1 ) + x ( 2 ) − 3 = 0 x^{(1)}+x^{(2)}-3=0 x(1)+x(2)3=0
    • 若误分类点依次取 x 1 , x 3 , x 3 , x 3 , x 2 , x 3 , x 3 , x 3 , x 1 , x 3 , x 3 x_{1}, x_{3}, x_{3}, x_{3}, x_{2}, x_{3}, x_{3}, x_{3}, x_{1}, x_{3}, x_{3} x1,x3,x3,x3,x2,x3,x3,x3,x1,x3,x3,可以得到分离超平面:
      2 x ( 1 ) + x ( 2 ) − 5 = 0 2 x^{(1)}+x^{(2)}-5=0 2x(1)+x(2)5=0

【注】采用不同的误分类点顺序,所得到的解是不同的,随机选取的误分类点导致结果也具有一定的随机性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Flink系列】10. Flink SQL

10. Flink SQL Table API和SQL是最上层的API&#xff0c;在Flink中这两种API被集成在一起&#xff0c;SQL执行的对象也是Flink中的表&#xff08;Table&#xff09;&#xff0c;所以我们一般会认为它们是一体的。Flink是批流统一的处理框架&#xff0c;无论是批处理&#xff08…

web漏洞扫描有什么作用?web漏洞扫描原理

Web漏洞扫描在网络安全领域中扮演着至关重要的角色&#xff0c;web漏洞扫描有什么作用&#xff1f;Web漏洞扫描能够自动化地检测Web应用中的潜在安全漏洞&#xff0c;包括但不限于SQL注入、跨站脚本&#xff08;XSS&#xff09;、跨站请求伪造&#xff08;CSRF&#xff09;、文…

【Idea启动项目报错NegativeArraySizeException】

项目场景&#xff1a; Idea启动项目报错&#xff08;打包不报错&#xff09;&#xff0c;项目在服务器部署运行没有问题&#xff0c;尝试了重启idea、重启电脑、maven clean/install 都不行 maven-resources-production:sample: java.lang.NegativeArraySizeException: -5833…

小程序组件 —— 31 事件系统 - 事件绑定和事件对象

小程序中绑定事件和网页开发中绑定事件几乎一致&#xff0c;只不过在小程序不能通过 on 的方式绑定事件&#xff0c;也没有 click 等事件&#xff0c;小程序中绑定事件使用 bind 方法&#xff0c;click 事件也需要使用 tap 事件来进行代替&#xff0c;绑定事件的方式有两种&…

sparkSQL练习

1.前期准备 &#xff08;1&#xff09;建议先把这两篇文章都看一下吧&#xff0c;然后把这个项目也搞下来 &#xff08;2&#xff09;看看这个任务 &#xff08;3&#xff09;score.txt student_id,course_code,score 108,3-105,99 105,3-105,88 107,3-105,77 105,3-245,87 1…

GIFT ICA 下载记录

1.帮助文档 Group ICA/IVA Of fMRI Toolbox&#xff1b;【GIFT介绍】 Group ICA of fMRI Toolbox (GIFT) Walk Through&#xff1b;【流程介绍】 GIFT v1.3c Functions Srinivas Rachakonda, Eric Egolf and Vince Calhoun【流程解释】 2.下载记录 从官网下载程序包&#xff0…

从零深度学习:(2)最小二乘法

今天我们从比较简单的线性回归开始讲起&#xff0c;还是一样我们先导入包 import numpy as np import torch import matplotlib as mpl import matplotlib.pyplot as plt a torch.arange(1,5).reshape(2,2).float() a 我们利用刚刚导入的画图的包将这两个点画出来&#xff0…

02JavaWeb——JavaScript-Vue(项目实战)

一、JavaScript html完成了架子&#xff0c;css做了美化&#xff0c;但是网页是死的&#xff0c;我们需要给他注入灵魂&#xff0c;所以接下来我们需要学习 JavaScript&#xff0c;这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过JS/js效果演示提供资料进行效果演…

【Flink系列】5. DataStream API

5. DataStream API DataStream API是Flink的核心层API。一个Flink程序&#xff0c;其实就是对DataStream的各种转换。具体来说&#xff0c;代码基本上都由以下几部分构成&#xff1a; 5.1 执行环境&#xff08;Execution Environment&#xff09; Flink程序可以在各种上下文…

大模型高并发部署方案探究

版本 内容 姓名 时间 V1.0 新建 xx 2025-01-16 声明&#xff1a;只是进行探究&#xff0c;后续真正实践后&#xff0c;会更新新的内容 前置条件&#xff1a;70B的模型&#xff0c;并发要求200 性能测试参考链接 Benchmarking LLM Inference Backends :表明一台A100(8…

MIAOYUN信创云原生项目亮相西部“中试”生态对接活动

近日&#xff0c;以“构建‘中试’生态&#xff0c;赋能科技成果转化”为主题的“科创天府智汇蓉城”西部“中试”生态对接活动在成都高新区菁蓉汇隆重开幕。活动分为成果展览、“中试”生态主场以及成果路演洽谈对接三大板块。在成果展览环节&#xff0c;成都元来云志科技有限…

pytest-instafail:让测试失败信息即时反馈

pytest-instafail&#xff1a;让测试失败信息即时反馈 前言一、简介二、优势三、安装与使用3.1 未安装时运行情况3.2 安装3.3 已安装时运行情况3.3 pytest.ini 配置选项 四、对比 总结 前言 当测试用例数量庞大时&#xff0c;定位测试失败的原因往往耗时费力。此时&#xff0c;…

低代码平台:技术复杂性的系统简化

在传统开发模式下&#xff0c;应用构建需要经历需求分析、代码开发、测试部署等多环节&#xff0c;流程繁琐且耗时&#xff0c;往往成为企业技术创新的瓶颈。低代码平台通过模块化和自动化技术重新定义开发流程&#xff0c;使开发者能够在较短时间内实现复杂的应用功能&#xf…

精度论文:【Focaler-IoU: More Focused Intersection over Union Loss】

Focaler-IoU: 更聚焦的交并比损失 Focaler-IoU: More Focused Intersection over Union Loss Focaler-IoU: 更聚焦的交并比损失I. 引言II. 相关工作III. 方法IV. 实验V. 结论 原文地址&#xff1a;官方论文地址 代码地址&#xff1a;官方代码地址 摘要——边界框回归在目标检…

“AI智慧化服务系统:未来生活的智能管家

在当今快速发展的科技时代&#xff0c;人工智能&#xff08;AI&#xff09;正以前所未有的速度改变着我们的生活。AI智慧化服务系统作为这一变革的前沿技术&#xff0c;正在逐渐成为我们未来生活的智能管家。它们不仅提高了服务效率&#xff0c;还为我们带来了更加个性化和便捷…

nginx 修改内置 404 页面、点击劫持攻击。

1、在部署前端项目的目录下增加 404.html 页面&#xff1a;/opt/web/404.html。 2、在 nginx 配置中增加 404 配置&#xff1a; root /opt/web; # 设置根目录的配置error_page 404 404.html; location /404.html {root /opt/web;# 指定 404 页面所在的根目录internal;# 确保…

网络密集型应用的Linux网络缓冲区参数优化

一、网络IO密集型 1.哪些应用属于网络IO密集型应用 文件上传、下载服务器&#xff0c;实时大数据同步复制&#xff0c;Kafka巨量数据QPS生产消费环境&#xff0c;CDN等环境都是网络IO密集型的服务应用 2.知识来源 在《kafka权威指南2》书中环境搭建的网络小节写到了几个参数…

npm发布组件(vue3+webpack)

1.初始化Vue项目 vue create my-app 2.本地运行 npm run serve 3.新增目录和文件 1. src/package/index.js 2. src/package/wlz-btn/index.vue 3. src/package/wlz-input/index.vue // src\package\index.js import WlzBtn from "./wlz-btn"; import WlzInput …

Day05-后端Web基础——TomcatServletHTTP协议SpringBootWeb入门

目录 Web基础知识课程内容1. Tomcat1.1 简介1.2 基本使用1.2.1 下载1.2.2 安装与卸载1.2.3 启动与关闭1.2.4 常见问题 2. Servlet2.1 快速入门2.1.1 什么是Servlet2.1.2 入门程序2.1.3 注意事项 2.2 执行流程 3. HTTP协议3.1 HTTP-概述3.1.1 介绍3.1.2 特点 3.2 HTTP-请求协议3…

两级式三相光伏并网逆变器Matlab/Simulink仿真模型

忘记更新最经典的光伏并网仿真模型了&#xff0c;作为包含经典的MPPT和并网恒功率因素的双闭环控制模型&#xff0c;也是很多相关专业学生的入门研究内容&#xff0c;光伏并网模型三相的和单相都有。 其中三相光伏并网逆变器有大功率和小功率的两种&#xff0c;之前早在硕士期…