当前位置: 首页 > news >正文

支持向量机 (Support Vector Machines, SVM)

支持向量机 (Support Vector Machines, SVM)

通俗易懂算法

支持向量机(SVM)是一种用于分类和回归任务的机器学习算法。在最简单的情况下,SVM是一种线性分类器,适用于二分类问题。它的基本思想是找到一个超平面(在二维空间中是直线,在高维空间中是平面)来将数据点分开。

核心思想

  1. 分类超平面

    • 在二维空间中,我们希望找到一条直线将两类数据点分开。对于三维空间,就是一个面;对于更高维空间,就是一个超平面。
    • 这个分隔面的方程可以表示为: w x + b = 0 wx + b = 0 wx+b=0,其中 w w w是权重向量, b b b是偏置。
  2. 最大化间隔

    • SVM的关键是不仅仅将数据点分开,而是要找到能最大化两类之间“间隔”(或“边界”)的超平面。这个间隔被称为“margin”。
    • 理想情况下,SVM选择的超平面会距离最近的数据点(支持向量)最远。
  3. 支持向量

    • 那些离超平面最近的点被称为“支持向量”。它们是计算最大间隔的关键,因为它们决定了超平面的最终位置。

数学表达

我们希望找到能够最大化函数间隔的超平面。假设数据集线性可分,这可以通过以下优化问题实现:

min ⁡ w , b 1 2 ∥ w ∥ 2 s.t. y i ( w x i + b ) ≥ 1 ∀ i \begin{align*} \min_{w, b} & \quad \frac{1}{2} \|w\|^2 \\ \text{s.t.} & \quad y_i(wx_i + b) \geq 1 \quad \forall i \end{align*} w,bmins.t.21w2yi(wxi+b)1i

其中:

  • w w w 是权重向量。
  • b b b 是偏置。
  • y i y_i yi 是数据点 x i x_i xi 的标签,通常 y i ∈ { − 1 , 1 } y_i \in \{-1, 1\} yi{1,1}

此优化问题的目标是最小化向量 w w w的范数,同时保证所有数据点都在间隔之外。

核技巧

当数据集不是线性可分时,SVM可以通过“核技巧”来处理非线性分类问题。核技巧的核心是在较高维度空间中寻找线性分割面,而不需要显式地转换数据。

常用的核函数包括:

  • 线性核: K ( x i , x j ) = x i ⋅ x j K(x_i, x_j) = x_i \cdot x_j K(xi,xj)=xixj
  • 多项式核: K ( x i , x j ) = ( x i ⋅ x j + c ) d K(x_i, x_j) = (x_i \cdot x_j + c)^d K(xi,xj)=(xixj+c)d
  • 高斯核(RBF核): K ( x i , x j ) = exp ⁡ ( − γ ∥ x i − x j ∥ 2 ) K(x_i, x_j) = \exp(-\gamma \|x_i - x_j\|^2) K(xi,xj)=exp(γxixj2)

总结

支持向量机是一种功能强大的分类算法,尤其在维度较高的数据集上表现良好。其关键优势在于:

  • 能够处理高维空间。
  • 通过核技巧,能够处理非线性分类任务。
  • 对少量样本和稀疏数据较为有效。

理解SVM的核心,在于理解它是如何通过最大化间隔来实现分类以及如何利用支持向量来影响模型的最终决策。

底层原理

支持向量机(SVM)是一种用于分类和回归的监督学习模型。其核心思想是寻找一个最优的超平面,把不同类别的数据分开,同时最大化类别之间的间隔。以下是SVM的数学原理:

1. 问题定义

对于给定的训练数据集:
{ ( x i , y i ) ∣ x i ∈ R n , y i ∈ { − 1 , 1 } , i = 1 , 2 , … , m } \{(\mathbf{x}_i, y_i) \mid \mathbf{x}_i \in \mathbb{R}^n, y_i \in \{-1, 1\}, i = 1, 2, \ldots, m\} {(xi,yi)xiRn,yi{1,1},i=1,2,,m}

我们要找到一个超平面把数据分开。这个超平面可以表示为:
w ⋅ x + b = 0 \mathbf{w} \cdot \mathbf{x} + b = 0 wx+b=0

2. 几何间隔和函数间隔

  • 函数间隔
    函数间隔是超平面对点 ( x i , y i ) (\mathbf{x}_i, y_i) (xi,yi) 的这一形式的产品:
    γ i = y i ( w ⋅ x i + b ) \gamma_i = y_i (\mathbf{w} \cdot \mathbf{x}_i + b) γi=yi(wxi+b)

  • 几何间隔
    几何间隔通过归一化权重向量 w \mathbf{w} w 来计算,定义为:
    γ ^ i = γ i ∣ ∣ w ∣ ∣ = y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ \hat{\gamma}_i = \frac{\gamma_i}{||\mathbf{w}||} = \frac{y_i (\mathbf{w} \cdot \mathbf{x}_i + b)}{||\mathbf{w}||} γ^i=∣∣w∣∣γi=∣∣w∣∣yi(wxi+b)

对于SVM,我们希望最大化几何间隔。

3. 最优化问题

为了最大化间隔,SVM把最大化问题转化为以下约束的二次优化问题:
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 subject to y i ( w ⋅ x i + b ) ≥ 1 , ∀ i \begin{align*} \min_{\mathbf{w}, b} \quad & \frac{1}{2} ||\mathbf{w}||^2 \\ \text{subject to} \quad & y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1, \quad \forall i \end{align*} w,bminsubject to21∣∣w2yi(wxi+b)1,i

4. 拉格朗日对偶问题

通过引入拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi0,可以构建拉格朗日函数:
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 m α i [ y i ( w ⋅ x i + b ) − 1 ] L(\mathbf{w}, b, \alpha) = \frac{1}{2} ||\mathbf{w}||^2 - \sum_{i=1}^{m} \alpha_i [y_i(\mathbf{w} \cdot \mathbf{x}_i + b) - 1] L(w,b,α)=21∣∣w2i=1mαi[yi(wxi+b)1]

通过对 w \mathbf{w} w b b b 求导并设为零,可以得到对偶问题:
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i ⋅ x j ) subject to ∑ i = 1 m α i y i = 0 , α i ≥ 0 , ∀ i \begin{align*} \max_{\alpha} \quad & \sum_{i=1}^{m} \alpha_i - \frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_i \alpha_j y_i y_j (\mathbf{x}_i \cdot \mathbf{x}_j) \\ \text{subject to} \quad & \sum_{i=1}^{m} \alpha_i y_i = 0, \\ & \alpha_i \geq 0, \quad \forall i \end{align*} αmaxsubject toi=1mαi21i=1mj=1mαiαjyiyj(xixj)i=1mαiyi=0,αi0,i

5. 核函数方法

在高维空间中,数据很难线性分开;我们通过核函数引入非线性映射 ϕ ( x ) \phi(\mathbf{x}) ϕ(x),使问题在特征空间中线性可分。常用的核函数包括:

  • 多项式核: K ( x i , x j ) = ( x i ⋅ x j + c ) d K(\mathbf{x}_i, \mathbf{x}_j) = (\mathbf{x}_i \cdot \mathbf{x}_j + c)^d K(xi,xj)=(xixj+c)d
  • 高斯核(RBF核): K ( x i , x j ) = exp ⁡ ( − ∣ ∣ x i − x j ∣ ∣ 2 2 σ 2 ) K(\mathbf{x}_i, \mathbf{x}_j) = \exp\left(-\frac{||\mathbf{x}_i - \mathbf{x}_j||^2}{2\sigma^2}\right) K(xi,xj)=exp(2σ2∣∣xixj2)

通过这些核函数,SVM可以在高维空间中找到超平面对原数据进行分类。

6. 软间隔SVM

对于不可完全分的情况,引入松弛变量 ξ i \xi_i ξi 允许部分数据点越过分隔边界,最优化问题变成:
min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i subject to y i ( w ⋅ x i + b ) ≥ 1 − ξ i , ξ i ≥ 0 , ∀ i \begin{align*} \min_{\mathbf{w}, b, \xi} \quad & \frac{1}{2} ||\mathbf{w}||^2 + C \sum_{i=1}^{m} \xi_i \\ \text{subject to} \quad & y_i (\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1 - \xi_i, \\ & \xi_i \geq 0, \quad \forall i \end{align*} w,b,ξminsubject to21∣∣w2+Ci=1mξiyi(wxi+b)1ξi,ξi0,i

这里的 C C C 是一个超参数,用于控制间隔的宽度和违反间隔的惩罚之间的权衡。

以上是支持向量机的底层数学原理概述,通过这些方法,SVM能够有效地进行分类和回归。

常用面试考点

支持向量机(Support Vector Machines, SVM)是一种常用于分类任务的监督学习模型。SVM的主要目标是找到一个最佳超平面,将数据的不同类别分开。以下是SVM算法的主要概念和公式,从常用面试考点的角度进行讲解:

1. 基本概念

  • 超平面: 在 n n n维空间中,一个超平面是一个 ( n − 1 ) (n-1) (n1)维的子空间,它可以用来分离数据。如在二维空间中,超平面是直线;在三维空间中,超平面是平面。
  • 支持向量: 距离超平面最近的那些数据点,这些点决定了超平面的位置和方向。
  • 间隔(Margin): 支持向量到超平面的最小距离。SVM的目标是最大化这个间隔。

2. 数学公式

SVM算法的目标是找到一个超平面,其方程可表示为:

w ⋅ x + b = 0 w \cdot x + b = 0 wx+b=0

其中, w w w是法向量, b b b是偏置项。

对于每个数据点 ( x i , y i ) (x_i, y_i) (xi,yi),分类要求满足:

y i ( w ⋅ x i + b ) ≥ 1 y_i(w \cdot x_i + b) \geq 1 yi(wxi+b)1

在硬间隔(Hard Margin)情况下,SVM的目标是最大化间隔,可以转化为最小化以下目标函数:

min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 \min \frac{1}{2} ||w||^2 min21∣∣w2

主体约束为上述分类条件。

在软间隔(Soft Margin)情况下,为了允许一些数据点在错误侧,目标变为:

min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i \min \frac{1}{2} ||w||^2 + C \sum_{i=1}^{n} \xi_i min21∣∣w2+Ci=1nξi

约束为:

y i ( w ⋅ x i + b ) ≥ 1 − ξ i , ξ i ≥ 0 y_i(w \cdot x_i + b) \geq 1 - \xi_i, \, \xi_i \geq 0 yi(wxi+b)1ξi,ξi0

其中, ξ i \xi_i ξi是松弛变量, C C C是惩罚参数,控制对错误分类的惩罚程度。

3. 核函数(Kernel Trick)

为了处理非线性分类问题,SVM采用核技巧,通过一种映射将原始数据从输入空间映射到高维特征空间。在高维特征空间中,数据变得线性可分。常用的核函数包括:

  • 线性核: K ( x i , x j ) = x i ⋅ x j K(x_i, x_j) = x_i \cdot x_j K(xi,xj)=xixj
  • 多项式核: K ( x i , x j ) = ( x i ⋅ x j + c ) d K(x_i, x_j) = (x_i \cdot x_j + c)^d K(xi,xj)=(xixj+c)d
  • 高斯核(RBF): K ( x i , x j ) = exp ⁡ ( − γ ∣ ∣ x i − x j ∣ ∣ 2 ) K(x_i, x_j) = \exp(-\gamma ||x_i - x_j||^2) K(xi,xj)=exp(γ∣∣xixj2)
  • sigmoid核: K ( x i , x j ) = tanh ⁡ ( α x i ⋅ x j + c ) K(x_i, x_j) = \tanh(\alpha x_i \cdot x_j + c) K(xi,xj)=tanh(αxixj+c)

4. 优点与局限

  • 优点:

    • 有效处理高维数据。
    • 在特征数大于样本数的情况下依然表现良好。
    • 可通过核函数处理非线性问题。
  • 局限:

    • 对大规模数据集效率不高。
    • 在参数选择和核函数选择上较复杂。

面试中的常见问题包括解释间隔的概念、核函数的作用、如何选择参数C和核函数的参数等,以及如何将SVM应用于具体的分类任务。

相关文章:

支持向量机 (Support Vector Machines, SVM)

支持向量机 (Support Vector Machines, SVM) 通俗易懂算法 支持向量机(SVM)是一种用于分类和回归任务的机器学习算法。在最简单的情况下,SVM是一种线性分类器,适用于二分类问题。它的基本思想是找到一个超平面(在二维…...

上海市计算机学会竞赛平台2024年8月月赛丙组调和级数

题目描述 给定一个整数 nn,记 ⌊x⌋⌊x⌋ 表示不超过实数 xx 的最大整数,请求出 ⌊n1⌋⌊n2⌋⌊n3⌋⋯⌊nn−1⌋⌊nn⌋⌊1n​⌋⌊2n​⌋⌊3n​⌋⋯⌊n−1n​⌋⌊nn​⌋ 输入格式 单个整数:表示 nn 输出格式 单个整数:表示答…...

【重学 MySQL】二十、运算符的优先级

【重学 MySQL】二十、运算符的优先级 MySQL 运算符的优先级(由高到低)注意事项示例 在 MySQL 中,运算符的优先级决定了在表达式中各个运算符被计算的先后顺序。了解运算符的优先级对于编写正确且高效的 SQL 语句至关重要。以下是根据高权威性…...

十种优化MySQL数据库的最佳建议

优化MySQL数据库可以提高查询性能和系统响应能力,以下是一些MySQL数据库优化的建议: 优化查询语句:避免使用SELECT *,只选择需要的字段;使用索引来加快查询速度;避免使用慢查询。 优化表结构:使…...

springboot组件使用-mybatis组件使用

文章目录 springboot使用mybatis组件1. 添加依赖2. 配置数据源3. 创建实体类4. 创建Mapper接口5. 创建Mapper XML文件6. 使用Mapper7. 启动类配置 mybtis 动态SQL1. Mapper 注解2. Select 注解3. Insert 注解4. Update 注解5. Delete 注解6. Results 注解7. Param 注解8. Cache…...

Ribbon 源码分析【Ribbon 负载均衡】

前言 在 Spring Cloud 2020 版本以后,移除了对 Netflix 的依赖,也就移除了负载均衡器 Ribbon,Spring Cloud 官方推荐使用 Loadbalancer 替换 Ribbon,而在 LoadBalancer 之前 Spring Cloud 一直使用的是 Ribbon 来做负载[均衡器的…...

Python | Leetcode Python题解之第385题迷你语法分析器

题目: 题解: class Solution:def deserialize(self, s: str) -> NestedInteger:if s[0] ! [:return NestedInteger(int(s))stack, num, negative [], 0, Falsefor i, c in enumerate(s):if c -:negative Trueelif c.isdigit():num num * 10 int…...

进程间通信-进程池

目录 理解​ 完整代码 完善代码 回收子进程&#xff1a;​ 不回收子进程&#xff1a; 子进程使用重定向优化 理解 #include <iostream> #include <unistd.h> #include <string> #include <vector> #include <sys/types.h>void work(int rfd) {…...

【PYTHON 基础系列-request 模块介绍】

一、requests库简介 使用requests库能快速构建 HTTP 请求&#xff0c;而无需深入了解底层网络协议细节。其API设计直观&#xff0c;使得发送请求就像调用函数一样简单&#xff0c;同时提供了丰富的选项以满足复杂网络交互的需求。这种设计使得无论是初学者还是经验丰富的开发者…...

springboot 实现策略模式通过id进入不同的服务类service

在Spring Boot中实现策略模式&#xff0c;通常是将不同的算法封装在单独的类中&#xff0c;并使它们可以相互替换。这些类通常都实现同一个接口。在Spring Boot应用中&#xff0c;你可以通过Spring的依赖注入&#xff08;DI&#xff09;来管理这些策略类的实例&#xff0c;并通…...

AUC真的什么情形下都适合吗

AUC(Area Under the ROC Curve)是一个广泛使用的性能评价指标,它衡量了分类模型在不同阈值下区分正类和负类的能力。然而,在某些情况下,AUC可能不是最准确的评价指标,以下是几种可能的情况: 数据极度不均衡:在数据极度不均衡的情况下,即使模型只预测多数类,AUC也可能…...

Flutter基本组件Text使用

Text是一个文本显示控件&#xff0c;用于在应用程序界面中显示单行或多行文本内容。 Text简单Demo import package:flutter/material.dart;class MyTextDemo extends StatelessWidget {const MyTextDemo({super.key});overrideWidget build(BuildContext context) {return Sca…...

DDS基本原理--FPGA学习笔记

DDS信号发生器原理&#xff1a; timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2024/09/04 15:20:30 // Design Name: hilary // Module Name: DDS_Module //module DDS_Module(Clk,Reset_n,Fword,Pword,Data);input Clk;input Reset_n;input [31:0]…...

有temp表包含A,B两列,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数

有temp表&#xff0c;使用SQL&#xff0c;对B列进行处理&#xff0c;形成C列&#xff0c;按A列顺序&#xff0c;B列值不变&#xff0c;则C列累计技术&#xff0c;B列值变化&#xff0c;则C列重新开始计数 建表语句如下 CREATE TABLE temp(A STRING ,B STRING );INSERT INTO …...

【H2O2|全栈】关于HTML(6)HTML基础(五 · 完结篇)

HTML基础知识 目录 HTML基础知识 前言 准备工作 标签的具体分类&#xff08;五&#xff09; 本文中的标签在什么位置中使用&#xff1f; 表单&#xff08;二&#xff09; 下拉选择菜单 文本域 案例 拓展标签 iframe框架 案例 预告和回顾 后话 前言 本系列博客介…...

2024第三届大学生算法大赛 真题训练一 解题报告 | 珂学家

前言 题解 这是第三届大学生算法大赛(第二届为清华社杯)的赛前练习赛一. 这是上界比赛的体验报告: 2023第二届“清华社杯”大学生算法大赛 解题报告(流水账版) | 珂学家&#xff0c;个人还是非常推荐这个比赛。 难度分布&#xff1a;4 easy/4 mid-hard/2 hard 赛前练习赛一…...

IIS网站允许3D模型类型的文件

参与threejs项目的研发&#xff0c;本地开发完成后&#xff0c;发布后使用时发现模型文件不能正常获取资源&#xff0c;原因是IIS站点默认不支持模型类型。 一开始是通过直接在IIS网站管理中的类型添加来实现网站对类型的支持。 后来发现一段对于后端来说可以直接实现代码上添加…...

Linux 性能调优之CPU上下文切换

写在前面 博文内容为 Linux 性能指标 CPU 上下文切换认知内容涉及&#xff1a; 上下文认知&#xff0c;发生上下文切换的场景有哪些上下文指标信息查看&#xff0c;内核上下文切换事件跟踪&#xff0c;系统上下文切换统计上下文异常场景分析&#xff0c;CPU亲和性配置优化上下文…...

【无标题】符文价值的退化页

我们利用现有的符文体系建立了一个健全的符文扩展空间&#xff0c;可假若符文让我们感到十分困惑&#xff0c;我们不介意毁灭它们&#xff0c;让一切回到没有字迹的蛮荒纪。 如此&#xff0c;眼睛也失去了作用。我们的成GUO也会给后来者提供又是一DUI 令人眼花缭乱的无用符咒。…...

DFS 算法:洛谷B3625迷宫寻路

我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页 往 {\color{Red} {\Huge 往} } 往 期 {\color{Green} {\Huge 期} } 期 文 {\color{Blue} {\Huge 文} } 文 章 {\color{Orange} {\Huge 章}} 章 DFS 算法&#xff1a;记忆化搜索DFS 算法&#xf…...

结构开发笔记(七):solidworks软件(六):装配摄像头、摄像头座以及螺丝,完成摄像头结构示意图

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/141931518 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…...

Android 15 新特性快速解读指南

核心要点 16K 页面大小支持目前作为开发人员选项提供&#xff0c;并非强制要求。 引入多项提升开发体验、多语言支持、多媒体功能、交互体验和隐私安全的更新。 重点关注前台服务限制、Window Insets 行为变化、AndroidManifest 文件限制等适配要求。 开发体验 ApplicationS…...

【机器人工具箱Robotics Toolbox开发笔记(十九)】机器人工具箱Link类函数参数说明

​机器人工具箱中的Link对象保存于机器人连杆相关的所有信息,如运动学参数、刚体惯性参数、电机和传动参数等。 与Link对象有关参数如表1所示。 表1 Link对象参数 参 数 意 义 参 数 意 义 A 连杆变换矩阵 islimit 测试关节是否超过软限制 RP RP关节类型 isrevo…...

排查SQL Server中的内存不足及其他疑难问题

文章目录 引言I DMV 资源信号灯资源信号灯 DMV sys.dm_exec_query_resource_semaphores( 确定查询执行内存的等待)查询性能计数器什么是内存授予?II DBCC MEMORYSTATUS 查询内存对象III DBCC 命令释放多个 SQL Server 内存缓存 - 临时度量值IV 等待资源池 %ls (%ld)中的内存…...

输送线相机拍照信号触发(博途PLC高速计数器中断立即输出应用)

博途PLC相关中断应用请参考下面文章链接: T法测速功能块 T法测速功能块(博途PLC上升沿中断应用)-CSDN博客文章浏览阅读165次。本文介绍了博途PLC中T法测速的原理和应用,包括如何开启上升沿中断、配置中断以及T法测速功能块的使用。重点讲述了在中断事件发生后执行的功能块处…...

【数学分析笔记】第3章第1节 函数极限(6)

3. 函数极限与连续函数 3.1 函数极限 【例3.1.12】 f ( x ) a n x n a n − 1 x n − 1 ⋯ a k x k b m x m b m − 1 x m − 1 ⋯ b j x j , b m , b j ≠ 0 , a n , a k ≠ 0 f(x) \frac{a_{n} x^{n}a_{n-1} x^{n-1}\cdotsa_{k} x^{k}}{b_{m} x^{m}b_{m-1} x^{m-1}\…...

程序员如何写笔记?

word。没错&#xff0c;我也看了网上一大堆软件&#xff0c;还有git管理等等。个人认为如果笔记只是记录个人的经验积累&#xff0c;一个word就够了&#xff0c;那些notepad&#xff0c;laTex个人觉得不够简练。word。 1.word可以插入任何文件附件(目前最大的word 200MB也没出现…...

Linux网络——Socket编程函数

一.网络命令 1.ping ping命令用来检测网络是否连通&#xff0c;具体用法为&#xff1a; ping 任意网址 结果如下&#xff1a; 当出现上述字段时&#xff0c;证明网络是连通的&#xff0c;这里值得注意的是&#xff0c;ping命令执行之后会不断进行网络检测&#xff0c;不会停…...

HarmonyOS 是如何实现一次开发多端部署 -- HarmonyOS自学1

一次开发多端部署遇到的几个关键问题 为了实现“一多”的目标&#xff0c;需要解决如下三个基础问题&#xff1a; 问题1&#xff1a;页面如何适配 不同设备间的屏幕尺寸、色彩风格等存在差异&#xff0c;页面如何适配。 问题2&#xff1a;功能如何兼容 不同设备的系统能力…...

嵌入式硬件-ARM处理器架构,CPU,SOC片上系统处理器

多进程空间内部分布图&#xff1a;注意&#xff1a;创建线程实际使用堆区空间&#xff0c;栈区独立 ARM处理器架构&#xff1a; 基于ARM920T架构的CPU:以下为哈佛结构 ALU:算数运算器 R0~R12&#xff1a;寄存器 PC:程序计数器&#xff0c;默认为0&#xff0c;做自加运算&#x…...