线性模型
对于给定d个属性的示例
x
=
(
x
1
;
x
2
;
.
.
.
;
x
d
)
x = (x_1;x_2;...;x_d)
x=(x1;x2;...;xd)线性模型试图学得一个通过属性线性组合来进行预测的函数
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
w
3
x
3
+
.
.
.
+
w
d
x
d
+
b
f(x) = w_1x_1+w_2x_2+w_3x_3+...+w_dx_d+b
f(x)=w1x1+w2x2+w3x3+...+wdxd+b
写为向量模式:
f
(
x
)
=
w
x
T
+
b
f(x) = wx^T+b
f(x)=wxT+b
需要对数据进行标准化。
1.线性回归
应用均方误差来进行性能度量
(
w
r
,
b
r
)
=
m
i
n
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
(w_r,b_r) = min\sum_{i=1}^m(f(x_i)-y_i)^2
(wr,br)=mini=1∑m(f(xi)−yi)2
通过选择均方误差最小的
(
w
,
b
)
(w,b)
(w,b)作为最终解。这种方法也叫作最小二乘法
正规方程
我们可以将
b
b
b吸收到
w
w
w中,
得到向量模式
X
w
−
y
=
0
Xw-y = 0
Xw−y=0
由于涉及到逆矩阵的计算。
当
X
T
X
X^TX
XTX 为满秩矩阵或者正定矩阵可求解的:
w
=
(
X
T
X
)
−
1
X
T
y
w = (X^TX)^{-1}X^Ty
w=(XTX)−1XTy
所以线性回归的模型为:
f
(
x
i
)
=
x
i
T
(
X
T
X
)
−
1
X
T
y
f(x_i)=x_i^T (X^TX)^{-1}X^Ty
f(xi)=xiT(XTX)−1XTy
但是现实中
X
T
X
X^TX
XTX 往往不是满秩的,所以需要引入正则化(regularization)项
对数线性回归
如果示例的输出标记是成指数变化的,我们课构造回归函数:
f
(
x
)
=
e
w
x
T
+
b
f(x) = e^{wx^T+b}
f(x)=ewxT+b
更加一般的函数为
f
(
x
)
=
g
(
w
x
T
+
b
)
f(x) = g(wx^T+b)
f(x)=g(wxT+b)
g
g
g为联系函数。
梯度下降算法
w
i
′
=
w
i
−
α
∂
c
o
s
t
(
w
)
∂
w
w_i' = w_i - \alpha \frac{\partial cost(w)}{\partial w}
wi′=wi−α∂w∂cost(w)
其中
c
o
s
t
cost
cost 为损失函数,
α
\alpha
α 为学习率,表示下降速度。
损失函数
一般选取均方误差当做损失函数(不存在多个局部最低点)
2.逻辑回归
适用于所有二分类问题
输入为线性回归的输入,只是将目标值通过函数变为二分类。
损失函数
对数似然损失:
c
o
s
t
(
h
k
(
x
)
,
y
)
=
∑
i
=
1
m
−
y
i
log
(
h
k
(
x
i
)
)
−
(
1
−
y
i
)
log
(
1
−
h
k
(
x
i
)
)
cost(h_k(x),y) = \sum_{i=1}^m-y_i\log(h_k(x_i))-(1-y_i)\log(1-h_k(x_i))
cost(hk(x),y)=i=1∑m−yilog(hk(xi))−(1−yi)log(1−hk(xi))
其中
h
k
(
x
i
)
h_k(x_i)
hk(xi) 为第
i
i
i个样本的对应于
y
i
y_i
yi目标值的概率
优化方法依然是梯度下降算法
具有多个局部最小值(目前无法解决)
优化方法:
1、多次随机初始化,多次比较最终结果
2、求解过程中调整学习率