李宏毅2021春机器学习-第一节-机器学习简介
机器学习简介
partial1. 训练
训练的目的是得到一个可用的模型,这个过程分为三个部分:
1. function with unknown
这一步简单来说就是通过已知的数据,来预测可能的函数式以及对应的参数。
假设我们的模型为:
$y=wx+b$
其中$x$是已知的,在机器学习中称作$feature$
$w$和$b$是未知的参数,其中$w$也叫做$weight$,$b$叫做$bias$
通过上面我们定义了一个简单的线性的函数,之后我们就开始设计程式来求出$w$和$b$。
2. Define loss from training data
损失函数是用来衡量每一轮的训练好坏的一种方式,通过损失函数可以计算预测值与真实值的差异,从而不断调整参数以获得一个更小的 $Loss$值。
针对上面假设的线性模型,我们可以设定Loss函数为:
$L=Loss(b,w)$
$b$和$w$就是我们假设模型的中的参数。
接下来举一个简单的均差的LOSS函数的例子:
我们假设预测值为$y_i$值和真实值为$\hat y$,可以得到:
$e_i=|y_i- \hat{y}_i|$
$L(b,w)=\frac1n\sum\limits_ne_i$
3. Optimization
在我们确定了我们的函数和参数,并且确定了衡量参数好坏的参数之后,就到了我们的最后一步,找到参数的最优值。
$w^*,b^*=arg\ \underset{w,b}min \ L$
Gradient Descent(梯度下降)
-
选取初始值$w^0$
-
比较$\frac{\partial L}{\partial w}|_{w=w^0}$
斜率是负的 增加$w$
斜率是正的 减小$w$
根据斜率和$\eta$ ( learning rate) 设定(预设定的参数叫hyperparameter)
$w^1\leftarrow w^0 - \eta \frac{\partial L}{\partial w}|_{w=w^0}$
-
更新w
线性模型:
feature+weight+bias
sigmoid function (S形的function)
L(\c)
example N=10000
batch size=10
1 epoch = 1000 updates
update更新一次
epoch
ReLU(Rectified Liner Unit)
Neuron(ReLU 或者 Sigmoid)
Neural Network
test