CS229 Lecture 3
课程要点
Linear Regression
Locally Weight Regression
Probabilistic interpretation
Logistic Regression
Digression: perceptron Learning
欠拟合:拟合出来的函数未能较好的反应出数据的特征,一般欠拟合反应在训练过程中,训练得到的误差很大。
过拟合:拟合出来的函数过度反应了数据的趋势,函数的拟合只是对当前训练数据的拟合而没有考虑到数据的局势共性,泛化能力差。主要表现为对训练数据完美拟合,但是测试的时候,误差较大。
参数学习算法:
前面的最小而成算法属于参数学习算法,通过对训练数据的训练,拟合出最佳的参数
θ
\theta
θ,然后根据
θ
\theta
θ来对输入的
x
x
x进行预测。
非参数学习算法:参数的数目随着训练样本的数目增长。就笔者的理解,这种非参数学习参数实际上不算学习到了一个模型,只是有一种计算模型,当又一个新的数据到来的时候它使用所有的数据按照既定的方式重新"计算"一把。局部加权回归就是一种非参数的学习算法。
局部加权回归算法(Loess)
如上图所示这么一些数据它大体的趋势,现在假设要计算当
x
=
0.8
x=0.8
x=0.8时
y
y
y的值。如果说是最小二乘算法,那么它的计算方式为:
拟合
θ
\theta
θ使得
∑
(
y
(
i
)
−
θ
T
x
(
i
)
)
2
\sum(y^{(i)}-\theta^{T}x^{(i)})^{2}
∑(y(i)−θTx(i))2最小,然后带入
θ
T
x
\theta^{T}x
θTx计算。
现在看看局部加权线性回归算法的计算方式:
拟合
θ
\theta
θ使得
∑
(
w
(
i
)
)
(
y
(
i
)
−
θ
T
x
(
i
)
)
2
\sum(w^{(i)})(y^{(i)}-\theta^{T}x^{(i)})^{2}
∑(w(i))(y(i)−θTx(i))2最小,然后带入
θ
T
x
\theta^{T}x
θTx计算,其中
w
w
w被乘为权重,
w
w
w常常采用表达式为:
w
(
i
)
=
e
x
p
−
(
x
(
i
)
−
x
)
2
2
τ
2
w^{(i)}=exp^{-\frac{(x^{(i)}-x)^2}{2\tau^{2}}}
w(i)=exp−2τ2(x(i)−x)2.
对权重取值函数的特点可以看出:
如果
∣
x
(
i
)
−
x
∣
|x^{(i)}-x|
∣x(i)−x∣很小那么
w
≈
1
w\approx1
w≈1
如果
∣
x
(
i
)
−
x
∣
|x^{(i)}-x|
∣x(i)−x∣很大那么
w
≈
0
w\approx0
w≈0
τ \tau τ值控制了权值随距离下降的速率。其中 τ \tau τ的值约大,那么 w w w所呈现的钟型函数就约平缓,如果约小,那么对应的钟型函数就约陡峭。
根据其算法特点可知,每次预测一个点的时候都需要把所有数据重新跑一遍,再去预测。(因为是它是通过局部加权优化,具体预测点越近那么权重越高,其参考价值越高,反之异然。因为每次预测的点都会重新计算新的
θ
\theta
θ,因此这种算法笔者认为不能算学习到了模型)
线性回归的概率解释
前面的算法为什选择是用最小二乘来衡量误差,而不是三次四次,下面给出一种概率解释。使得最小二乘是赋予意义,而不是玄学。
当然这个解释建驻在一个假设上:
y
(
i
)
=
θ
T
x
(
i
)
+
ϵ
(
i
)
y^{(i)}=\theta^{T}x^{(i)}+\epsilon^{(i)}
y(i)=θTx(i)+ϵ(i)
假设:
ϵ
∼
N
(
0
,
δ
(
2
)
)
\epsilon\sim N(0,\delta^{(2)})
ϵ∼N(0,δ(2))
上面式子中的
ϵ
\epsilon
ϵ表示我们建模的误差,这个误差有肯能来自我们模型建立的不好对默写特征没有捕捉到,还有就是可能来自随机噪声,如买家的心情什么的不确定性。这里假设建模的误差服从高斯分布。高斯分布的密度函数为
p
(
ϵ
(
i
)
)
=
1
2
π
δ
e
x
p
−
(
ϵ
(
i
)
)
2
2
δ
2
p(\epsilon^{(i)})=\frac{1}{{\sqrt {2\pi}}\delta}exp^{-\frac{(\epsilon^{(i)})^{2}}{2\delta^2}}
p(ϵ(i))=2πδ1exp−2δ2(ϵ(i))2
这也就意味着 p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π δ e x p − ( y ( i ) − θ T x ( i ) ) 2 2 δ 2 p(y^{(i)}|x^{(i)};\theta)=\frac{1}{{\sqrt {2\pi}}\delta}exp^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^{2}}{2\delta^2}} p(y(i)∣x(i);θ)=2πδ1exp−2δ2(y(i)−θTx(i))2,注意这里的 x x x和 θ \theta θ是用;分隔的,这是使用的是频率学派的观点, θ \theta θ并不是变量, θ \theta θ是有确切值的只是我们不知道而已。贝叶斯学派的表示为 p ( y ( i ) ∣ x ( i ) , θ ) p(y^{(i)}|x^{(i)},\theta) p(y(i)∣x(i),θ)。
者意味着实际上房价在给定 x x x和参数化的 θ \theta θ(y given x parameterized by θ \theta θ)前提下也是服从高斯分布的。
p ( y ( i ) ∣ x ( i ) ; θ ) ∼ N ( θ T x ( i ) , δ 2 ) p(y^{(i)}|x^{(i)};\theta)\sim N(\theta^Tx^{(i)},\delta^2) p(y(i)∣x(i);θ)∼N(θTx(i),δ2)
进一步假设各个
ϵ
(
i
)
\epsilon^{(i)}
ϵ(i)是独立同分布的(IID);
既然我们观察到了这批数据,那么我们有理由相信参数
θ
\theta
θ使得这批数据以最大的概率出现了,即最大似然,下面定义关于
θ
\theta
θ的最大似然函数:
L
(
θ
)
=
p
(
y
∣
x
;
θ
)
=
∏
i
=
1
m
p
(
y
(
i
)
∣
x
(
i
)
;
θ
)
=
∏
i
=
1
m
1
2
π
δ
e
x
p
−
(
y
(
i
)
−
θ
T
x
(
i
)
)
2
2
δ
2
L(\theta)=p(y|x;\theta)=\prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta)\\ =\prod_{i=1}^{m}\frac{1}{{\sqrt {2\pi}}\delta}exp^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^{2}}{2\delta^2}}
L(θ)=p(y∣x;θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏m2πδ1exp−2δ2(y(i)−θTx(i))2
这里的似然函数是关于
θ
\theta
θ的函数。
我们使得这批数据是最大概率出现的,那么计算该似然函数的最大值:最大化该似然函数
为了数学上的方便处理令
L
(
θ
)
=
l
o
g
L
(
θ
)
L(\theta)=logL(\theta)
L(θ)=logL(θ)
L
(
θ
)
=
l
o
g
m
2
π
δ
+
∑
i
=
1
m
−
(
y
(
i
)
−
θ
T
x
(
i
)
)
2
2
δ
2
L(\theta)=log\frac{m}{\sqrt {2\pi}\delta}+\sum_{i=1}^{m}-\frac{(y^{(i)}-\theta^Tx^{(i)})^{2}}{2\delta^2}
L(θ)=log2πδm+i=1∑m−2δ2(y(i)−θTx(i))2
根据上面的公式推导,最大化 L ( θ ) L(\theta) L(θ)实际上最小化 ∑ ( y ( i ) − θ T x ( i ) ) 2 2 \sum\frac{(y^{(i)}-\theta^Tx^{(i)})^{2}}{2} ∑2(y(i)−θTx(i))2,这个公式有没有很眼熟,它不就是代价函数 J ( θ ) J(\theta) J(θ)吗。因为前面假设的是 ϵ \epsilon ϵ服用方差为 δ \delta δ的高斯分布,实际上 δ \delta δ对似然函数没有什么影响。
分类问题:
在大多数情况下使用回归算法来做分类问题效果是不好的。
如上图如果新增右边蓝色的点就很容易使得训练的模型失真。
二元分类
y
∈
{
0
,
1
}
y\in\{0,1\}
y∈{0,1},我们的
h
(
x
)
∈
[
0
,
1
]
h(x)\in[0,1]
h(x)∈[0,1],典型的分类函数选择的激活函数为sigmoid,其形式为
h
(
x
)
=
g
(
θ
T
x
)
=
1
1
+
e
−
θ
T
x
h(x)=g(\theta^Tx)=\frac{1}{1+e^{-{\theta^Tx}}}
h(x)=g(θTx)=1+e−θTx1,其中sigmoid函数的样子如下:
针对分类问题的概率解释为:
p
(
y
=
1
∣
x
;
θ
)
=
h
θ
(
x
)
p(y=1|x;\theta)=h_{\theta}(x)
p(y=1∣x;θ)=hθ(x)
p
(
y
=
0
∣
x
;
θ
)
=
1
−
h
θ
(
x
)
p(y=0|x;\theta)=1-h_{\theta}(x)
p(y=0∣x;θ)=1−hθ(x)
p
(
y
∣
x
;
θ
)
=
(
h
θ
(
x
)
)
y
(
i
)
(
1
−
h
θ
(
x
)
)
1
−
y
(
i
)
p(y|x;\theta)=(h_{\theta}(x))^{y^{(i)}}(1-h_{\theta}(x))^{1-y^{(i)}}
p(y∣x;θ)=(hθ(x))y(i)(1−hθ(x))1−y(i)
似然函数为:
L
(
θ
)
=
∏
i
=
1
m
p
(
y
(
i
)
∣
x
(
i
)
;
θ
)
=
∏
i
=
1
m
(
h
θ
(
x
)
)
y
(
i
)
(
1
−
h
θ
(
x
)
)
1
−
y
(
i
)
L(\theta)=\prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta)=\prod_{i=1}^{m}(h_{\theta}(x))^{y^{(i)}}(1-h_{\theta}(x))^{1-y^{(i)}}
L(θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏m(hθ(x))y(i)(1−hθ(x))1−y(i)
同样为了数学处理上的方便令
L
(
θ
)
=
l
o
g
L
(
θ
)
L(\theta)=logL(\theta)
L(θ)=logL(θ)
L
(
θ
)
=
∑
i
=
1
m
l
o
g
[
(
h
θ
(
x
)
)
y
(
i
)
(
1
−
h
θ
(
x
)
)
1
−
y
(
i
)
]
L(\theta)=\sum_{i=1}^{m}log[(h_{\theta}(x))^{y^{(i)}}(1-h_{\theta}(x))^{1-y^{(i)}}]
L(θ)=i=1∑mlog[(hθ(x))y(i)(1−hθ(x))1−y(i)]
为了使得似然函数最大可以使用梯度上升算法:
θ
=
θ
+
α
▽
L
(
θ
)
\theta=\theta+\alpha\bigtriangledown L(\theta)
θ=θ+α▽L(θ)其中:
∂
∂
θ
i
▽
L
(
θ
)
=
∑
i
=
1
m
(
y
(
i
)
−
h
θ
(
x
(
i
)
)
)
x
j
(
i
)
\frac{\partial}{\partial \theta_{i}}\bigtriangledown L(\theta)=\sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))x_{j}^{(i)}
∂θi∂▽L(θ)=i=1∑m(y(i)−hθ(x(i)))xj(i)
θ j = θ j + α ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_j=\theta_{j}+\alpha \sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))x_{j}^{(i)} θj=θj+αi=1∑m(y(i)−hθ(x(i)))xj(i)
感知器:
感知器算法其激活函数只有两个值 g ( z ) = { 1 , z ≥ 0 0 , x < 0 g(z)=\begin{cases}1,\quad &z \geq 0 \\0, &x<0\end{cases} g(z)={1,0,z≥0x<0,其中 h ( x ) = g ( θ T x ) h(x)=g(\theta^Tx) h(x)=g(θTx)
同样 θ j = θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_j=\theta_j+\alpha(y^{(i)}-h_{\theta}(x^{(i)}))x_{j}^{(i)} θj=θj+α(y(i)−hθ(x(i)))xj(i)
未完!公式尚未推导