Machine Learning is so simple …
本章节宏毅讲机器学习的三个步骤:
线性模型太简单了,y = wx+b, w影响斜率,b影响截距,仅仅使用线性模型有很大局限性。 Model Bias
对于折线的模拟,可以设 f = constant + sum of a set of sigmoid.
Simoid Function
y = c 1 1 + e − ( b + w x 1 ) = c ∗ s i g m o i d ( b + w x 1 ) y = c \frac{1}{1+{e}^{-(b+wx_1)}} = c*sigmoid(b+wx_1) y=c1+e−(b+wx1)1=c∗sigmoid(b+wx1)
通过修改参数,我们可以得到不同形状的sigmoid函数,以近似不同的情况:
修改w,函数的斜率发生改变;
修改b,函数发生左移右移;
修改c,函数高度发生改变;
引入多个特征, 公式中j表示特征个数,
y = b + w x 1 → y = b + ∑ j w j x j y=b+wx_1 \rightarrow y=b+\sum\limits_{j} w_j x_j y=b+wx1→y=b+j∑wjxj
将多特征的情况引入函数中,新的sigmoid function为:
y = b + ∑ i c i ∗ s i g m o i d ( b + ∑ j w i j x j ) y = b + \sum\limits_{i}c_i*sigmoid(b+\sum\limits_{j}w_{ij}x_j) y=b+i∑ci∗sigmoid(b+j∑wijxj)
将上述公式经过推导后,得到矩阵形式的计算公式:
y = b + c T σ ( b + w x ) y = b + c^T \sigma(b+wx) y=b+cTσ(b+wx)
该公式为上述Step1中那个有未知参量的公式的一般形式。
更换模型/function后,loss也是计算预测与真实值的差距。
θ ∗ = a r g min θ L \theta^* = arg \min\limits_{\theta} L θ∗=argθminL
实际上,在训练中随机将训练集分为batch,长度N的数据集按照size=B划分[N/B]个batch,而不是拿L来计算gradient。
1 epoch = see all the batches once
hypeparameter 超参数: 人设定值的参数
Example 1
How many update in 1 epochs?
N/B = 1000 updates
ReLU
常用的也不是soft sigmoid一种,还有一种经典的激活函数是ReLU.
Rectified Linear Unit(ReLU)的公式表示:
y = c ∗ m a x ( 0 , b + w x 1 ) y = c* max(0, b+wx_1) y=c∗max(0,b+wx1)
要使用ReLU替代Sigmoid,公式更改为:
y = b + ∑ 2 i c i m a x ( 0 , b i + ∑ j w i j x j ) y = b + \sum\limits_{2i} c_i max(0, b_i+ \sum\limits_{j}w_{ij}x_j) y=b+2i∑cimax(0,bi+j∑wijxj)
Which one is better?
输出层常用softmax、sigmoid,隐藏层常用ReLU.
Deep Learning
神经网络的重生之我是深度学习
Hidden Layer 代表一层中很多的 Neuron, Many layers means Deep。故Neural Network的应用被称为Deep Learning。
Why we want “Deep” network, not “Fat” network? AlexNet 8 layers, while ResNet 152 layers.
Overfitting : Better on training data, worse on unseen data.
过拟合的主要特征,在训练集上表现超级好,但是在没训练过的数据表现不太行;与之相关的还有欠拟合,欠拟合就是在训练集上也并没有表现特别好,还有学习的空间。
视频传送门
课程视频获取地址:
李宏毅《机器学习/深度学习》国语课程(2021)_哔哩哔哩_bilibili
本节笔记为视频中机器学习基本概念。
课程ppt及其他资料获取地址:
https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.html