尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

[深度学习]量化研究_ML_Lesson2

[深度学习]量化研究_ML_Lesson2 一、开篇学习背景与初衷在完成量化资产管理基线模型搭建后发现机器学习是并行任务、Kaggle 竞赛夺分的核心通用路径。因此跟随李沐《动手学深度学习 v2》系统学习机器学习与深度学习知识。日常使用中遇到磁盘文件堆积问题Windows CMD 可通过以下命令批量删除文件夹及内部所有文件快速清理冗余数据rmdir /s 文件夹名二、深度学习发展历程两大关键时代节点李沐老师 2021 年版《动手学深度学习》课程恰好处于 AI 技术全面爆发的前夜结合行业发展可划分为两个阶段清晰看懂技术演进脉络。图 1AI 发展时间轴示意图2.1 2021 年AI 爆发前夜技术生态主流框架与模型以CNN、RNN、ResNet、BERT为主Transformer 架构刚普及但规模定律Scaling Law尚未成为行业共识。AlphaFold、大语言模型初见雏形但未走向大众。行业形态AI 主要落地于ToB 产业场景与学术研究普通民众对 AI 认知极低学术界仍在探讨 “大模型是否为正确发展方向”。课程定位课程风格严谨兼顾理论与工程代码实现搭建起学术界与工业界的桥梁面向深度学习方向的学生、工程师群体并非大众化娱乐类教程。彼时李沐任职亚马逊首席科学家课程内容具备极强的工业落地参考价值。2.2 2022 年底至今AI 范式革命与全民普及从 ChatGPT 发布开始AI 正式迎来全民化变革行业进入高速落地周期2022 年底ChatGPT 上线AI 从专业技术名词转变为全民热议话题。2023 年GPT-4 问世多模态能力成为行业标杆AIGC 图文、视频工具Midjourney、Runway Gen-2批量涌现。2024-2026 年进入应用落地爆发期AI Agent、文生视频、AI 编程、端侧大模型成为主流AI 全面融入办公、学习、创作等日常场景。2.3 商业落地逻辑以广告推荐场景为例 收集用户点击行为构建数据集训练机器学习模型实现广告内容智能展现同时线上曝光数据会持续回流迭代优化新模型。算法工程师通过提升模型精度、优化底层硬件性能持续放大 AI 商业价值。三、PyTorch 基础认知与张量核心操作3.1 框架理解PyTorch 本质可理解为现代化的矩阵实验室对标 MATLAB核心操作围绕多维数组张量展开所有深度学习运算均建立在张量之上。图 2张量创建三要素示意图3.2 张量创建规则创建张量必须明确三大要素形状如 3×4 二维矩阵、多维度高阶数组数据类型深度学习主流使用32 位浮点数float32元素取值全零、全一、均匀分布、正态分布随机数等。3.3 张量索引与切片张量支持灵活的索引、单行 / 单列、局部子区域截取是数据筛选、特征提取的基础操作。以二维矩阵为例取单个元素[行号, 列号]取整行 / 整列[行号, :]/[:, 列号]截取子区域通过区间切片[起始:结束, 起始:结束]实现。图 3张量索引与切片演示图3.4 高维张量实际业务含义深度学习中不同维度张量对应真实业务数据常见场景如下二维张量基础矩阵通用计算场景三维张量单张 RGB 图像维度定义高度 × 宽度 × 通道数四维张量图像批次数据维度定义批次大小 × 高度 × 宽度 × 通道数五维张量视频批次数据维度定义批次大小 × 时间帧 × 高度 × 宽度 × 通道数。图 4高维张量业务对应关系图3.5 开发工具选择Jupyter Notebook对新手友好交互式运行代码、即时查看结果适合学习与实验PyCharm专业 IDE调试功能强大适合工程化项目开发。 两款工具最终运行效果一致可根据使用场景自由选择。3.6 PyTorch 常用代码实操1. 全零 / 全一张量创建import torch # 创建形状为(2,3,4)的全零张量 torch.zeros((2, 3, 4)) # 创建形状为(2,3,4)的全一张量 torch.ones((2, 3, 4))2. 内存地址指针查看模拟 C 指针逻辑观察变量内存地址变化Before id(Y) Y Y X # 判断地址是否发生改变 print(id(Y) Before)3. 广播机制Broadcasting不同形状张量自动维度补齐并逐元素运算是 PyTorch 核心特性A torch.arange(3).reshape((3, 1)) B torch.arange(2).reshape((1, 2)) # 触发广播机制完成运算 print(A B)图 5PyTorch 广播机制运算原理图4. 张量形状与元素数量# 获取张量形状 X.shape # 获取张量总元素个数 X.numel()5. 张量拼接torch.cat支持按行、按列两个维度拼接张量用法类似 Linux 拼接命令X torch.arange(12, dtypetorch.float32).reshape((3, 4)) Y torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]]) # 按第0维纵向/行拼接 torch.cat((X, Y), dim0) # 按第1维横向/列拼接 torch.cat((X, Y), dim1)6. PyTorch 与 NumPy 互转两类 Python 数值计算库无缝兼容方便数据流转# 张量转NumPy数组 A X.numpy() # NumPy数组转回PyTorch张量 B torch.tensor(A) # 查看数据类型 print(type(A), type(B))四、数据预处理实战缺失值处理数据预处理是深度学习建模的前置关键步骤本节基于 CSV 数据集演示缺失值处理也是工业场景高频需求。图 6CSV 数据集与缺失值插值效果图4.1 构建人工 CSV 数据集创建文件夹并生成房屋数据集house_tiny.csv模拟真实业务样本import os import pandas as pd # 创建data文件夹已存在则不报错 os.makedirs(os.path.join(., data), exist_okTrue) data_file os.path.join(., data, house_tiny.csv) # 写入数据集 with open(data_file, w) as f: f.write(NumRooms,Alley,Price\n) # 表头房间数、街道、房价 f.write(NA,Pave,127500\n) f.write(2,NA,106000\n) f.write(4,NA,178100\n) f.write(NA,NA,140000\n) # 读取csv文件 data pd.read_csv(data_file)4.2 缺失值解决方案数据中NA代表缺失值主流处理方式分为删除和插值填充案例使用均值插值# 划分特征列与标签列 inputs, outputs data.iloc[:, 0:2], data.iloc[:, 2] # 使用每一列均值填充缺失值 inputs inputs.fillna(inputs.mean()) print(inputs)4.3 原理拓展均值插值结合数理统计逻辑理解将数据做标准正态化均值为 0方差为 1后缺失位置填充均值等价于填充 0可有效降低缺失数据对模型的影响也可通过 RMSE 指标评估插值效果。图 7张量拼接cat两种方式示意图五、总结行业发展AI 从 2021 年技术沉淀期发展到如今全民应用时代掌握深度学习底层能力是适配行业发展的核心框架基础PyTorch 以张量为核心熟练掌握张量创建、切片、拼接、广播、库互转等操作是编码基础数据处理缺失值插值、数据归一化是数据预处理的核心手段直接决定模型最终效果学习建议理论搭配代码实操Jupyter/PyCharm 按需选用持续积累实战经验。
返回列表