【Datawhale X 李宏毅苹果书 AI夏令营】第一章学习笔记
yagi2016 2024-09-11 13:31:02 阅读 80
第一部分 名词解释
术语
| 定义
| 个人理解
|
机器学习
| 机器具备有学习的能力。具体来讲,机器学习就是让机器具备找一个函数的能力。
| 预测结果=函数(各种参数),机器学习的主要任务是找到这个“函数”。
|
深度学习
| 深度学习是机器学习的一种特殊形式,它利用了神经网络的结构来实现更高级的学习和预测能力。
| 利用神经网络结构实现机器学习的一种方法。
|
回归
| 假设要找的函数的输出是一个数值,一个标量(scalar),这种机器学习的任务称为回归。
| 标量(scalar)= 函数(各种参数),寻找这类函数的任务称为“回归”
|
分类
| 人类先准备好一些选项,这些选项称为类别(class),现在要找的函数的输出就是从设定好的选项里面选择一个当作输出,该任务称为分类。
| 类别(class) = 函数(各种参数),寻找这类函数的任务称为“分类”
|
结构化学习
| 产生一个有结构的物体,比如让机器画一张图,写一篇文章。这种叫机器产生有结构的东西的问题称为结构化学习。
| 包含结构的结果 = 函数(各种参数),寻找这类函数的任务称为“结构化学习”
|
模型
| 带有未知的参数(parameter)的函数称为模型(model)。
| Y = b + ω * X1
|
特征
| 自变量x1,来自于已知的历史数据
| 特征是影响函数结果的某一方面的因素
|
权重
| w 称为权重(weight)。
| 权重是针对某一方面的因素对函数结果的影响大小的调解参数
|
偏置
| b 称为偏置(bias)。
| 偏置是除了所有影响因素之外的对函数结果影响的偏差,可以是系统误差或随机误差。
|
标签
| 利用历史数据得到的函数真实值。
| 标签主要用于模型结果的评价和训练。
|
损失函数
| 损失是函数 L(b, ω ),其输入是模型参数 b 跟w。损失函数输出的值代表,现在如果把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好。
| 损失函数用于检验某一组模型参数计算所得到的函数结果的优劣。
|
平均绝对误差(Mean Absolute Error,MAE)
| 估测的值跟实际的值之间的差距
| |
均方误差(Mean SquaredError,MSE)
| 估测的值跟实际的值之间差距的平方
|
|
交叉熵(cross entropy)
| 衡量两个分布之间的差异
|
|
误差表面(error surface)
| 不同的参数,计算它的损失,画出来的等高线图
|
|
梯度下降(gradient descent)
| 一种求解最优化问题的方法
|
|
超参数(hyperparameter)
| 在做机器学习,需要自己设定,不是机器自己找出来的参数。
| 例如学习率η、预先设定的更新次数等
|
学习率(learning rate)η
| 也会影响步伐大小。学习率是自己设定的,如果 η 设大一点,每次参数更新就会量大,学习可能就比较快。如果 η 设小一点,参数更新就很慢,每次只会改变一点点参数的数值。
|
|
全局最小值(global minima)
| 整个误差表面上面的最低点。
|
|
局部最小值(local minima)
| w0 是随机初始的位置,也很有可能走到 wT 这里,训练就停住了,无法再移动 w 的位置, wT 这个地方称为局部最小值(local minima)
|
|
第二部分 学习笔记
1、机器学习和深度学习
机器学习是一种让机器自动寻找某种函数的能力。一般解决较为简单的函数关系问题,比如回归、分类或结构化对象。
深度学习是机器学习的一种特殊形式,是指采用神经网络算法实现机器学习的目标。一般用于解决较为复杂的问题,比如NLP、语音、图像、视频等。
2、机器学习的运作过程
步骤一 写出一个带有未知参数的函数 f
这个函数f可以是各种形式的,最简单的形式是:y=b+w*x
这里y是因变量,x是自变量(在机器学习领域也被称为“特征”,可以理解为造成y这个函数结果变化的一个因素)。b和w都是参数:w是x的权重,意思是1个单位的x的变化,会引起w个单位的y的变化;b是偏置(数学里称为“截距”),意思是初始状态下(不考虑x这个因素的情况下),y的初始值是多少。
当然,函数f的形式还可以是各种类型的,特征x的数量也可以是更多个(比如x1、x2、......),随着特征数量的增加,参数w也会随之增加,于是,这个模型就变得越来越庞大(复杂),这是后话。
步骤二 定义损失函数L(b, ω )
还记得我们为什么出发吗?(不忘初心,牢记使命)
采用机器学习方法的目的是要找到一组(b,w),使得已知的x通过函数f,可以获得与真实的y(实际结果)最为接近的y'(预测(计算)值)。
为了可以度量一组参数(b,w)的优劣,于是我们定义了一个损失函数:
公示中的e是某一组参数下,通过函数f计算出来的函数值和真实值之间的差,如果一共有N组特征值x1、x2......xN,那么就能得到N个函数计算结果y1'、y2'......yN',分别和真实的y1、y2......yN相减,会得到N个差,把这些差相加并除以N,就得到差的平均数,也就是要计算的损失值,这个结果标称了在某一组参数(b,w)下所有各组特征值计算结果与实际值的平均差。L越大,代表这一组参数越不好(计算结果y'与真实结果y差距越大),反之则越好。当然,根据不同的特征类型,差值e的计算方法也可以不同,比如可以采用上面的绝对平均数,也可以采用差值的平方(均方差),甚至对于符合某种概率分布的y和y',可以使用交叉熵。
步骤三 求最优化问题的解
既然有一组参数(b,w)最利于减小计算结果y'与真实值y之间的差,那么这一步就是要通过一种方法来找到这组参数,我们称为“求最优化问题的解”,这里提出了一种称为“梯度下降(gradient descent)”的方法。
这种方法的思想是这样的:先假设一个b参数的值,这样我们就只需要找到一个最优的w的值就可以了。我们通过损失函数,画出L-w曲线,我们通过微分求出每一个w对应的曲线上的点的斜率,如果这个斜率是负的,那么说明曲线左边高于右边,我们的目的是找到更小的L,所以应该往右移动一个微小的w;反之,如果这个斜率是正的,那么说明曲线左边低于右边,所以应该往左移动一个微小的w。重复上述过程,我们便可以找到曲线上“最低”的那个点,对应的w就是我们要找的最优的那个参数。
推广到两个参数的情形,于是我们画出了一个三维立体坐标图像L-b,w,此时我们需要找的是如何到达b,w平面的最低的洼地点,算法是一样的。
使用“梯度下降”的方法有个前提:参数b和w是连续的,如果不满足连续性,那么就无法求解微分。
还有一个问题:局部最小值问题,这个问题可以用“牛顿迭代法”求极小点的方法解决。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。