《动手学习深度学习》的笔记,将会持续更新。
1.什么是机器学习?
机器学习是:换句话说,我们用数据训练(train)模型。
数据不断的训练出比较好的模型。
1.2 机器学习的关键零件
1.学习的数据。
2. 如何转换数据的模型。
3.一个目标函数。
4.调整模型参数以优化目标函数的算法。
1,数据有什么组成?
数据=样本+特征
样本:数据集由一个个样本组成,样本也被称为数据点
特征:每个样本通常由一组称为特征的属性组成,机器学习模型会根据这些属性进行预测。
维数:当每个样本的特征类别数量都相同时,其特征向量是固定长度的,这个长度被称为数据的维数。
数据量与质量:
数据量:拥有越多数据,越有利于训练出更强大的模型,可减少对预先设想假设的依赖,数据集由小变大为现代深度学习的成功奠定基础。
数据质量:仅仅拥有海量的数据是不够的,还需要正确的数据。
目标函数:需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的。
损失函数:我们通常定义一个目标函数,并希望优化它到最低点。 因为越低越好。
过拟合:当一个模型在训练集上表现良好,但不能推广到测试集时。
优化算法:它能够搜索出最佳参数,以最小化损失函数。
常用方法:梯度下降。梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。 然后,它在可以减少损失的方向上优化参数。
1.3常见的问题?
监督学习:擅长在“给定输入特征”的情况下预测标签。
常见类型:
1.回归:回归任务的目标是预测一个连续的数值型标签。
2.分类:分类任务的目标是预测样本所属的类别。
3.多标签分类:每个样本可以同时属于多个类别。
4.序列学习:涉及输入和输出为序列的数据。
5.推荐系统:根据用户的历史行为和偏好,为用户推荐个性化的项目或内容。
6.搜索与排序:对一组项目进行排序,以便用户能够快速找到最相关的结果。
监督学习的学习过程通常包括以下步骤:
-
数据准备:从已知的大量数据样本中随机选取一个子集,并为每个样本获取真实的标签。这些样本及其对应的标签构成了训练数据集。数据准备阶段需要确保数据的质量和多样性,以便模型能够学习到全面的特征和模式。
-
模型选择与训练:选择适合任务的监督学习算法,并将训练数据集输入到算法中进行训练。模型通过调整其内部参数,以最小化预测值与实际标签之间的差异。训练过程中通常使用损失函数(如均方误差、交叉熵等)来衡量模型的性能,并通过优化算法(如梯度下降)来更新模型参数。
-
模型评估与测试:使用独立的测试数据集对训练好的模型进行评估,以检验模型在未见数据上的泛化能力。测试数据集通常不参与模型的训练过程,以确保评估结果的客观性和公正性。模型评估指标包括准确率、精确率、召回率、F1值等,根据任务的不同选择合适的指标进行评估。
-
模型应用与优化:将训练好的模型应用于实际任务中,对新的输入数据进行预测。根据模型在实际应用中的表现,可以进一步调整模型参数或优化算法,以提高模型的性能和效果。模型的优化过程是一个迭代的过程,需要不断地进行实验和调整,以达到最佳的性能。
无监督学习:
它不依赖于带有标签的数据集,而是在没有明确目标的情况下,从数据中自动发现模式、结构和关系。
1.聚类:其目标是在没有标签的情况下,将数据集中的样本分成若干个簇(clusters),使得同一簇内的样本具有较高的相似性,而不同簇之间的样本具有较大的差异性。
2.主成分分析:常用的降维技术,其目标是找到少量的参数(主成分),这些参数能够准确地捕捉数据的线性相关属性。
3.因果关系和概率图模型:目标是描述观察到的许多数据的根本原因,即发现数据之间的因果关系。
4.生成对抗性网络:一种用于生成合成数据的无监督学习方法,它可以生成复杂的非结构化数据,如图像和音频。
强化学习:它关注如何通过智能体(agent)与环境的交互,使智能体能够学习到最优的行为策略,从而在长期交互过程中获得最大的累积奖励。
基本概念
-
智能体(Agent):强化学习中的学习主体,它能够感知环境并根据环境的状态采取相应的动作。例如,在机器人应用中,智能体可能是控制机器人运动的程序。
-
环境(Environment):智能体所处的外部世界,它能够提供观察结果和奖励信号。环境的状态可以是完全可观测的,也可以是部分可观测的。例如,在棋类游戏中,环境是棋盘,智能体是玩家。
-
观察(Observation):智能体在每个时间步骤从环境中获得的环境状态的反馈。观察通常是一个向量或其他形式的数据,表示当前环境的状态。
-
动作(Action):智能体在每个时间步骤根据观察结果选择的行动。动作的选择由策略决定,不同的动作会导致不同的结果。
-
奖励(Reward):智能体在每个时间步骤采取动作后从环境中获得的反馈信号,用于衡量该动作的好坏。奖励可以是正数(表示奖励)或负数(表示惩罚)。
-
策略(Policy):策略是智能体选择动作的规则,它是从环境观察到行动的映射。策略可以是确定性的(给定观察结果,总是选择同一个动作)或随机性的(给定观察结果,按照概率分布选择动作)。
强化学习的过程是一个循环的过程,具体步骤如下:
-
初始状态:智能体处于初始状态。
-
感知环境:智能体从环境中获取观察结果,了解当前环境的状态。
-
选择动作:智能体根据当前观察结果和策略选择一个动作。
-
执行动作:智能体将所选动作传输回环境,执行该动作。
-
接收奖励:智能体从环境中获得奖励,该奖励反映了所选动作的优劣。
-
更新状态:环境根据智能体的动作更新其状态,进入下一个时间步骤。
-
重复循环:智能体继续感知环境、选择动作、执行动作、接收奖励和更新状态,直到达到终止条件。
2.预备知识
2.1 小知识
张量:是n维数组
数据处理与NumPy计算相似。
元素:张量中的每个值都称为张量的 元素(element)。
例如:
x = torch.arange(12)
tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
reshape函数:改变一个张量的形状而不改变元素数量和元素值
X = x.reshape(3, 4)
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
2.1.2 运算符
元素运算符:常见的标准算术运算符(+、-、*、/和**)被升级为按元素运算。
2.1.3 广播机制
广播机制:在某些情况下,即使形状不同,我们仍然可以通过调用 。
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
a, b
(tensor([[0],
[1],
[2]]),
tensor([[0, 1]]))
a + b
tensor([[0, 1],
[1, 2],
[2, 3]])
2.2 数据预处理
从预处理原始数据开始, 而不是从那些准备好的张量格式数据开始。
处理缺失值:“NaN”项代表缺失值。
为了处理缺失的数据,典型的方法包括插值法和删除法, 其中插值法用一个替代值弥补缺失值,而删除法则直接忽略缺失值。
更多推荐


所有评论(0)