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

通往 AI 之路:Python 机器学习入门-线性代数

2.1 线性代数(机器学习的核心)

线性代数是机器学习的基础之一,许多核心算法都依赖矩阵运算。本章将介绍线性代数中的基本概念,包括标量、向量、矩阵、矩阵运算、特征值与特征向量,以及奇异值分解(SVD)。


2.1.1 标量、向量、矩阵

1. 标量(Scalar)

标量是一个单独的数,例如:

a = 5

在 Python 中:

a = 5  # 标量

2. 向量(Vector)

向量是由多个数值组成的一维数组,例如:

v = [2, 3, 5]

Python 实现:

import numpy as np
v = np.array([2, 3, 5])  # 一维数组表示向量
print(v)

3. 矩阵(Matrix)

矩阵是一个二维数组,例如:

A = [[1, 2],[3, 4]]

Python 实现:

A = np.array([[1, 2], [3, 4]])  # 二维数组表示矩阵
print(A)

2.1.2 矩阵运算

1. 矩阵加法

两个相同形状的矩阵可以相加:

A + B = [[1, 2],    +   [[5, 6],    =   [[6,  8],[3, 4]]         [7, 8]]         [10, 12]]

Python 计算:

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = A + B
print(C)

2. 矩阵乘法

  • 逐元素相乘(Hadamard 乘积)
A ⊙ B = [[1×5,  2×6],[3×7,  4×8]]= [[5, 12],[21, 32]]

Python 实现:

C = A * B  # 逐元素相乘
print(C)
  • 矩阵乘法(点积)
A × B = [[1×5 + 2×7,  1×6 + 2×8],[3×5 + 4×7,  3×6 + 4×8]]= [[19, 22],[43, 50]]

Python 实现:

C = np.dot(A, B)  # 矩阵乘法
print(C)

3. 矩阵转置

矩阵转置是将行变成列:

A^T = [[1, 3],[2, 4]]

Python 计算:

A_T = A.T  # 计算转置
print(A_T)

4. 逆矩阵

如果矩阵 A 是可逆的(即 det(A) ≠ 0),那么存在一个矩阵 A^(-1) 使得:

A × A^(-1) = I  (单位矩阵)

Python 计算:

A_inv = np.linalg.inv(A)  # 计算逆矩阵
print(A_inv)

2.1.3 特征值与特征向量

特征值(Eigenvalue)和特征向量(Eigenvector)在机器学习中用于主成分分析(PCA)等算法。

1. 定义

对于矩阵 A,如果存在一个向量 v 和一个数 λ 使得:

A × v = λ × v

那么 vA 的特征向量,λ 是对应的特征值。

2. Python 计算特征值和特征向量

eigenvalues, eigenvectors = np.linalg.eig(A)
print("特征值:", eigenvalues)
print("特征向量:", eigenvectors)

2.1.4 SVD(奇异值分解)

奇异值分解(Singular Value Decomposition, SVD)是矩阵分解的一种重要方法,它可以表示为:

A = U × Σ × V^T

其中:

  • U 是左奇异向量矩阵
  • Σ 是对角矩阵,对角线上的元素称为奇异值
  • V^T 是右奇异向量矩阵的转置

Python 计算 SVD

U, S, V_T = np.linalg.svd(A)
print("U 矩阵:", U)
print("Σ 矩阵:", S)
print("V^T 矩阵:", V_T)

SVD 在降维(如 PCA)中有重要应用,后续章节将深入介绍。


总结

本章介绍了机器学习中常用的线性代数知识,包括:

  • 标量、向量、矩阵 及其表示方式
  • 矩阵运算(加法、乘法、转置、逆矩阵)
  • 特征值与特征向量(PCA 等算法的基础)
  • SVD(奇异值分解)(在数据降维中的应用)

掌握这些内容,有助于理解机器学习的数学基础!建议多实践代码,加深理解!

相关文章:

通往 AI 之路:Python 机器学习入门-线性代数

2.1 线性代数(机器学习的核心) 线性代数是机器学习的基础之一,许多核心算法都依赖矩阵运算。本章将介绍线性代数中的基本概念,包括标量、向量、矩阵、矩阵运算、特征值与特征向量,以及奇异值分解(SVD&…...

迷你世界脚本UI五子棋小游戏

wzq_jm "7477124677881080183-22855"--界面id wzq_jmjxh "7477124677881080183-22855_"--界面加下划线 wzq_tc "7477124677881080183-22855_262"--退出按钮id wzq_hdlt1 "7477124677881080183-22855_267"--互动聊天按钮 快点吧&a…...

阿里万相,正式开源

大家好,我是小悟。 阿里万相正式开源啦。这就像是AI界突然开启了一扇通往宝藏的大门,而且还是免费向所有人敞开的那种。 你想想看,在这个科技飞速发展的时代,AI就像是拥有神奇魔法的魔法师,不断地给我们带来各种意想…...

C# 数据转换

1. 文本框读取byte,ushort格式数据 byte addr; if (byte.TryParse(textBoxAddr.Text, out addr) true) {}2. 字节数组 (byte[]) 转换为 ASCII 字符串 byte[] bytes { 72, 101, 108, 108, 111 }; // "Hello" 的 ASCII 码 string s0 Encoding.ASCII.Ge…...

学习第十一天-树

一、树的基础概念 1. 定义 树是一种非线性数据结构,由 n 个有限节点组成层次关系集合。特点: 有且仅有一个根节点其余节点分为若干互不相交的子树节点间通过父子关系连接 2. 关键术语 术语定义节点包含数据和子节点引用的单元根节点树的起始节点&#…...

网络服务之SSH协议

一.SSH基础 1.1 什么是ssh SSH(Secure Shell)协议是一种用于字符界面远程登录和数据加密传输的协议。 1.2 ssh优点 优点: 数据传输是加密的,可以防止信息泄漏 数据传输是压缩的,可以提高传输速度 注意&#xff…...

蓝桥杯 之 前缀和与查分

文章目录 题目求和棋盘挖矿 前缀和有利于快速求解 区间的和、异或值 、乘积等情况差分是前缀和的反操作 前缀和 一维前缀和: # 原始的数组num,下标从1到n n len(num) pre [0]*(n1) for i in range(n):pre[i1] pre[i] num[i] # 如果需要求解num[l] 到num[r] 的区…...

GB28181开发--ZLMediaKit‌+WVP+Jessibuca‌

一、核心组件功能 1‌、ZLMediaKit‌ 定位‌:基于 C++11 的高性能流媒体服务框架,支持 RTSP/RTMP/HLS/HTTP-FLV 等协议互转,具备低延迟(最低 100ms)、高并发(单机 10W 级连接)特性,适用于商用级流媒体服务器部署‌。 ‌特性‌:跨平台(Linux/Windows/ARM 等)、支持 …...

Ubuntu20.04 在离线机器上安装 NVIDIA Container Toolkit

步骤 1.下载4个安装包 Index of /nvidia-docker/libnvidia-container/stable/ nvidia-container-toolkit-base_1.13.5-1_amd64.deb libnvidia-container1_1.13.5-1_amd64.deb libnvidia-container-tools_1.13.5-1_amd64.deb nvidia-container-toolkit_1.13.5-1_amd64.deb 步…...

如何快速上手RabbitMQ 笔记250304

如何快速上手RabbitMQ 要快速上手 RabbitMQ,可以按照以下步骤进行,从安装到基本使用逐步掌握核心概念和操作: 1. 理解核心概念 Producer(生产者):发送消息的程序。Consumer(消费者&#xff09…...

无人机端部署 AI 模型,实现实时数据处理和决策

在无人机端部署 AI 模型,实现实时数据处理和决策,是提升无人机智能化水平的关键技术之一。通过将 AI 模型部署到无人机上,可以实现实时目标检测、路径规划、避障等功能。以下是实现这一目标的详细方案和代码示例。 一、实现方案 1. 硬件选择…...

CentOS 7中安装Dify

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。尤其是我们本地部署DeepSeek等大模型时,会需要用到Dify来帮我们快捷的开发和应用。 大家可以参考学习它的中…...

CoDrivingLLM

CoDrivingLLM 思路 1.输入和输出 输入 算法的输入包括车辆当前时刻的状态 S t S_t St​ ,这个状态包含了车辆的位置、速度、行驶方向等信息;以及参与协同驾驶的联网自动驾驶汽车列表C,用于确定需要进行决策的车辆集合。 输出 输出为车辆…...

Centos7升级openssl和openssh最新版

1、事前准备 下载openssl3.4.1和openssh9.9p2压缩包上传到服务器 https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable// Release OpenSSL 3.4.1 openssl/openssl GitHub 2、查看centos7、ssh以及openssl的版本信息 # 查看CentOS系统版本信息 cat /etc/redhat-release …...

相控阵扫盲

下图展示天线增益 在仰角为0度的情况下随着方位角的变化而变化。需要注意到的是在天线视轴方向上的高增益主瓣上还有几个低增益旁瓣 阵列因子乘以新的阵元方向图会形成指向性更强的波速...

nginx 配置 301跳转

HTTP 跳转到 HTTPS 将所有 HTTP 请求(80 端口)跳转到 HTTPS(443 端口): server {listen 80;server_name example.com;# 跳转到 HTTPSreturn 301 https://$host$request_uri; }server {listen 443 ssl;server_name exa…...

开发环境搭建-03.后端环境搭建-使用Git进行版本控制

一.Git进行版本控制 我们对项目开发就会产生很多代码,我们需要有效的将这些代码管理起来,因此我们真正开发代码前需要把我们的Git环境搭建好。通过Git来管理我们项目的版本,进而实现版本控制。 首先我们使用Git创建本地仓库,然后…...

vivado 充分利用 IP 核

充分利用 IP 核 使用预先验证的 IP 核能够大幅减少设计和验证工作量,从而加速产品上市进程。如需了解更多有利用 IP 的信息,请参 阅以下资源: • 《 Vivado Design Suite 用户指南:采用 IP 进行设计》 (UG896) [ 参照 1…...

外盘农产品期货数据:历史高频分钟回测的分享下载20250305

外盘农产品期货数据:历史高频分钟回测的分享下载20250305 在国际期货市场中,历史分钟高频数据的作用不可小觑。这些数据以分钟为时间尺度,详细记录了期货合约的价格变动和交易量信息,为投资者提供了全面、深入的市场分析视角。通…...

计算机毕设-基于springboot的网上商城系统的设计与实现(附源码+lw+ppt+开题报告)

博主介绍:✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…...

告别手动计算!用Python+ArcPy脚本批量搞定MODIS ET数据从8天到月均值的完整流程

从8天到月均值:PythonArcPy全自动处理MODIS ET数据的工程实践 当面对跨越多年、覆盖大区域的MOD16A2数据集时,传统的手工操作不仅效率低下,还容易引入人为错误。本文将展示如何用PythonArcPy构建一套完整的自动化流程,实现从原始8…...

3分钟掌握:ncmdumpGUI免费转换网易云音乐ncm文件的完整指南

3分钟掌握:ncmdumpGUI免费转换网易云音乐ncm文件的完整指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌…...

Windows Cleaner:免费开源的系统优化神器,彻底告别C盘爆红烦恼

Windows Cleaner:免费开源的系统优化神器,彻底告别C盘爆红烦恼 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常被Windows系统C盘…...

基于Adafruit FunHouse与MQTT构建响应式智能家居传感节点

1. 项目概述:从零构建一个响应灵敏的智能家居传感节点如果你手头有一块像Adafruit FunHouse这样的开发板,上面集成了温湿度、气压传感器,还有几个物理按钮和滑块,你可能会想,怎么才能让它真正“活”起来,成…...

ZYNQ启动太慢?从FSBL到U-Boot的完整性能分析与优化实战

ZYNQ启动太慢?从FSBL到U-Boot的完整性能分析与优化实战 在嵌入式系统开发中,启动时间往往是衡量产品性能的关键指标之一。对于基于Xilinx ZYNQ平台的产品,从按下电源键到系统完全就绪,这中间经历的毫秒级延迟可能决定着一个工业控…...

Armv8原子操作调试:LDXR/STXR指令对与独占监视器

1. 理解LDXR/STXR指令对的核心机制在Armv8-A架构中,LDXR(Load Exclusive Register)和STXR(Store Exclusive Register)是一对用于实现原子操作的指令。这对指令的工作机制可以类比为"拿号排队"系统&#xff1…...

从码农到技术总监:10年程序员的职业进化史

一、初入职场:在代码与bug中蹒跚学步2016年的夏天,我背着双肩包,攥着毕业证,走进了一家中型软件公司的大门,成为了一名Java开发程序员,也就是别人口中的“码农”。那时候,我的生活被代码和bug填…...

Spring AI + Ollama 深度实战:从 RAG 问答到 Graph Agent 全流程指南

场景 Spring AI RAG 检索增强生成:概念、实战与完整代码: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/161055108 基于上面的基础,实现Graph工作流编排的简单示例。 大语言模型(LLM)在实际应用中面…...

告别点点点!用Ranorex Studio录制你的第一个计算器自动化测试(附详细截图)

从零开始:用Ranorex Studio实现计算器自动化测试的完整指南 第一次接触自动化测试时,那种既期待又忐忑的心情我至今记忆犹新。作为一位长期被重复性手工测试困扰的QA工程师,每天面对相同的测试用例,点击相同的按钮,验证…...

1.解锁 Bootloader + 线刷 + 基带恢复,高通 EDL 模式自动化刷机(Python 脚本),解决黑砖 / Bootloop 难题

摘要 本文以工程化视角系统阐述主流品牌手机刷机维修的底层原理与标准化操作流程。覆盖高通、联发科、苹果A系列芯片平台的刷机协议、分区表结构、恢复模式触发机制及底层通信协议。提供可复现的Python自动化刷机脚本与adb/fastboot命令矩阵,解决变砖、Bootloop、基…...