Pytorch 机器学习专业基础知识+神经网络搭建相关知识

文章目录

一、三种学习方式

有监督学习:

1、分类问题

2、回归问题

3、图像分割

4、语音识别

5、语言翻译

无监督学习

1、聚类

2、降维

强化学习

二、机器学习的一些专业术语

样本(sample)或输入(input)或数据点(data point)

可以理解为一个图像

预测(prediction)或输出(output)

可以理解为是结果

目标(target)或标签(label)

图像实际标注的标签

损失值(loss value)或预测误差(prediction error)

预测与实际的差距

类别(classes)

数据集一组可能的值或标签

二分类(binary classification)

将输入实例归类为两个互斥类中的其中一个分类任务

多类别分类(multi-class classification)

多标签分类

一个输入实例,多个标签标记

标量回归(scakar regression)

每个输入数据与一个标量质量相关联

向量回归(vector regression)

多个标签,组成向量

批(batch)

一批为一个样本集,取决于CPU内存 2-256不等 权重在每个批次上更新

轮数

运行一遍为一个epoch,训练模型需要多个epoch

三、模型相关知识

通常模型数据集分为三个部分 训练、测试、验证

模型一般有两种参数

1、算法内参数或权重,用于优化器和反向传播

2、超参数,用于控制层数、学习率、结构参数

过拟合:在训练集效果很好,到了验证集或测试机效果不佳

欠拟合:在训练集就效果不佳

对数据集进行划分:

1、分出大部分数据作为训练集,用于训练

2、验证集一般用于超参数的调优

3、迭代执行1和2的步骤

4、最后冻结算法和超参数后,测试集进行评估

四、常用的保留策略

1、简单保留验证

留一定比例用于测试

2、K折验证

留一定比例测试,整个数据集分为K个包,一般K取值2-10

选一个包作为验证集,其余都是训练集,评估效果为各个包的平均评分

3、带混洗的K折验证

在创建保留的验证集时,混洗数据集

五、数据处理

需要考虑的东西有:

1、数据代表性

要做到分层抽样,防止局部特征

2、时间敏感性

要注意预防数据泄露

3、数据容易

避免重复数据影响性能

数据预处理

1、向量化(正常的数据类型有文本、声音、图像、视频)

先把数据转换为Pytorch张量,torchvision库可以把PIL图像转换为张量

2、值归一化

归一化就是将特定的特征数据表示为均值为0,标准差为1的数据

3、处理缺失值

用不可能出现的值替换缺失值

4、特征工程

用较少资源更快解决问题

用大量数据学得特征,自己学

六、解决过拟合与欠拟合

欠拟合很简单,加大数据集 用更多的数据

过拟合的解决:

1、获取更多数据(人造数据或数据增强)

2、缩小网络规模(可以去掉一些中间线性层)

3、应用权重正则化(通过惩罚矩阵来实现)

有两种惩罚模型的方案:

L1正则化 权重系数绝对值之和加入成本

L2正则化 所有权重系数平方和加入成本(通常用1e-5)

七、成功的衡量标准

平衡的标准 ROC AUC

不平衡的标准:

准确略 precision

查全率 recall

平均精读均值 MAP (Mean Average Precision)

相关推荐
赛丽曼2 小时前
机器学习-K近邻算法
人工智能·机器学习·近邻算法
皮肤科大白6 小时前
如何在data.table中处理缺失值
学习·算法·机器学习
qq_254674416 小时前
如何用概率论解决真实问题?用随机变量去建模,最大的难题是相关关系
人工智能·神经网络
汤姆和佩琦7 小时前
2025-1-21-sklearn学习(43) 使用 scikit-learn 介绍机器学习 楼上阑干横斗柄,寒露人远鸡相应。
人工智能·python·学习·机器学习·scikit-learn·sklearn
HyperAI超神经7 小时前
【TVM教程】为 ARM CPU 自动调优卷积网络
arm开发·人工智能·python·深度学习·机器学习·tvm·编译器
Luzem03197 小时前
使用scikit-learn中的KNN包实现对鸢尾花数据集的预测
人工智能·深度学习·机器学习
缺的不是资料,是学习的心8 小时前
使用qwen作为基座训练分类大模型
python·机器学习·分类
AI趋势预见8 小时前
使用AI生成金融时间序列数据:解决股市场的数据稀缺问题并提升信噪比
人工智能·深度学习·神经网络·语言模型·金融
Zda天天爱打卡8 小时前
【机器学习实战中阶】使用Python和OpenCV进行手语识别
人工智能·python·深度学习·opencv·机器学习