李宏毅2022《机器学习/深度学习》——学习笔记(2)

深度学习基本概念

Function

上一个例子中,拟合的曲线是线性的,显然过于简单了。如果真实的函数是一个比较复杂的曲线,应该如何构造函数(也就是Model,带未知参数的函数)呢?

上图展示了如何拟合一个复杂的函数,就是一系列的sigmoid函数加上常数。

对于平滑的曲线函数,可以通过在曲线上取多个点形成的折线函数来近似,如上图所示。

这样就形成了新的Model

下图所示蓝色虚线框内式子 b i + ∑ j w i j x j b_i+\sum_jw_{ij}x_j bi+jwijxj展开的情况

b i + ∑ j w i j x j b_i+\sum_jw_{ij}x_j bi+jwijxj的结果记作 r r r,带入到sigmoid函数

将sigmoid函数的结果记作 a a a,计算得到最终的 y y y

最终的函数计算流程如下所示

将所有未知参数放入一个向量 θ \theta θ

回到机器学习训练的三个步骤,现在已经定义好了函数,也就是Model,接下来是定义损失函数和优化。

Loss

Loss的计算方式和之前还是一样的,只不过现在的未知参数换成了 θ \theta θ

Optimization

最后是优化模型,找到使Loss最小的模型参数,仍然是用梯度下降法。

反复迭代,直到满足迭代次数或者梯度向量为零向量(参数较多情况下几乎不可能)

这里引入了新的概念 batch,将总的训练集随机划分成一个个 batch,用每一个 batch 计算一个 Loss,计算梯度,更新一次 θ \theta θ,所有的 batch 都算过一遍后叫作一个 epoch。因此一般一个 epoch 包含若干个 update。

sigmoid函数也可以用 ReLU 函数代替,它们被称作 Activation function(激活函数)

引入深度学习

激活函数可以嵌套,把上一层激活函数的结果作为下一层激活函数的输入,这样函数的未知参数就会更多了,模型也更加复杂。

每个 sigmoid 函数叫做 Neuron(神经元),整体就叫做 Neuron Network(神经网络),每一层激活函数叫做 hidden layer(隐藏层)。由于有很多层隐藏层,意味着 deep,所以叫深度学习。

hyperparameters

人手设的东西叫 hyperparameters(超参数),目前有

  • η \eta η(学习速率)
  • 函数中有几个 sigmoid
  • batch size 的大小
  • layer的层数。

什么是超参数?

机器学习模型中一般有两类参数:一类需要从数据中学习和估计得到,称为模型参数(Parameter)—即模型本身的参数。比如,线性回归直线的加权系数(斜率)及其偏差项(截距)都是模型参数。还有一类则是机器学习算法中的调优参数(tuning parameters),需要人为设定,称为超参数(Hyperparameter)。比如,正则化系数λ,决策树模型中树的深度。

参数和超参数的区别:
模型参数是模型内部的配置变量,需要用数据估计模型参数的值;模型超参数是模型外部的配置,需要手动设置超参数的值。机器学习中一直说的“调参”,实际上不是调“参数”,而是调“超参数”。

参考资料

(强推)李宏毅2021/2022春机器学习课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dotJunz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值