Types of Learning
机器学习有以下分类:
- 有监督学习:分类,回归
- 无监督学习:聚类,降维
- 半监督学习:介于上两者之间,同时用到了监督学习和无监督学习的技术
- 强化学习:没有明确的可以学习的目标,但是在与环境交互的过程中会有奖励(reward),然后通过这些奖励来不断学习。
- 自监督学习:与无监督学习有些不同。无监督学习目的是发现数据隐含的pattern,而自监督学习则是自己创造label。比如大语言模型,后面的句子就是前面句子的label。
Linear Regression
Linear Basis Function Models
线性回归除了最基础的 hθ(x)=θ0+θ1x1+⋯+θnxn(或者简写成 θTx,其中定义 x0=1),还可以对 x 进行各种形式的变化。所以一个更加通用的拟合方程为:
y(x,w)=j=0∑M−1wjϕj(x)=wTϕ(x)
其中 w=(w0,…wM−1),ϕ=(ϕ0,…ϕMj−1)T,并且 ϕ0(x)=1,w0 为偏移量(bias)。
一些常用的函数为:
- 多项式函数 ϕj(x)=xj
- 高斯函数 ϕj(x)=exp(−2s2(x−μj)2)
- Sigmoid 函数 ϕj(x)=σ(sx−μj),其中 σ(a)=1+e−a1。
The Least Mean Square (LMS) method
定义 cost function:
J(θ)=21i=1∑m(hθ(x(i))−y(i))2
更新 θ:
θj:=θj−α∂θj∂J(θ)
对于一个训练集,更新变量时可以使用
θj:=θj+αi=1∑m(y(i)−hθ(x(i)))xj(i)
但是假如数据集特别大,那么每次更新计算开销特别大,所以有了随机梯度下降:
for i=1 to mθj:=θj+α(y(i)−hθ(xi))xj(i)
但如果一次只一个变量,那么这个变量可能会有比较大的噪声,所以也可以一次多取几个数据,形成一个 batch,这就是小批量随机梯度下降。
The normal equations
写成矩阵形式并且进行运算:
X=−−(x(1))T−−−−(x(2))T−−⋮−−(x(m))T−−=x1(1)x1(2)⋮x1(m)x2(1)x2(2)⋮x2(m)⋯⋯⋱⋯xn(1)xn(2)⋮xn(m)Y=y(1)y(2)⋮y(m)
对 θ 求梯度:
∇θJ(θ)=∇θ21(Xθ−y)T(Xθ−y)=21∇θ(θTXTXθ−θTXTy−yTXθ+yTy)=21∇θtr(θTXTXθ−θTXTy−yTXθ+yTy)=21∇θ(trθTXTXθ−2tryTXθ)=21(XTXθ+XTXθ−2XTy)=XTXθ−XTy
想要最小化 J,那么应该有 XTXθ=XTy,解得 θ=(XTX)−1XTy。
以上条件需要在 (XTX)−1 存在时成立。考察矩阵 X,这是一个 n×m 的矩阵,其中 n 为变量的数量,m 为样本数量。当 n≤m 时,通常矩阵 (XTX) 满秩,可逆;但是假如 n≥m,即样本数量过少,那么就不可逆,θ 无法使用该方法求解。此时需要引入正则化。
Regularized least squares
将 error function 改为
21i=1∑m(hθ(x(i))−y(i))2+2λθTθ⇒θ=(λI+XTX)−1XTy
即加入了一个二范数项。
将正则化的操作可视化,左侧为 l1 正则化,右侧为 l2 正则化,即上述式子给出的操作方法。图中的等高线表示 w1,w2 取不同值时 error function 取到相同值的情况。

对于左图的正则化,做的约束为:∣w1∣+∣w2∣≤t,此时的等高线与正则化限制区域的交点通常在坐标轴上,所以相当于消掉了一个维度;对于右图的正则化,做的约束为 w12+w22≤t。
Polynomial Curve Fitting
假如想拟合图上的这些点。如果多项式的次数太低,那么可能会导致欠拟合;如果多项式次数过高,可能会导致过拟合。欠拟合和过拟合的效果如图:
如果发现欠拟合,那么可以增加次数;如果发现过拟合,可以减少次数(降低模型复杂度),增加样本数量,或者使用正则项。
我们先观察在不同次数的情况下拟合得到的系数:

我们发现当出现过拟合时,多项式的某些系数会非常大。因此可以使用正则化项来约束系数的复杂度。此时 cost function 为:
E~(w)=21n=1∑N{y(xn,w)−tn}2+2λ∥w∥2
不同的 λ 值对模型有不同的约束力度。

Probabilistic Interpretation of LMS
这里解释为什么拟合问题通常使用最小平方误差。
对于目标变量 y 和已有信息 x,假如确实存在线性关系,那么考虑到测量误差等问题,测得的信息通常为
y(i)=θTx(i)+ϵ(i)
假设其中 ϵ(i) 满足高斯分布 N(0,σ2),并且独立同分布,那么我们有
p(y(i)∣x(i);θ)=2πσ1exp(−2σ2(y(i)−θTx(i))2)
然后我们得到似然函数
L(θ)=L(θ;X,y)=p(y∣X;θ)
所以再根据独立同分布的假设
L(θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏m2πσ1exp(−2σ2(y(i)−θTx(i))2)
由于 L(θ) 不方便计算,因此我们取对数
ι(θ)=logL(θ)=logi=1∏m2πσ1exp(−2σ2(y(i)−θTx(i))2)=i=1∑mlog2πσ1exp(−2σ2(y(i)−θTx(i))2)=mlog2πσ1−σ21×21i=1∑m(y(i)−θTx(i))2
根据统计学上的规则,我们需要最大化似然,在上式中我们可以看出正是需要最小化平方误差。
Classification and Logistic Regression
分类问题有二分类(binary classification),多分类(multi classification)等。除此之外还有多标签(multi label),这个指的是一个样本可能同属于多个类别。
Logistic Regression Model Description
Logistic Regression 虽然名为 “Regression”,但实际上是个分类模型。
与线性回归直接对输出结果建模不同,Logistic Regression 对输出的后验概率做建模。这里以二分类为例,用 y=0,y=1 代表两个类:
P(y=1∣x;θ)P(y=0∣x;θ)=hθ(x)=g(θTx)=1+e−θTx1=1−hθ(x)
或者写成一个式子:
P(y∣x;θ)=(hθ(x))y(1−hθ(x))1−y
Maximum Likelihood Estimation
与线性回归最小化均方误差不同,这里要最大化条件似然。此处条件似然函数(conditional likelihood)为
L(θ)=p(y∣X;θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)
取对数:
ι(θ)=logL(θ)=i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
最后的形式就是交叉熵。
Gradient Ascent
所以现在需要解决的问题是:
argmaxθi=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
考虑到 sigmoid 函数求导的特性:
g′(z)=dzd1+e−z1=(1+e−z)21(e−z)=(1+e−z)1(1−(1+e−z)1)=g(z)(1−g(z))
最终求导结果为:
∂θj∂ι(θ)=i=1∑m(y(i)hθ(x(i))1−(1−y(i))1−hθ(x(i))1)∂θj∂hθ(x(i))=i=1∑m(y(i)hθ(x(i))1−(1−y(i))1−hθ(x(i))1)hθ(x(i))(1−hθ(x(i)))∂θj∂θTx(i)=i=1∑m(y(i)(1−hθ(x(i)))−(1−y(i))hθ(x(i)))xj=i=1∑m(y−hθ(x(i)))xj
和线性回归模型类似,最后在更新参数的时候也可以采用批量梯度上升的方式:
θj:=θj+αi=1∑m(y(i)−hθ(x(i)))xj(i)