线性代数入门教程

理解向量、矩阵和张量运算,掌握现代科技背后的核心数学语言

线性代数是数学中研究向量、向量空间、线性变换和线性方程组的分支,它构成了现代科技世界的数学基础。从搜索引擎算法到计算机图形渲染,从量子力学到深度学习,线性代数无处不在。当我们使用社交媒体、进行在线购物或享受电影特效时,背后都有线性代数的力量在支撑。

本文将介绍线性代数的核心概念,并通过Python代码展示其实际应用。我们使用NumPy库,它是Python科学计算的基础工具。

import numpy as np  # 导入NumPy库

1. 基础构建块:标量、向量、矩阵与张量

1.1 标量(Scalars) - 零维数据

标量是单个数值,是最基本的数学对象。在编程中表示为0维张量。

# 创建标量
x = np.array(3.0)
y = np.array(2.0)

# 基本运算
print(f"加法: {
     
     x + y}")
print(f"乘法: {
     
     x * y}")
print(f"除法: {
     
     x / y}")
print(f"幂运算: {
     
     x ** y}")

1.2 向量(Vectors) - 一维数据

向量是有序的数字列表,表示方向和大小的量。在数据科学中,一个向量可以表示一个数据样本的所有特征。

# 创建向量
temperature = np.array([22.5, 23.0, 24.5, 21.8, 20.5])  # 每日温度数据
sales = np.array([120, 135, 140, 125, 110])  # 每日销售额

# 向量运算
print("\n温度向量:", temperature)
print("平均温度:", np.mean(temperature))
print("温度范围:", np.max(temperature) - np.min(temperature))
print("点积(温度与销售额相关性):", np.dot(temperature, sales))

1.3 矩阵(Matrices) - 二维数据

矩阵是二维数字数组,可视为多个向量的集合。在机器学习中,数据集通常表示为矩阵。

# 创建用户-物品评分矩阵
# 行:用户,列:物品
ratings = np.array([
    [5, 3, 0, 1],  # 用户1
    [4, 0, 0, 1],  # 用户2
    [1, 1, 0, 5],  # 用户3
    [1, 0, 0, 4],  # 用户4
    [0, 1, 5, 4]   # 用户5
])

print("\n用户-物品评分矩阵:")
print(ratings)
print("矩阵形状(用户数, 物品数):", ratings.shape)
print("每件物品的平均评分:", np.mean(ratings, axis=0))

1.4 张量(Tensors) - 多维数据

张量是线性代数的通用数据结构,标量是0阶张量,向量是1阶,矩阵是2阶。图像、视频等复杂数据需要更高阶的张量表示。

# 创建3阶张量(时间序列数据)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值