文章总结: 文章系统梳理机器学习三要素:定义带参函数、构造Loss、用梯度下降优化,并以预测视频观看量为例演示线性模型局限,引入Sigmoid、ReLU等激活函数分段逼近非线性,进而堆叠成深层网络,指出层数与神经元数量影响准确率,同时警示过拟合风险,给出完整训练-验证流程与参数调优思路。 综合评分: 82 文章分类: AI安全,安全培训,解决方案,数据安全,其他
关键名词
Regression
当函数输出为一个数值,也就是 scale 时,我们称机器学习的任务为 Regression。
比方说预测 PM 2.5 的数值,根据输出,可以得到明天中午的 PM 2.5 的值,这就是一个数值。
Classification
给出几个选项,让机器对输入进行分类,给出分类的结果,我们称机器学习的任务为 Classification。
比方说预测一封电子邮件是否为垃圾邮件,根据输出,我们可以知道他是或不是垃圾邮件
Structured Learning
这个就是输入内容,机器可以去画图、创作,我们称机器学习的任务为 Structured Learning。
如何去找到函数
1. 定义未知参数的函数
比方说我们要预测视频的观看次数,那么我们可以猜测,这个函数存在一个变量,这个变量是今天的观看次数,那么我们可以先简单猜测函数为如下:
2. 定义 Loss
这个 也是一个函数,它的参数就是我们未知的几个参数:
那么这个函数输出的值是什么意思?
这个函数输出的值就是代表其中未知参数的值好还是不好
比如当:
这时候的函数就是:
此时就可以将它带入之前的数据进行计算
3. 调整(Optimization)
第三个步骤就是调整 和 ,找到使得 最小的值,这两个最佳值被称为 和 。
那么这边我们会用到的就是 Gradient Descent,也就是梯度下降。
要理解这个方法,我们可以先假设未知参数只有一个,假设是 未知,先不看 参数。
假设函数如下:
随之而来的问题是增减的数值大小怎么判断,这一步要跨多少,跨多大?
- 步长大小就要根据以下来判断:
- 斜率的大小
- 学习速率 ,其中 就是由我们自己设定的, 大就步长大,反之则小
PS:像 这种我们在做机器学习时需要自己人为设定的东西叫做 Hyperparameters。
那么后面就是反复进行这个 的移动了,相关的 计算式如下:
但有时候我们可能常常找不到最低点,而是比如找到一个刚好为 0 的位置
4. 真实预测再做调整
好的,那么以上的三个步骤其实都是属于训练的过程,这个训练的过程其实都是在已有的数据上进行的,所以为了得到真实结果还需要对未知的情况进行预测,比方说连续预测未来每一天的观看数持续半个月,我们再来计算 Loss,这时候会发现基本会有所不同,Loss 的值或大或小。
调整函数
1. 定义未知参数的函数
在现实情况中,模型往往不是 Linear Model,而是比较复杂的,Linear Model只是一个线性的模型。
2. 定义 Loss
其实 Loss 也跟之前的差别并不大,就是把变量换成了
3. Optimization
其实这部分也没有什么区别,就是算出使得 Loss 最小的那组数值即可
实际情况计算
在上面的推导过程中,我们都是针对一个完整的资料进行全部的计算,但是在实际情况中,这些资料往往很大,所以需要进行分块计算
更多变形
ReLU
不知道刚刚其实有一个点,为什么我们不直接写 Hard Sigmoid 呢?而是要使用 Soft Sigmoid?
其实是可以直接写 Hard Sigmoid 的
比如这个函数:
Deep Learning
所谓多层的深度堆积就是,比如说:我们现在规定第一层有 100 个 ReLU,那么这就是一个 Layer 的 ReLU 数量,我们有 3 层,第一层的输出给第二层,第二层的输出给第三层,那么结果如下:

版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论