目录
一、机器学习的基本概念
二、机器学习的主要任务类型
三、案例学习(以视频的点击次数预测为例)
四、梯度下降问题
一、机器学习的基本概念
机器学习,顾名思义,是让机器具备学习的能力。具体来说,机器学习就是让机器能够找到一个函数,这个函数可以根据输入的数据进行预测或做出决策。例如,在语音识别中,机器需要找到一个函数,能够将输入的声音信号转换为对应的文字;在图像识别中,机器需要找到一个函数,能够识别出图像中的内容。
机器学习的核心目标是让机器从数据中自动学习规律和模式,从而能够对新的数据进行准确的预测或分类。为了实现这个目标,机器需要使用大量的数据进行训练,通过不断调整模型的参数,使得模型的输出能够尽可能地接近真实值。
简单来说就是:
1.机器学习是让机器具备找函数的能力,以完成各种任务,如语音识别、图像识别、AlphaGo 等。
2. 机器学习要找的函数输入和输出根据任务不同而不同。
二、机器学习的主要任务类型
-
回归任务
回归任务是机器学习中的一种常见任务,其输出是一个数值或标量。例如,预测未来某一时间的 PM2.5 数值,就是一个回归任务。在回归任务中,机器需要找到一个函数,能够根据输入的相关指数(如今天的 PM2.5 数值、平均温度、平均臭氧浓度等),预测出明天中午的 PM2.5 数值。 -
分类任务
分类任务是让机器从设定好的选项中做出选择。例如,判断一封邮件是否为垃圾邮件,就是一个分类任务。在分类任务中,机器需要找到一个函数,能够根据输入的特征(如邮件的内容、发件人、收件人等),从设定好的选项(如垃圾邮件和正常邮件)中选择一个作为输出。 -
结构化学习任务
结构化学习任务是让机器产生一个有结构的物体,比如画一张图、写一篇文章。在结构化学习任务中,机器需要学习到如何生成具有特定结构的输出,这需要机器具备更高级的学习能力和创造力。
三、案例学习(以视频的点击次数预测为例)
-
步骤一:写出带有未知参数的函数,如,其中是预测的今天频道的总观看次数,是前一天的总观看次数,和是未知参数,带有未知参数的函数称为模型,称为权重,称为偏置。猜测和的值往往来自于领域知识,但这只是一个猜测,需要后续修正。
-
步骤二:
- 定义损失函数,其输入是模型参数和,输出的值代表参数设定某一数值时的好坏。
- 通过训练数据计算损失,如根据频道过去的观看次数,计算预测值与真实值的差距。差距的计算方式有多种,如平均绝对误差(MAE)和均方误差(MSE)等。
- 调整不同的和,计算其损失,可画出误差表面等高线图,越偏红色代表损失越大,越偏蓝色代表损失越小。
-
步骤三:
- 解最优化问题,通过梯度下降等方法找到使损失最小的和,即和。
- 在梯度下降中,先随机选取一个初始点,计算该点处损失对的微分,根据微分的正负决定的移动方向,移动的步伐大小取决于斜率和学习率(超参数)。
- 梯度下降可能会因为两种情况停下来:一是设定的计算微分次数达到上限;二是微分的值为 0。
- 梯度下降存在没有找到全局最小值的问题,可能会陷入局部最小值,但局部最小值在实际中往往不是真正的难题。
- 在有两个参数的情况下,梯度下降的原理与一个参数类似,深度学习框架(如 PyTorch)可自动计算微分来更新参数。
4.结果:
已知和的值能使损失小到 480,在已知数据(2017 到 2020 年每天的观看次数)上计算损失为 480,用该函数预测未来(2021 年)的观看次数,在未看过的数据上误差值为 0.58,说明在训练数据上误差较小。
四、梯度下降问题
梯度下降是机器学习中一种常用的优化算法,用于寻找模型的最优参数,以最小化损失函数。然而,梯度下降算法存在一些问题,其中之一就是局部最小值问题。
在梯度下降过程中,模型的参数会沿着损失函数的梯度方向进行更新。如果初始参数随机选择不当,可能会导致模型陷入局部最小值,而无法找到全局最小值。全局最小值是使损失函数最小的参数组合,而局部最小值是在局部区域内使损失函数最小的参数组合,但在全局范围内可能不是最优的。
尽管局部最小值问题在理论上存在,但在实际应用中,通常可以通过一些方法来缓解或避免这个问题。例如,使用随机初始化多个不同的初始参数,进行多次训练,然后选择最优的模型;或者使用一些改进的梯度下降算法,如动量梯度下降、自适应矩估计(Adam)等。
此外,梯度下降算法还存在一些其他问题,如学习率的选择、收敛速度等。学习率决定了参数更新的步长,如果学习率过大,可能会导致模型在优化过程中振荡不稳定;如果学习率过小,可能会导致模型收敛速度过慢。因此,选择合适的学习率是非常重要的。
总的来说,梯度下降是机器学习中非常重要的一个算法,但在使用过程中需要注意其存在的问题,并采取相应的措施来解决这些问题。