本博客及后续博客翻译和记录学习“Unsupervised Feature Learning and Deep Learning Tutorial”的收获及体会!
1 线性回归
1.1 问题形式化
作为新手,就从如何实现线性回归开始吧!我们需要熟练掌握目标函数、目标梯度和目标优化。这些基本的概念、方法和工具将是接下来学习更加复杂的算法的基础。切记打牢地基莫忽视!
线性回归的目标是根据一个输入向量
x∈Rn
预测一个目标值
y
。例如:预测一个房子的价格,
为了找到这样一个函数
h(x)
使得
y(i)≈h(x(i))
,我们需要先确定如何表示函数
h(x)
。让我们先从做简单的线性函数开始
hθ(x)=∑jθjxj=θTx
。这里,
hθ(x)
表示一个函数家族,选择不同参数
θ
得到不同的函数。有了
h(x)
的表示,我们任务变为寻找一个参数
θ
,使得
hθ(x(i))
尽可能逼近
y(i)
。特别的,我们希望寻找一个
θ
,最小化下式
该函数称为“代价函数”,用于度量一个特征选择的 θ 在预测 y(i) 时的误差。通常,也称为“损失函数”、“惩罚函数”或“目标函数”。
1.2 函数最小化
现在的目标是选择
θ
使
J(θ)
最小。有很多方法可以最小化该目标。现在,我们来回顾一下函数最小化最常用算法的一些事实。我们需要完成有关
J(θ)
的两个事实:计算
J(θ)
和
∇θJ(θ)
。然后,优化的剩下部分就可以交给优化算法去寻找最好的
θ
。(梯度
∇θJ(θ)
是一个向量,指向
J(θ)
下降最快的方向,这样只要小小地改变
θ
就可以降低或增加
J(θ)
)
给定一组训练集
{x(i),y(i)}
,
J(θ)
的梯度可表示如下:
2 逻辑斯特回归
上节学习了如何预测连续变量(房价)。实际中,我们也需要区预测离散变量(分类问题)。逻辑斯特回归就是一个简单的用于分类决策的算法。
线性回归中,我们尝试使用线性函数
y=hθ(x)=θTx
去预测第
i
个样本
函数
σ(z)≡1/(1+exp(−z))
通常称为“sigmoid”或“logistic”函数。他是一个S型函数,将
z
的值映射到
##############################################################
上式代价函数是根据最大似然得到的:
J(θ)
对应于负的对数似然如下:
##############################################################
对于一个训练样本而言,上式中的两项只有一项不为零(这取决于标签
y(i)
是0或1)。当
y(i)=1
,最小化代价意味着我们需要使
hθ(x(i))
变大,当
y(i)=0
,我们希望使
1−hθ(x(i))
变大。
现在我们有了一个代价函数来度量一个给定的假设
hθ
是否是对训练样本好的。我们通过最小化
J(θ)
来找到最佳的
θ
。一旦我们完成,我们就可以分类一个新的样本是属于“1”还是属于“0”(通过检查两类的概率,若
P(y=1|x)>P(y=0|x)
,则判为“1”,否则判为“0”,等同于判断
hθ(x)>0.5
)。
为了最小化
J(θ)
,我们使用和线性回归一样的工具。我们需要提供计算
J(θ)
和
∇θJ(θ)
的函数,
J(θ)
关于
θj
的偏导数如下:
向量形式的整体梯度如下:
该式本质上与线性回归的梯度一样,只不过此时的 hθ(x)=σ(−θTx).
3 Softmax回归
3.1 引言
Softmax回归,也称多项式逻辑斯特回归,是逻辑斯特回归的广义版本,用于处理多类分类问题。在逻辑斯特回归中,我们假设标签是二值的,即
y(i)∈{0,1}
。我们使用该分类器来区分两类手写字符。Softmax回归允许我们处理
y(i)∈{1,...,K}
问题,其中
K
为类别个数。
回顾逻辑斯特回归,我们有一组共
模型参数
θ
通过最小化如下代价函数求得:
在Softmax回归中,我们关注多类分类,故标签
y
取自
给定一个测试输入
x
,我们希望假设可以估计概率
P(y=k|x)
,
k=1,...,K
。即估计在
K
个不同类别上估计类别的概率。故我们的假设应该输出一个
其中,
θ(1),θ(2),...,θ(K)∈Rn
是模型参数,
1/∑Kj=1exp(θ(j)Tx)
用于标准化分布,即求和为一。
为了方便,用
θ
表示模型参数,以列的方式将
θ(1),θ(2),...,θ(K)
连接起来。
3.2 代价函数
首先,引入指示函数
1{⋅}
,
1{true}=1
,否则
1{false}=0
。例如
1{2+2=4}=1
,
1{1+1=5}=0
。Softmax回归代价函数
其中,
我们无法解析求解
J(θ)
,故采用迭代优化算法,计算梯度如下:
##############################################################
代价函数
J(θ)
是根据最大似然得到的:
J(θ) 对应于负的对数似然如下:
由
,令
hθ(x)(k′)=exp(θ(k′)Tx)∑Kj=1exp(θ(j)Tx)
,则
##############################################################
3.3 Softmax参数化属性
Softmax回归有一个不寻常的属性,其参数集是冗余的。假设参数
θ(1),θ(2),...,θ(K)
共同减去一个固定向量
ψ
,则类标签概率
换言之,参数减去常向量 ψ 并不改变预测的概率。故可以说参数存在冗余。由于 J(θ) 可以由 θ(1),θ(2),...,θ(K) 达到最小,也可以由 θ(1)−ψ,θ(2)−ψ,...,θ(K)−ψ 达到最小。但两个目标值是不同的。故,可以令 ψ=θ(K) ,将原始的 θ(K) 替换为 θ(K)−ψ=0⃗ 向量。故可以消除最后一个参数向量而不影响表示能力。
3.4 与逻辑斯特回归的关系
当
K=2
时,Softmax回归变为逻辑斯特回归,Softmax回归假设的输出为
令
ψ=θ(2)
可得
令 θ′=θ(2)−θ(1) ,则
该式与逻辑斯特回归一致。