问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

机器学习基础与深度学习框架知识点梳理

创作时间:
作者:
@小白创作中心

机器学习基础与深度学习框架知识点梳理

引用
CSDN
1.
https://blog.csdn.net/2202_75302035/article/details/136582723

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容与深度学习框架的内容。

一、深度学习框架

深度学习框架是一种用于构建、训练和部署深度神经网络模型的工具集合。它提供了丰富的函数和工具,使开发者能够方便地创建、调整和优化神经网络模型。深度学习采用 “端到端”的学习模式,在很大程度上减轻负担。

1、常用的深度学习框架

目前常用的深度学习框架有PyTorch、Theano、TensorFlow、Keras、Caffe、MXNet、CNTK、PaddlePaddle。这里重点介绍PyTorch。

PyTorch具有先进设计理念的框架,其历史可追溯到2002年就诞生于纽约大学的Torch。Torch使用了一种不是很大众的语言Lua作为接口。Lua简洁高效,但由于其过于小众,以至于很多人听说要掌握Torch必须新学一门语言就望而却步,但Lua其实是一门比Python还简单的语言。

PyTorch的特点

PyTorch 既可以看作为加入了GPU 支持的numpy。
PyTorch 的设计思路是线性、直观且易于使用

2、深度学习框架提供的功能

模型定义:提供了一种方式来定义神经网络模型的结构,包括网络层的连接和参数设置。
训练和优化:提供了一种方式来训练和优化神经网络模型,包括定义损失函数、选择优化算法和设置训练参数。
自动求导:能够自动计算神经网络模型的梯度,以便进行反向传播算法进行训练。
并行计算:支持在多个GPU或分布式环境上进行并行计算,以提升训练和推理的效率。
部署和推理:能够将训练好的神经网络模型部署到实际应用中进行推理,包括在移动设备、边缘设备或云端进行推理。

3、深度学习框架的应用

深度学习框架广泛应用于构建和训练神经网络模型,特别是在图像处理、语音识别、自然语言处理等领域发挥着重要作用。以下是主要应用场景:

图像处理:深度学习框架如TensorFlow和PyTorch常用于图像分类、目标检测、图像分割等任务。通过使用预训练的卷积神经网络(CNN)模型,可以快速实现对图像内容的识别和分析。

语音识别:在语音识别领域,深度学习框架被用来构建声学模型,这些模型能够将语音信号转换成文本。例如,使用循环神经网络(RNN)和长短时记忆网络(LSTM)可以有效处理时间序列数据,提高语音识别的准确性。

推荐系统:深度学习框架可以帮助构建更复杂的用户行为模型,从而提高推荐系统的准确性和个性化程度。

医疗诊断:在医疗领域,深度学习框架被用于分析医学影像,如X光片、CT扫描等,以辅助医生进行疾病诊断。

金融分析:深度学习框架应用于金融市场的趋势预测、风险评估和量化交易策略的开发。

无人机和机器人:深度学习框架用于无人机和机器人的视觉识别、导航和控制系统的开发。

艺术创作:艺术家和设计师利用深度学习框架生成艺术作品或设计图案。

学术研究:研究人员使用深度学习框架进行科学实验和理论验证。

二、机器学习基础

机器学习是一种人工智能的分支,旨在让计算机能够从数据中自动学习和改进。它涉及开发算法和模型,使得计算机可以根据给定的数据集进行学习和预测。机器学习使用统计学和优化方法来训练模型,从而使计算机能够根据过去的经验和数据来做出预测和决策。

1、模型评估与模型参数选择

模型评估指的是利用一系列指标和方法来测试机器学习模型的泛化能力。
模型参数选择则是在给定的模型架构下,寻找最优的参数配置的过程。

1、数据集

数据集包含训练集、验证集、测试集

三者关系如图
1、训练集:训练集由一组数据组成,这些数据被用来训练模型,即让模型通过这些已知的数据来学习特定的任务,比如识别图像中的对象、预测股票价格等。模型通过分析训练集中的模式和规律,从而能够对新的、未见过的数据进行预测或分类。

2、验证集:当我们的模型训练好之后,我们并不知道他的表现如何。这个时候就可以使用验证集(Validation Dataset)来看看模型在新数据(验证集和测试集是不同的数据)上的表现如何。同时通过调整超参数,让模型处于最好的状态。

作用:
评估模型效果,为了调整超参数而服务
调整超参数,使得模型在验证集上的效果最好

3、测试集:当我们调好超参数后,就要开始「最终考试」了。我们通过测试集(Test Dataset)来做最终的评估,来看学习效果(模型效果)好不好。

2、数据集的划分

对于小规模样本集(几万量级),常用的划分比例:
训练集:验证集:测试集=6:2:2
训练集:测试集==8:2、7:3

对于大规模样本集(百万级以上),只要验证集和测试集的数量足够即可。
例如有 100w 条数据,那么留 1w 验证集,1w 测试集即可。
1000w 的数据,同样留 1w 验证集和 1w 测试集。

超参数越少,或者超参数很容易调整,那么可以减少验证集的比例,更多的分配给训练集。

3、过拟合和欠拟合

1、过拟合

定义:将训练样本自身的一些特点当作所有样本潜在的泛化特点。
表现:在训练集上表现很好,在测试集上表现不好。
过拟合的原因:训练数据太少(比如只有几百组)模型的复杂度太高(比如隐藏层层数设置的过多,神经元的数量设置的过大)数据不纯
解决方法:- 移除特征,降低模型的复杂度:减少神经元的个数,减少隐藏层的层数- 训练集增加更多的数据- 重新清洗数据- 数据增强- 正则化、早停

2、欠拟合
定义:欠拟合还没训练好。
原因:数据未做归一化处理、神经网络拟合能力不足 、 数据的特征项不够
解决方法:寻找最优的权重初始化方案、增加网络层数、epoch、使用适当的激活函数、优化器和学习率、减少正则化参数、增加特征。

2、验证

模型不能过拟合于训练集,否则将不能在测试集上得到最优结果因此参数的选择(即调参)必须在一个独立于训练集和测试集的数据集上进行,这样的用于模型调参的数据集被称为开发集或验证集。

1、交叉验证法

然而很多时候我们能得到的数据量非常有限。这个时候我们可以不显式地使用验证集,而是重复使用训练集和测试集,这种方法称为交叉验证

3、正则化

θ为模型参数,L(y,y ̂;θ)为原来的损失函数,J(θ)是正则化项,λ用于调整正则化项的权重。
正则化项通常为θ的某阶向量范数。
通过 限制 参数值域空间,显式地 控制了 模型复杂度,从而避免了过拟合。

正则化有以下两种方法
Dropout:是一种正则化方法,用于随机禁用神经网络单元。

4、无监督学习

定义 :数据中不含有“目标”的机器学习问题通常被为无监督学习(unsupervised learning)。在无监督学习中,数据集{x(i)}_i=1N中只有模型的输入,而并不提供正确的输出y^(i)作为监督信号

1、聚类(clustering)问题:

没有标签的情况下,我们是否能给数据分类呢?比如,给定一组照片,我们能把它们分成风景照片、狗、婴儿、猫和山峰的照片吗?同样,给定一组用户的网页浏览记录,我们能否将具有相似行为的用户聚类呢?“物以类聚,人以群分。”将相似的对象归入同一个“类”。

2、主成分分析(principal component analysis)问题(PCA):


定义:主成分分析PCA是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。

3、因果关系(causality)和概率图模型(probabilistic graphical models)问题:

定义:如果想通过物体a去推断物体b,就是将物体a放在这里会增加物体b出现概率的多少,想要找到这样一个确定的促进关系即因果关系
往往会被confounder干扰到,而这个confounder就是物体a与b之间的共因。

4、生成对抗性网络(generative adversarial networks):

定义:为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。

5、无监督学习的衡量指标

直观检测:这是一种非量化的方法。例如对文本的主题进行聚类,我们可以在直观上判断属于同一个类的文本是否具有某个共同的主题,这样的分类是否有明显的语义上的共同点。

基于任务的评价:如果聚类得到的模型被用于某个特定的任务,我们可以维持该任务中其他的设定不变,使用不同的聚类模型,通过某种指标度量该任务的最终结果来间接判断聚类模型的优劣。

人工标注测试集:有时候采用非监督学习的原因是人工标注成本过高,导致标注数据缺乏,只能使用无标注数据来训练。
在这种情况下,可以人工标注少量的数据作为测试集,用于建立量化的评价指标。

5、监督学习

在监督学习中,我们根据训练集{〈x(i),y(i)〉}_i=1^N中的观测样本点来优化模型f(⋅),使得给定测试样例x′作为模型输入,其输出y ̂尽可能接近正确输出y′。 y ̂= f(x)

1、回归

回归问题在生活中非常常见,其最简单的形式是一个连续函数的拟合。
回归问题中通常使用均方损失函数来作为度量模型效果的指标,最简单的求解例子是最小二乘法。
最常用的回归问题的损失函数。其定义为预测值与真实值之间的平方差的平均值。
该损失函数的值越小,表示模型的预测结果越接近真实值。

1、线性回归
简单线性回归
自变量 x 和因变量 y之间存在一条线性关系:
多元线性回归
假设自变量 和因变量 y之间存在一条线性关系,

2、线性回归预测的场景

1.预测房价:假设我们想要预测某个城市的房价。我们可以收集到该城市过去几年的房价数据,以及一些相关的因素,比如房屋的面积、房龄、所处区域、楼层等。我们可以使用这些数据建立一条最佳拟合直线,从而对未来的房价进行预测。

2.预测销售额:假设我们想要预测某家公司未来一年的销售额。
我们可以收集到该公司过去几年的销售额数据,以及一些相关的因素,比如广告投入、促销活动、季节性因素等。我们可以使用这些数据建立一条最佳拟合直线,从而对未来的销售额进行预测。

2、分类

1、分类评估指标

准确率(Accuracy):对于测试集中D个样本,有k个被正确分类,D-k个被错误分类,则准确率为:
精确率(查准率)- Precision:所有被预测为正样本中实际为正样本的概率
召回率(查全率)- Recall:实际为正的样本中被预测为正样本的概率
三者关系如图

AP(Average Precision):PR曲线下的面积。
通常来说一个越好的分类器,AP值越高
mAP是多个类别AP的平均值。这个mean的意思是对每个类的AP再求平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越好。该指标是目标检测算法中最重要的一个。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号