什么是机器学习

让机器具有寻找一个函数(Function)的功能

不同类别的函数(Function)

1. 回归(Regression)

函数输出一个标量

2. 分类

给出不同的选项,函数输出正确的那一个。

3. 结构化学习

产生一个有结构的物件,比如画一张图,写一篇文章。

如何找到想要的函数(Function)

1.建立一个含有位置参数的函数

我们可以使用线性的函数进行训练,但是使用线性模型太过简单,无法很好的模拟出现实的情况,我们需要更加复杂的模型我们可以使用***constant + sum of a set of Sigmoid Function***逼近不同的曲线

Sigmoid Function(S型曲线):
y = c 1 1 + e − ( b + w x 1 ) = c ⋅ s i g m o i d ( b + w x 1 ) y = c\dfrac{1}{1+e^{-(b+wx_{1})}}\\ = c\cdot sigmoid(b+wx_{1}) y=c1+e(b+wx1)1=csigmoid(b+wx1)
不同参数的影响如下图所示:
请添加图片描述

所以我们可以进一步写出新的Model:
y = b + ∑ i c i ⋅ s i g m o i d ( b i + w i x 1 ) y=b+\sum_{i}c_{i}\cdot sigmoid(b_{i}+w_{i}x_{1}) y=b+icisigmoid(bi+wix1)
如果我们利用多个已知的数据(features)进行预测,则有:
y = b + ∑ i c i ⋅ s i g m o i d ( b i + ∑ j w i j x j ) y=b+\sum_{i}c_{i}\cdot sigmoid(b_{i}+\sum_{j} w_{ij}x_{j}) y=b+icisigmoid(bi+jwijxj)
其中, j j j f e a t u r e s features features 的编号, i i i s i g m o i d sigmoid sigmoid 的编号。

使用线性代数的知识对式子进行化简可以得到:
请添加图片描述

可以将所有的未知参数构成一个向量 θ \theta θ
请添加图片描述

2.定义损失函数

损失函数是所有参数的函数 L ( θ ) L(\mathbf{\theta}) L(θ),表示使用一组参数建立起的模型的好坏。
e = y ^ − y L o s s : 1 N ∑ n e n e=\hat{y}-y \\ Loss:\quad \frac{1}{N}\sum_{n}e_{n} e=y^yLoss:N1nen

3.最优化(Optimization)

找一组最优的参数 θ ∗ = a r g m i n θ L \theta^{*}=arg\quad \mathop{min}\limits_{\theta}L θ=argθminL

使用梯度下降(Gradient Descent)

  • 随机选取一个初始值 θ 0 \mathbf{\theta^{0}} θ0

  • 计算梯度 g = ∇ L ( θ 0 ) \mathbf{g}=\nabla L(\mathbf{\theta^{0}}) g=L(θ0)

    接着计算

    θ 1 ← θ 0 − η g \mathbf{\theta^{1}}\gets \mathbf{\theta^{0}} - \eta\mathbf{g} θ1θ0ηg

    θ 2 ← θ 1 − η g \mathbf{\theta^{2}}\gets \mathbf{\theta^{1}} - \eta\mathbf{g} θ2θ1ηg

    ⋯ ⋯ \cdots\cdots

  • 迭代更新 θ \mathbf{\theta} θ的值

但是在实际的最优化过程中,我们将很多的数据分成好多份,每一份算出一个 L i L^{i} Li出来,然后使用它迭代计算 θ ∗ \mathbf{\theta}^{*} θ具体过程如下图所示
请添加图片描述

update \textbf{update} update:是使用一个 b a t c h batch batch中的数据训练出的 L L L迭代一次。

epoch \textbf{epoch} epoch:使用每一个 b a t c h batch batch迭代过一次 θ \mathbf{\theta} θ

模型的变形: S i g m o i d → R e L U Sigmoid\to ReLU SigmoidReLU

请添加图片描述
两个 R e L U ReLU ReLU可以形成一个 H a r d S i g m o i d HardSigmoid HardSigmoid
请添加图片描述

总结

请添加图片描述

但是,随着 l a y e r layer layer 逐渐的加深,可能会出现在训练数据上较好,在预测数据上却比较差的情况,我们称它作 overfitting \textbf{overfitting} overfitting

文章中的图片均来源于李宏毅老师2021机器学习课程。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐