- 博客(50)
- 收藏
- 关注
原创 翁恺 11字符串
入参c:需输出的字符(虽然类型是int,实际传递的是字符对应的 ASCII 码值)。返回值:成功:返回输出的字符(以int形式);失败:返回EOF(即-1,表示写操作失败)。void表示无需传入参数;功能:从 标准输入(通常是键盘)读取一个字符。
2025-12-10 18:39:00
851
原创 翁恺 9指针1
本文系统讲解了C语言指针的核心概念与应用。主要内容包括:1.指针基础:定义、取址与解引用操作;2.指针与数组的关系:数组名即地址、指针运算访问数组元素;3.指针的const限定:指针常量与常量指针的区别;4.指针的高级应用:动态内存分配(malloc/free)、多返回值实现、类型转换;5.指针使用规范:野指针防范、内存泄漏避免等。通过大量代码示例,深入浅出地阐述了指针操作内存的本质原理和实际应用场景,帮助读者掌握指针这一C语言核心特性的正确使用方法。
2025-12-08 12:23:51
759
原创 翁恺 9取地址运算
的功能是 “把用户输入的内容存到变量里”,但它需要知道 **“变量存在哪个柜子里”**(即地址),才能把内容放进去。是 “获取 i 的柜子编号(地址)”,所以这句话的作用是 **“打印变量 i 在内存中的地址(编号)”**。地址差4,因为int类型占4个字节,i、p相邻,i在高地址p在低地址。是 “以十六进制格式打印内容”,而。所以变量在内存按类型占用空间。
2025-12-05 20:08:14
321
原创 翁恺 6.3.1逻辑运算-函数
/ 函数块内的本地变量int a = 10;// 定义在函数块内// 语句块(if)内的本地变量if (1) {int b = 20;// 定义在if语句块内// 任意大括号块内的本地变量int c = 30;// 随便拉一对大括号定义return 0;// 块外变量if (1) {printf("块内用外部变量:num = %d\n", num);// 输出100return 0;int a = 10;// 编译报错:重复定义变量areturn 0;
2025-12-05 17:34:04
1227
原创 翁恺 6-
计算机采用补码机制处理负数运算,将减法转化为加法。8位二进制补码中,-1表示为11111111(256-1=255),与1相加后溢出得到0。补码规则规定:最高位为符号位(0正1负),其余为数值位。1字节(8位)有符号数范围是-128~127,无符号数范围是0~255。不同数据类型(如char和int)对相同二进制值的解读不同:char c=255会被解读为-1,而int i=255保持原值。强制类型转换和运算优先级会影响结果,如(int)(1.0/2.0)=0。转义字符如\t实现制表对齐,\r\n组合实现换
2025-11-29 23:42:17
790
原创 Day34 GPU训练
在 PyTorch 里,.to(device) 方法的作用是把张量或者模型转移到指定的计算设备(像 CPU 或者 GPU)上。- 对于模型(nn.Module):调用 .to(device) 会直接对模型进行修改,让其所有参数和缓冲区都移到新设备上。- 对于张量(Tensor):调用 .to(device) 之后,会返回一个在新设备上的新张量。要让模型在 GPU 上训练,主要是将模型和数据迁移到 GPU 设备上。本质是因为GPU在计算的时候,相较于cpu多了3个时间上的开销。
2025-10-27 11:44:54
175
原创 吴恩达d10-DL 强化学习
智能体观察当前状态S_t→ 根据策略选择一个动作A_t→ 环境发生变化,进入新状态S_{t+1}并给予奖励R_{t+1}→ 智能体根据这个反馈(奖励和新状态)更新其策略 → 重复循环强化学习工作方式,移动一次会获得一次奖励s为当前状态,a为动作(移动方向),rs为当前状态的奖励,s‘为目标状态,工作方式为从s-s'
2025-10-27 11:29:33
501
原创 吴恩达d9-DL 协同过滤
该摘要概述了推荐系统中基于协同过滤和内容过滤的评分预测方法。协同过滤通过用户评分矩阵和电影特征相互迭代优化参数w、b和特征x来预测缺失评分,不依赖物品固有属性。算法采用线性回归模型,通过成本函数优化参数,并可使用均值归一化处理冷启动问题。内容过滤则直接利用已知电影特征x1、x2预测评分。两种方法分别适用于特征已知和未知的情况,共同核心是通过挖掘用户-物品交互数据中的模式实现精准推荐。
2025-10-23 18:50:25
222
原创 吴恩达d8-DL 无监督算法
K-means聚类通过交替优化样本分配和质心位置来最小化代价函数,K值选择需权衡聚类效果与计算成本。异常检测利用密度估计建立正常数据概率模型,通过设定阈值识别低概率区域中的异常点。两种方法都基于数据分布特征,前者用于数据分组,后者用于异常识别,均可通过迭代优化提高模型性能。
2025-10-22 17:04:15
371
原创 补:类中的__call__ 方法
_call__是 Python 类中的一个特殊方法,当一个类的实例被当作函数调用时(例如obj()),Python 会自动执行这个实例的__call__方法,支持任意参数(和普通函数一样)调用时机 :只有当实例被直接调用时(obj())才会触发,普通的方法调用()不会触发前向传播代代码。
2025-10-21 16:21:06
289
原创 星Day-33 基础补充、建立简单神经网络
本文介绍了深度学习项目中的关键操作指南,包括环境配置、工具使用和模型构建。主要内容涵盖:1. 开发环境安装与配置建议;2. 常用命令行操作和工具(如diagrams.net绘图、Typora笔记);3. PyTorch核心模块解析(torch/nn/optim);4. 神经网络实现全流程:从数据预处理(MinMaxScaler标准化)到模型定义(MLP类实现)、训练(前向/反向传播)及优化器使用。特别强调了PyTorch的自动求导机制和GPU加速原理,并提供了完整的代码示例,包括Iris数据集处理、模型架构
2025-10-15 21:59:53
386
原创 吴恩达d7-DL
倾斜数据集的误差指标,即正负样本分布不均在倾斜数据集(即某一类样本数量远多于其他类,比如 “疾病诊断” 中健康样本占 99%、患病样本仅 1%)中,传统的 “准确率” 会严重误导结果(比如模型全预测 “健康”,准确率也有 99%,但完全没用)。因此需要用,核心是聚焦 “少数类(关注类)的预测能力” 和 “类别间的平衡表现”基于混淆矩阵,衍生出 4 个核心指标,在处理稀有类别时,直接。
2025-10-14 21:10:31
162
原创 吴恩达d6-DL 选择合适的策略来优化、选择模型
本文系统介绍了机器学习项目开发的完整流程:1. 模型评估方法(测试/训练集划分、交叉验证)2. 偏差-方差分析方法及优化策略3. 学习曲线的应用与局限4. 神经网络调优方法5. 错误分析的具体实施步骤6. 数据增强与迁移学习技术7. 项目开发迭代循环。重点阐述了如何通过交叉验证选择最优模型、利用错误分析指导模型优化,以及迁移学习的实现原理和应用场景。文章为机器学习项目的全周期开发提供了实用指导,强调数据分析驱动的迭代优化方法
2025-10-13 21:17:13
152
原创 吴恩达d5-DL
这篇文章摘要主要介绍了神经网络训练中的几个关键概念和算法:1. 介绍了梯度下降的替代算法Adam,它能自适应调整学习率;2. 讲解了卷积层等全连接层之外的网络层类型;3. 解释了导数的直观含义及其在参数调整中的作用;4. 通过计算图详细说明了反向传播的数学过程;5. 分析了反向传播能显著降低计算复杂度的原因,将N*P的计算量优化为N+P。文章结合数学原理和实际应用,深入浅出地阐述了神经网络训练的核心机制。
2025-10-09 18:37:20
174
原创 吴恩达d4-DL 前向传播、激活函数
单层前向传播的实现细节(权重矩阵W维度为(3,2)、偏置b为(3,))与TS张量的自动求导特性。通过对比逻辑回归与softmax的差异,阐述多分类问题中输出层需采用softmax激活函数(10分类对应10个神经元)的数学原理及其全局依赖性特征。针对训练过程,详解了模型架构设计、损失函数选择(二元/稀疏交叉熵)以及激活函数使用规范(隐藏层推荐ReLU)。特别指出实际编码时通过线性层+后置softmax的技巧来提升数值稳定性,并讨论了多输出分类场景的应用特点。全
2025-09-28 20:29:59
222
原创 吴恩达d3
机器学习中的过拟合(高方差)和欠拟合(高偏差)是常见问题。过拟合表现为模型对训练数据过度敏感,在新数据上泛化能力差。解决方法包括:1)增加训练数据;2)特征选择;3)正则化技术。正则化通过在损失函数中添加惩罚项(λ控制强度)来限制参数值,防止某些特征过度影响模型。线性回归和逻辑回归均可应用正则化,其中λ的选择需平衡模型复杂度与准确性。正则化能有效降低模型方差,提高泛化能力,是解决过拟合的重要方法。
2025-09-28 19:23:29
558
原创 吴恩达d2
这个曲线不同于之前二维/三维的J图,横轴不是w,b这些,而是训练次数。常用特征缩放方法:除以区间内最大值,均值归一化,Z分数归一化。注:注意特征缩放后的数值范围大小是否合适或大小符合问题场景。通过学习曲线,当J趋于平稳,就可以停止训练了;为什么要特征缩放,特征缩放可以加快收敛速度。
2025-09-26 20:23:51
279
原创 吴恩达d1
文章介绍了机器学习中的无监督分类方法和线性回归模型。无监督分类包括聚类、异常检测和降维。线性回归部分详细讲解了单变量线性回归模型,通过定义平方误差成本函数J来衡量预测误差,并利用梯度下降算法寻找最优参数w和b。当扩展至多元线性回归时,使用向量化方法简化计算。梯度下降通过调整学习率和参数更新方向来最小化成本函数,最终实现模型收敛。整个过程涵盖了从简单回归到多元回归的完整建模流程。
2025-09-25 16:57:02
204
原创 补 json的作用
场景直接点击“运行”使用配置优势需要参数无法实现解决依赖:让需要命令行参数的程序能调试。需要环境变量无法实现配置环境:轻松设置密码、API密钥、功能开关。相对路径错误大概率出错控制上下文:精准控制程序的工作起点,解决路径问题。运行模块命令无法实现扩展功能:直接调试或等命令。选择Python环境用默认环境环境隔离:确保项目使用正确的Python解释器和安装的库。团队协作每人自己解决配置文件可共享标准化:团队成员拉取代码后,拥有完全一致的调试环境,开箱即用。所以,
2025-09-12 17:55:40
895
原创 补:python debugger
局部变量(Locals)和全局变量(Globals)的作用域区别。如何通过断点观察变量变化。VSCode中launch.json配置文件的作用。调试基本操作:继续运行、单步跳过、单步进入和跳出函数
2025-09-12 13:04:24
288
原创 文件的拆分和写法、官方文档的阅读
上面为补充目录:notebook文件夹内的ipynb文件项目文件夹中其他部分:拆分后的信贷项目,学习如何拆分的,很多大项目都是类似的拆分方法基础:规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解。
2025-09-10 13:24:24
403
原创 Day28 类的定义、方法、装饰器
注:重写父类的方法,包含2种1. 直接重写:本质是会优先用子类的同名方法,完全替代父类方法,父类逻辑不会执行。2. 使用super()重写,保留父类方法的核心逻辑,并在其基础上扩展。题目1:定义圆(Circle)类要求:包含属性:半径 radius包含方法:calculate_area():计算圆的面积(公式:πr²)calculate_circumference():计算圆的周长(公式:2πr)3.初始化时需传入半径,默认值为 1题目2:定义长方形(Rectangle)类。
2025-09-07 20:18:27
577
原创 Day26 函数1
编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。(默认 “black”),以及任意数量的描述该图形尺寸的关键字参数 (例如。
2025-09-05 18:50:22
541
原创 Day23 机器学习流水线(管道/pipeline)
当构建完完整的 Pipeline后,调用它的核心语法遵循 “估计器(Estimator)” 的通用规则,主要通过。4.构建 ColumnTransformer---将不同的预处理应用于不同的列子集,构造一个完备的列转化器。构建处理有序特征的 Pipeline: 先填充缺失值,再进行标签编码。构建处理标称特征的 Pipeline: 先填充缺失值,再进行独热编码。构建处理连续特征的 Pipeline: 先填充缺失值,再进行标准化。三个方法完成数据处理,对于包含模型的管道,还可以用。2.分离xy,划分数据集。
2025-09-01 23:46:23
364
原创 Day20 常见降维算法
主成分分析 (PCA) 的核心思想是识别数据中方差最大的方向(即主成分)。然后,它将数据投影到由这些最重要的主成分构成的新的、维度更低子空间上。这样做的目的是在降低数据维度的同时,尽可能多地保留原始数据中的“信息”(通过方差来衡量)。新的特征(主成分)是原始特征的线性组合,并且它们之间是正交的(不相关)。用最直观的方式告诉你:什么是主成分分析PCA_哔哩哔哩_bilibili去中心化:找到数据的中心点,把坐标原点放在数据中心。
2025-08-28 22:51:15
647
原创 Day19 特征降维-特征筛选
SHAP 值本质上是 “每个特征对每个样本的预测结果的具体贡献(有正有负),但我们筛选特征时需要的是 这个特征整体上对模型预测。
2025-08-26 16:36:34
787
原创 无监督聚类2
介绍了DBSCAN和层次聚类两种算法的实现与参数优化过程。对于DBSCAN算法,通过网格搜索遍历不同eps和min_samples参数组合,计算轮廓系数、CH指数和DB指数等评估指标,并使用可视化方法确定最优参数。在层次聚类中,评估不同簇数量的聚类效果,同样使用多种指标进行验证。两种方法均采用PCA降维进行结果可视化,并展示聚类标签分布。文章还特别解释了布尔掩码、数据筛选等关键技术的实现细节,为聚类分析提供了完整的实践指南。最终通过树状图和散点图直观呈现层次聚类结果。
2025-07-10 23:10:43
429
原创 无监督聚类1
本文介绍了使用KMeans进行数据聚类的完整流程。首先对数据进行标准化处理,然后通过肘部法则、轮廓系数等4个评估指标确定最优K值,最终选择K=6进行聚类。使用PCA降维后可视化展示聚类效果,并用不同颜色标记各簇样本。整个流程包括数据预处理、K值确定、模型训练、降维可视化和结果分析等步骤。
2025-07-06 12:40:38
327
原创 Numpy数组
5.2 第 1 行 (索引为 1) 的所有元素、第 2 列 (索引为 2) 的所有元素、第 2 行 (索引 2)、第 3 列 (索引 3) 的元素、第 0 行和第 2 行组成的新数组、第 1 列和第 3 列组成的新数组、取出一个 2x2 的子矩阵,包含元素 6, 7, 10, 11。5.1 数组第一个元素、最后一个元素、索引为3 5 8的元素、索引为2到5的元素、从头到索引 5 (不包含 5) 的元素、从索引 4 到结尾的元素、取出全部元素、所有偶数索引对应的元素。矩阵转置:将矩阵的行和列互换。
2025-07-05 21:00:28
446
原创 Day14:Shap可解释分析
SHAP 的维度要求核心是输入数据与模型预测结果的维度一致性分类模型的 SHAP 值包含类别维度(三维数组),需显式指定类别。所有输入数据(特征矩阵、参考数据集)需与模型训练时的特征结构一致。可视化时需确保 SHAP 值与特征矩阵的样本数和特征数匹配。通过严格遵循上述维度规范,可避免 SHAP 计算和可视化过程中的常见错误。
2025-06-25 23:24:31
1397
原创 Day13 不平衡数据集处理,过采样,权重
正样本:目标事件中,需被识别的正例、感兴趣的类别负样本:与目标事件相反的反例、不感兴趣的类别识别癌症中,正:10个癌症数据负:990个健康数据导致学习到所有的样本都是健康人,所有预测的样本都是负样本,对10个癌症的识别率0。
2025-06-25 16:27:14
929
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅