本文是关于李宏毅苹果书”线性模型“学习内容的记录。
线性模型
线性模型(linear model):将输入的特征 x x x(或 x \bold{x} x)乘上权重 ω \omega ω(或 ω \bold{\omega} ω),再加上一个偏置,得到预测的结果。
加粗字母表示向量,而不仅是一个标量。
分段线性曲线
线性模型的局限性:如图1.7所示,(当输入的特征数量为1时,即权重数量只有1个时,)线性模型只能表示直线(即图中的蓝色线),不能表示更复杂的线条(如图中的红线)。这种来自模型的限制称为模型的偏差,无法模拟真实的情况。
如果需要模拟图1.7中的红色线(分段线性曲线(piecewise linear curve)),可以构建一个函数:一个常数+一群Hard Sigmoid函数(如图1.8所示)。分段线性曲线越复杂,需要的Hard Sigmoid函数越多。
如果观察输入和输出的关系不是分段线性关系,而是曲线关系(如图1.9所示),可以在曲线上取若干个点,将点相连,即可得到与原曲线接近的分段线性曲线。取的点数量越多、位置适当,得到的分段线性曲线越逼近原连续曲线。分段线性曲线可以逼近任何连续曲线,分段线性曲线可以由一群Hard Sigmoid函数组合得到,即使用足够多的Hard Sigmoid函数可以逼近任何连续曲线。
与此同时,可以使用Sigmoid函数逼近Hard Sigmoid函数。Sigmoid函数的表达式为
y
=
c
1
1
+
e
−
(
b
+
w
x
1
)
y = c \frac{1}{1 + e^{-(b + wx_1)}}
y=c1+e−(b+wx1)1
y = c σ ( b + w x 1 ) y = c\sigma(b + wx_1) y=cσ(b+wx1)
那么,图1.8的红色线可以使用下式逼近:
如果输入的特征数量不止1个(假设由j个),那么可以写成
使用线性代数的方法表达式子
分批量进行梯度下降
模型变形
除了使用Sigmoid逼近Hard Sigmoid,也可以使用两个ReLU逼近Hard Sigmoid。
机器学习框架
-
写出含参数的函数/模型 f θ ( x ) f_{\theta}(x) fθ(x), x x x表示输入, θ \theta θ表示函数/模型的所有未知参数。
-
定义损失函数 L ( θ ) L(\theta) L(θ),输入是一组参数,输出是对这组参数的好坏的衡量值。
-
求解损失函数的最优解,即寻找让 L ( θ ) L(\theta) L(θ)最小的参数 θ ∗ {\theta}^* θ∗。
θ ∗ = arg min θ L ( θ ) {\theta}^* = \arg\min_{\theta} L(\theta) θ∗=argθminL(θ) -
使用 f θ ∗ ( x ) f_{{\theta}^*}(x) fθ∗(x)计算测试集的输出。