模型训练(Training):已知一系列(x, y)对,通过优化算法调整F的参数,使得F能够尽可能准确地映射x到y。
模型推理(Inference):已知训练好的函数F和新的输入x,使用F计算得到对应的输出y的预测值。
一、模型(Model)
y = b + w ∗ x1,就是一个带有未知的参数的函数,特征(feature) x1 是这个函数里面已知的,它是来自于打标的数据,而 w 跟 b 是未知的参数。w 称为权重(weight),b 称为偏置(bias)。
机器学习和深度学习模型的区别?机器学习模型依赖手工设计和提取特征,而深度学习模型则能自动从数据中学习并提取高级特征。
手工设计和提取特征:在机器学习模型中,通常需要人工参与到特征提取的过程中。这意味着在将数据输入到机器学习算法之前,需要由专家或领域知识丰富的人员来设计和选择哪些特征对于模型来说是重要的,并将这些特征从原始数据中提取出来。这个过程称为特征工程,它对于机器学习模型的性能有着至关重要的影响。
自动学习特征:与机器学习不同,深度学习模型能够自动从原始数据中学习并提取有用的特征,而无需人工干预。深度学习模型通过构建多层神经网络,每一层都能够从前一层提取更高级别的特征。这种自动学习特征的能力使得深度学习在处理复杂、高维的数据(如图像、语音、文本等)时具有显著的优势。
Machine Learning vs Deep Learning
二、模型训练(Training)
Training
如何进行模型训练?在模型训练过程中,算法会调整模型的参数(如神经网络中的权重和偏置),以最小化一个预先定义的目标函数(或损失函数)。
模型训练过程通常包括以下几个步骤:
数据准备:收集并准备训练数据,包括数据清洗、标注、归一化、分割成训练集和验证集(有时还有测试集)等。
模型选择:根据任务需求和数据特性选择合适的模型架构。这可能是一个简单的线性回归模型,也可能是一个复杂的深度神经网络。
参数初始化:为模型的参数(如权重和偏置)赋予初始值。这些初始值通常是随机生成的,但也可以是预先设计的。
前向传播:将训练数据输入到模型中,通过模型的各层进行计算,得到模型的预测输出。
损失计算:计算模型的预测输出与真实输出之间的差异,即损失值。
反向传播:根据损失值,使用梯度下降等优化算法计算模型中每个参数的梯度,并将这些梯度反向传播回模型的每一层。
参数更新:使用梯度来更新模型的参数,以减少损失值。
迭代训练:重复执行前向传播、损失计算、反向传播和参数更新的过程,直到满足某个停止条件(如损失值降低到一定阈值以下,或达到预设的训练轮次)。
三、模型推理(Inference)
Evaluation
定义:准确率是最直观也最常被提及的评估指标之一,它衡量的是模型预测正确的样本数占总样本数的比例。
计算公式:准确率 = (真正例 + 真负例) / (真正例 + 假正例 + 真负例 + 假负例)
定义:精确率是指模型预测为正例中真正是正例的比例,它反映了模型预测为正例的结果的可信度。
计算公式:精确率 = 真正例 / (真正例 + 假正例)
定义:召回率,也称为灵敏度(Sensitivity)或真正例率(True Positive Rate),是指模型在所有实际为正类的样本中,被正确预测为正类的样本的比例。它反映了模型捕获正类样本的能力。
计算公式:召回率 = 真正例 / (真正例 + 假负例)
定义:F1分数是精确率和召回率的调和平均数,旨在综合两者的表现,提供一个平衡指标。