机器学习(1)
机器学习:
模式识别
计算机视觉
数据挖掘
语音识别
统计学习
自然语言处理
- 训练样本
- 特征抽取
- 学习函数
- 预测
-
有监督问题:有label -
无监督问题:无label -
回归:输出具体的值 -
分类:所分类的问题
线性回归
h
θ
(
x
)
=
θ
0
+
θ
1
x
1
+
θ
2
x
2
h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2
hθ?(x)=θ0?+θ1?x1?+θ2?x2?
h
θ
(
x
)
=
∑
i
=
0
n
θ
i
x
i
=
θ
T
x
h_\theta(x)=\sum\limits_{i=0}^n\theta_ix_i=\theta^Tx
hθ?(x)=i=0∑n?θi?xi?=θTx
y
(
i
)
=
θ
T
x
(
i
)
+
?
(
i
)
y^{(i)}=\theta^Tx^{(i)}+\varsigma^{(i)}
y(i)=θTx(i)+?(i)
误差是独立并且具有相同的分布通常认为服从均值为0方差为
θ
2
\theta^2
θ2的高斯分布
p
(
?
(
i
)
)
=
1
2
π
σ
e
x
p
(
?
?
(
i
)
2
2
σ
2
)
p(\varsigma^{(i)})=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{\varsigma^{(i)^2}}{2\sigma^2})
p(?(i))=2π
?σ1?exp(?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}\sigma}exp(-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2})
p(y(i)∣x(i);θ)=2π
?σ1?exp(?2σ2(y(i)?θTx(i))2?)
最大似然函数:
L
(
θ
)
=
∏
i
=
1
m
p
(
y
(
i
)
∣
x
(
i
)
;
θ
)
=
∏
i
=
1
m
p
(
y
(
i
)
∣
x
(
i
)
;
θ
)
1
2
π
σ
e
x
p
(
?
(
y
(
i
)
?
θ
T
x
(
i
)
)
2
2
σ
2
)
L(\theta) = \prod\limits_{i=1}^mp(y^{(i)}|x^{(i)};\theta)\\ = \prod\limits_{i=1}^mp(y^{(i)}|x^{(i)};\theta)\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2})
L(θ)=i=1∏m?p(y(i)∣x(i);θ)=i=1∏m?p(y(i)∣x(i);θ)2π
?σ1?exp(?2σ2(y(i)?θTx(i))2?) 即需要求
arg
?
max
?
(
L
(
θ
)
)
\arg\max(L(\theta))
argmax(L(θ))
l
(
θ
)
=
l
o
g
L
(
θ
)
l(\theta)=logL(\theta)
l(θ)=logL(θ)
l
(
θ
)
=
m
log
?
1
2
π
σ
?
1
σ
2
.
1
2
∑
i
=
1
m
(
y
(
i
)
?
θ
T
x
(
i
)
)
2
l(\theta)=m\log\frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{\sigma^2}.\frac{1}{2}\sum\limits_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2
l(θ)=mlog2π
?σ1??σ21?.21?i=1∑m?(y(i)?θTx(i))2
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
?
y
(
i
)
)
2
J(\theta)=\frac{1}{2}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2
J(θ)=21?i=1∑m?(hθ?(x(i))?y(i))2
即需要求
a
r
g
min
?
J
(
θ
)
arg\min J(\theta)
argminJ(θ)
J
(
θ
)
=
1
2
(
X
θ
?
y
)
T
(
X
θ
?
y
)
?
θ
J
(
θ
)
=
?
θ
(
1
2
(
θ
T
X
T
?
y
T
)
(
X
θ
?
y
)
)
=
?
θ
(
1
2
(
θ
T
X
T
X
θ
?
θ
T
X
T
y
?
y
T
X
θ
+
y
t
y
)
)
=
X
T
X
θ
?
X
T
y
θ
=
(
X
T
X
)
?
1
X
T
y
J(\theta)=\frac{1}{2}(X\theta-y)^T(X\theta-y) \\ \nabla_\theta J(\theta)= \nabla_\theta(\frac{1}{2}(\theta^TX^T-y^T)(X\theta-y)) \\ =\nabla_\theta(\frac{1}{2}(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^ty)) \\ =X^TX\theta-X^Ty \\ \theta=(X^TX)^{-1}X^Ty
J(θ)=21?(Xθ?y)T(Xθ?y)?θ?J(θ)=?θ?(21?(θTXT?yT)(Xθ?y))=?θ?(21?(θTXTXθ?θTXTy?yTXθ+yty))=XTXθ?XTyθ=(XTX)?1XTy
逻辑回归
可用于分类(二分类)与回归
h
θ
(
x
)
=
g
(
θ
T
x
)
=
1
1
+
e
?
θ
T
x
h_{\theta}(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}
hθ?(x)=g(θTx)=1+e?θTx1?
取值范围[0,1]
h
θ
(
x
)
′
=
h
(
x
)
(
1
?
h
(
x
)
)
h_{\theta}(x)^{'}=h(x)(1-h(x))
hθ?(x)′=h(x)(1?h(x))
采用梯度下降进行优化
不用求出其导数
决策树和随机森林
分类算法
树状结构表示数据分类的结果
- 根节点
- 非叶子节点(决策点)
- 叶子节点(分类标记)
- 分支(测试的结果)
训练阶段
分类阶段
两个事件相互独立:
P
(
X
,
Y
)
=
P
(
X
)
?
P
(
Y
)
P(X,Y)=P(X)*P(Y)
P(X,Y)=P(X)?P(Y)
L
o
g
(
X
Y
)
=
L
o
g
(
X
)
+
L
o
g
(
Y
)
Log(XY)=Log(X)+Log(Y)
Log(XY)=Log(X)+Log(Y)
从根开始,一层一层开始分类。
需要用熵来判断谁是层数低的结点
H
(
x
)
H(x)
H(x)当成事件发生的不确定性,内部的混乱程度
P
(
几
率
越
大
)
?
>
H
(
X
)
值
越
小
P(几率越大) -> H(X)值越小
P(几率越大)?>H(X)值越小
P
(
几
率
越
小
)
?
>
H
(
X
)
值
越
大
P(几率越小) ->H(X)值越大
P(几率越小)?>H(X)值越大
熵 =
?
∑
i
=
1
n
p
i
l
n
(
P
i
)
- \sum\limits_{i=1}^np_iln(P_i)
?i=1∑n?pi?ln(Pi?)
G
i
n
i
系
数
=
G
i
n
i
(
p
)
=
∑
i
=
1
K
p
k
(
1
?
p
k
)
=
1
?
∑
k
=
1
K
p
k
2
Gini系数 = Gini(p)=\sum\limits_{i=1}^Kp_k(1-p_k)=1-\sum\limits_{k=1}^Kp_k^2
Gini系数=Gini(p)=i=1∑K?pk?(1?pk?)=1?k=1∑K?pk2?
p越大,熵和Gini系数越小
构造决策树基本思想
构造树的基本想法是随着树深度的增加,节点的熵迅速降低。
熵降低的速度越快越好,可以使深度越小
根据每一次划分后,集合的熵之和最小最好,可以导致信息增益最大,使得信息熵下降得最快
决策树的版本
ID3:信息增益
C4.5:信息增益率
CART:Gini系数
ID3缺陷:
信息增益率过大: 样本过多,每个样本的数量稀少
评价函数:
C
(
T
)
=
∑
t
∈
l
e
a
f
N
t
H
(
t
)
C(T)=\sum\limits_{t\in leaf}N_tH(t)
C(T)=t∈leaf∑?Nt?H(t)
N
t
N_t
Nt?权重值,
H
(
t
)
H(t)
H(t)熵值
评价函数越小越好,类似于损失函数
能够处理连续型的属性,首先将连续型属性离散化,把连续型属性的值分成不同的区间
缺失数据的考虑:构建决策树,可以忽略损失数据,计算增益时,仅考虑具有属性值的记录
决策树剪枝
预剪枝:构建决策树的过程时,提前终止(防止过拟合)
后剪枝:决策树构建好后,才开始裁剪
C
α
(
T
)
=
C
(
T
)
+
α
∣
T
l
e
a
f
∣
C_{\alpha}(T)=C(T)+\alpha|T_{leaf}|
Cα?(T)=C(T)+α∣Tleaf?∣ 叶子节点个数越多,损失越大
随机森林
Bootstrapping:有放回采样
Bagging:有放回采样n个样本一共建立分类器
一片决策树共同进行相同的决策
随机:随机选择百分之多少的样本进行训练,随机选择特征
贝叶斯算法
贝叶斯公式
P
(
A
∣
B
)
=
P
(
B
∣
A
)
P
(
A
)
P
(
B
)
P(A|B)=\frac{P(B|A)P(A)}{P(B)}
P(A∣B)=P(B)P(B∣A)P(A)?
拼写纠正
垃圾邮件过滤
模型比较理论
最大似然:最符合观测数据(
P
(
h
∣
D
)
P(h|D)
P(h∣D)最大的最有优势) 后验概率越大越有优势
奥卡姆剃刀:
P
(
h
)
P(h)
P(h)较大的模型有较大的优势 先验概率越大越有优势,越是高阶的多项式越是不常见
朴素贝叶斯:特征之间相互独立,互不影响
Xgboost
集成分类器
预测值:
y
i
^
=
∑
j
w
j
x
i
j
\hat {y_i} = \sum_jw_jx_{ij}
yi?^?=∑j?wj?xij?
目标函数:
l
(
y
i
,
y
i
^
)
=
(
y
i
?
y
i
^
)
2
l(y_i,\hat{y_i})=(y_i-\hat{y_i})^2
l(yi?,yi?^?)=(yi??yi?^?)2
最优解:
F
?
(
x
)
=
arg
?
min
?
E
(
x
,
y
)
[
L
(
y
,
F
(
x
)
)
]
F^*({x})=\arg \min E_{(x,y)}[L(y,F(x))]
F?(x)=argminE(x,y)?[L(y,F(x))]
基本思想:是在每加一棵树在原先的基础之上有提升
y
i
^
(
0
)
=
0
\hat{y_i}^{(0)} = 0
yi?^?(0)=0
y
i
^
(
1
)
=
f
1
(
x
i
)
=
y
i
^
(
0
)
+
f
1
(
x
i
)
\hat{y_i}^{(1)}=f_1(x_i)=\hat{y_i}^{(0)}+f_1(x_i)
yi?^?(1)=f1?(xi?)=yi?^?(0)+f1?(xi?)
y
i
^
(
t
)
=
∑
k
=
1
t
f
k
(
x
i
)
=
y
i
^
(
t
?
1
)
+
f
t
(
x
i
)
\hat{y_i}^{(t)}=\sum\limits_{k=1}^tf_k(x_i)=\hat{y_i}^{(t-1)}+f_t(x_i)
yi?^?(t)=k=1∑t?fk?(xi?)=yi?^?(t?1)+ft?(xi?)
等价于第t轮的模型预测,再保留前面
t
?
1
t-1
t?1轮的模型预测上,加入一个新的函数
惩罚项:
Ω
(
f
t
)
=
γ
T
+
1
2
λ
∑
j
=
1
T
w
j
2
\Omega(f_t)=\gamma T+\frac{1}{2}\lambda\sum\limits_{j=1}^Tw_j^2
Ω(ft?)=γT+21?λj=1∑T?wj2? 针对每一棵树来说
第一项是叶子结点的个数,后面一项是正则化的惩罚项,构成总的损失函数
o
b
j
(
t
)
=
∑
i
=
1
n
l
(
y
i
,
y
i
^
(
t
)
)
+
∑
i
=
1
t
Ω
(
f
i
)
obj^{(t)}=\sum\limits_{i=1}^nl(y_i,\hat{y_i}^{(t)})+\sum_{i=1}^t \Omega(f_i)
obj(t)=i=1∑n?l(yi?,yi?^?(t))+∑i=1t?Ω(fi?)
?
=
∑
i
=
1
n
l
(
y
i
,
y
i
^
(
t
?
1
)
+
f
t
(
x
i
)
)
+
Ω
(
f
t
)
+
c
=\sum\limits_{i=1}^nl(y_i,\hat{y_i}^{(t-1)}+f_t(x_i))+\Omega(f_t)+c
=i=1∑n?l(yi?,yi?^?(t?1)+ft?(xi?))+Ω(ft?)+c
目标需要找到
f
t
f_t
ft?来优化目标
用泰勒展开进行优化
o
b
j
(
t
)
=
∑
i
=
1
n
[
l
(
y
i
,
y
i
^
(
t
?
1
)
)
+
g
i
f
t
(
x
i
)
+
1
2
h
i
f
t
2
(
x
i
)
]
+
Ω
(
f
t
)
+
c
o
n
s
t
obj^{(t)}=\sum_{i=1}^n[l(y_i,\hat{y_i}^{(t-1)})+g_if_t(x_i)+\frac{1}{2}h_if_t^2(x_i)]+\Omega(f_t)+const
obj(t)=∑i=1n?[l(yi?,yi?^?(t?1))+gi?ft?(xi?)+21?hi?ft2?(xi?)]+Ω(ft?)+const
g
i
g_i
gi?为一阶导,
h
i
h_i
hi?为二阶导
转化为对叶子结点的遍历
o
b
j
(
t
)
=
∑
i
=
1
n
[
g
i
w
q
(
x
i
)
+
1
2
h
i
w
q
(
x
i
)
2
]
+
γ
T
+
λ
1
2
∑
j
=
1
T
w
j
2
obj^{(t)}=\sum_{i=1}^n[g_iw_q(x_i)+\frac{1}{2}h_i w_{q(x_i)}^2]+\gamma T +\lambda \frac{1}{2}\sum_{j=1}^T w_j^2
obj(t)=∑i=1n?[gi?wq?(xi?)+21?hi?wq(xi?)2?]+γT+λ21?∑j=1T?wj2?
?
=
∑
j
=
1
T
[
(
∑
i
∈
I
j
g
i
)
w
j
+
1
2
(
∑
i
∈
I
j
h
i
+
λ
)
w
j
2
]
+
γ
T
=\sum_{j=1}^T[(\sum_{i \in I_j}g_i)w_j+\frac{1}{2}(\sum_{i \in I_j}h_i+ \lambda)w_j^2]+\gamma T
=∑j=1T?[(∑i∈Ij??gi?)wj?+21?(∑i∈Ij??hi?+λ)wj2?]+γT
G
j
=
∑
i
∈
I
j
g
i
G_j=\sum_{i \in I_j}g_i
Gj?=∑i∈Ij??gi?
H
j
=
∑
i
∈
I
j
h
i
H_j=\sum_{i \in I_j}h_i
Hj?=∑i∈Ij??hi?
o
b
j
(
t
)
=
∑
i
=
1
T
[
G
j
w
j
+
1
2
(
H
j
+
λ
w
j
2
)
]
+
γ
T
obj^{(t)}=\sum_{i=1}^T[G_jw_j+\frac{1}{2}(H_j+ \lambda w_j^2)]+ \gamma T
obj(t)=∑i=1T?[Gj?wj?+21?(Hj?+λwj2?)]+γT
偏导数=0
计算出
w
j
=
?
G
j
H
j
+
λ
w_j=-\frac {G_j}{H_j+ \lambda}
wj?=?Hj?+λGj??
O
b
j
=
?
1
2
∑
j
=
1
T
G
j
2
H
j
+
λ
+
γ
T
Obj=-\frac{1}{2}\sum_{j=1}^T\frac{G_j^2}{H_j+\lambda}+\gamma T
Obj=?21?∑j=1T?Hj?+λGj2??+γT
是否要进行左节点与右节点的切分
计算切分后的差异
G
a
i
n
=
1
2
[
G
L
2
H
L
+
λ
+
G
R
2
H
R
+
λ
?
(
G
L
+
G
R
)
2
H
L
+
H
R
+
λ
]
?
γ
Gain=\frac{1}{2}[\frac{G_L^2}{H_L+\lambda}+\frac{G_R^2}{H_R+\lambda}-\frac{(G_L+G_R)^2}{H_L+H_R+\lambda}]-\gamma
Gain=21?[HL?+λGL2??+HR?+λGR2???HL?+HR?+λ(GL?+GR?)2?]?γ
Adaboost
自适应增强
前一个分类器分错的样本会得到加强,加权后全体样本再次被用来训练下一个基本分类器。同时,在每一轮加入一个新的弱分类器,直到达到某个预定足够小的错误率,或者预先指定的最大迭代次数
最后新的分类器由多个分类器加权得到的
- 初始化数据的权值分布,初始时所有样本的权重相同
- 训练弱分类器,若某个样本未被准确分类,则提高其权重;若正确分类,降低权重
- 将弱分类器加权组合成强分类器
支持向量机
分类问题
假定有一个超平面:
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0
超平面上有两个点:
x
′
?
x
′
′
x^{'} \ x^{''}
x′?x′′ 满足
w
T
x
′
=
?
b
w
T
x
′
′
=
?
b
w^Tx^{'}=-b \qquad w^Tx^{''}=-b
wTx′=?bwTx′′=?b
平面的法向量w:
w
T
(
x
′
′
?
x
′
)
=
0
w^T(x^{''}-x^{'})=0
wT(x′′?x′)=0
x
′
′
和
x
′
x'' 和 x'
x′′和x′是向量形式
distance(point to line)=
w
T
∣
∣
w
∣
∣
(
x
?
x
T
)
\frac{w^T}{||w||}(x-x^T)
∣∣w∣∣wT?(x?xT)=
1
∣
∣
w
∣
∣
∣
w
T
x
+
b
∣
\frac{1}{||w||}|w^Tx+b|
∣∣w∣∣1?∣wTx+b∣
SVM在分类中,正例的时候
y
=
1
y=1
y=1,负例的时候
y
=
?
1
y=-1
y=?1
这样就可以满足
y
i
y
(
x
i
)
>
0
y_i y(x_i)>0
yi?y(xi?)>0
找到一个直线,使得离该线最近的点越远:
arg
?
w
,
b
max
?
(
min
?
y
i
(
w
T
x
i
+
b
)
∣
∣
w
∣
∣
)
\arg \limits_{w,b} \max (\min \frac{y_i(w^T x_i+b)}{||w||})
w,barg?max(min∣∣w∣∣yi?(wTxi?+b)?)
通过放缩:
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i+b) \ge 1
yi?(wTxi?+b)≥1
则需要求
m
a
x
w
,
b
1
∣
∣
w
∣
∣
max_{w,b}\frac{1}{||w||}
maxw,b?∣∣w∣∣1?
转换成求最小值
min
?
w
,
b
1
2
w
2
\min_{w,b}\frac{1}{2}w^2
minw,b?21?w2且
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i+b)\ge 1
yi?(wTxi?+b)≥1
利用拉格朗日乘子法:
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
?
∑
i
=
1
n
α
i
(
y
i
(
w
T
x
i
+
b
)
?
1
)
L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum\limits_{i=1}^n{\alpha_i}(y_i(w^Tx_i+b) - 1)
L(w,b,α)=21?∣∣w∣∣2?i=1∑n?αi?(yi?(wTxi?+b)?1)
对偶问题:
min
?
w
,
b
max
?
α
L
(
w
,
b
,
α
)
>
max
?
α
min
?
w
,
b
L
(
w
,
b
,
α
)
\min\limits_{w,b}\max\limits_{\alpha}L(w,b,\alpha)>\max\limits_{\alpha}\min\limits_{w,b}L(w,b,\alpha)
w,bmin?αmax?L(w,b,α)>αmax?w,bmin?L(w,b,α)
分别对w和b求偏导,分别得到两个条件
?
L
?
w
=
0
\frac{\partial{L}}{\partial{w}}=0
?w?L?=0 ->
w
=
∑
i
=
1
n
α
i
y
i
x
n
w=\sum\limits_{i=1}^n \alpha_iy_ix_n
w=i=1∑n?αi?yi?xn?
?
L
?
b
=
0
\frac{\partial{L}}{\partial{b}}=0
?b?L?=0 ->
∑
i
=
1
n
α
i
y
i
=
0
\sum\limits_{i=1}^n \alpha_iy_i=0
i=1∑n?αi?yi?=0
在对
α
\alpha
α求导即可
拉格朗日乘子法
min
?
f
(
x
)
\min f(x)
minf(x)
s
.
t
.
g
i
(
x
)
≤
0
i
=
1
,
…
,
m
s.t. \quad g_i(x) \le 0 \quad i=1,\dots,m
s.t.gi?(x)≤0i=1,…,m
支持向量决定着分割面的点,决定了间隔分离超平面
软间隔
出现个别的点影响整个超平面的分隔情况
引入松弛因子,变成了软间隔问题
y
i
(
w
x
i
+
b
)
≥
1
?
ε
i
y_i(wx_i+b)\ge1-\varepsilon_i
yi?(wxi?+b)≥1?εi?
目标函数:
min
?
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
n
ε
i
\min \frac{1}{2}||w||^2+C\sum\limits_{i=1}^n \varepsilon_i
min21?∣∣w∣∣2+Ci=1∑n?εi?
当C趋近于无穷大时:意味着分类严格不能有错误
当C趋近于很小时:意味着可以有更大的错误容忍
核函数
从低维空间到高维空间进行映射
核函数的好处:在一个低维空间完成高维度样本内积的计算
可以简化成在低维进行内积将结果映射到高维上
与在高维上进行内积结果相同
高斯核函数
K
(
X
,
Y
)
=
e
x
p
{
∣
∣
X
?
Y
∣
∣
2
2
σ
2
}
K(X,Y)=exp\{\frac{||X-Y||^2}{2\sigma^2}\}
K(X,Y)=exp{2σ2∣∣X?Y∣∣2?}
ARIMA
平稳性:
- 平稳性就是要求经由样本时间序列所得到的拟合曲线,在未来的一段期间内仍能顺着现有的形态“惯性”地延续下去
- 平稳性要求序列的均值和方差不发生明显变化
严平稳与弱平稳:
- 严平稳:严平稳表示的分布不随时间的改变而改变。白噪声:无论怎么取,期望是0,方差是1
- 弱平稳:期望与相关系数(依赖性)不变。未来某时刻的t的值依赖它的过去信息,所以需要依赖性
数据相对稳定:
自回归模型(AR)
- 描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测
- 自回归模型必须满足平稳性的要求
- p阶自回归过程的公式定义:
y
t
=
μ
+
∑
i
=
1
p
γ
i
y
t
?
i
+
?
t
y_t=\mu+\sum_{i=1}^p \gamma_iy_{t-i}+\epsilon_t
yt?=μ+∑i=1p?γi?yt?i?+?t?
-
y
t
y_t
yt?是当前值,
μ
\mu
μ是常数项,
P
P
P是阶数,
γ
i
\gamma_i
γi?是自相关系数,
?
t
\epsilon_t
?t?是误差
自回归模型的限制:
- 自回归模型是用自身的数据来进行预测
- 必须具有平稳性
- 必须具有自相关性,如果自相关系数
(
φ
i
)
<
0.5
(\varphi_i)<0.5
(φi?)<0.5,则不宜采用
- 自回归只适用于预测与自身前期相关的现象
移动平均模型(MA)
- 移动平均模型关注的是自回归模型中误差项的累加
- q阶自回归过程的公式定义:
y
t
=
μ
+
?
t
+
∑
i
=
1
q
θ
i
?
t
?
i
y_t=\mu+\epsilon_t+\sum_{i=1}^q \theta_i \epsilon_{t-i}
yt?=μ+?t?+∑i=1q?θi??t?i?
- 移动平均法能有效地消除预测中的随机波动
自回归移动平均模型:
(
A
R
M
A
)
(ARMA)
(ARMA)
- 自回归与移动平均的结合
- 公式定义:
y
t
=
μ
+
∑
i
=
1
p
γ
i
y
t
?
i
+
?
t
+
∑
i
=
1
q
θ
i
?
t
?
i
y_t=\mu+\sum_{i=1}^p\gamma_iy_{t-i}+\epsilon_t+\sum_{i=1}^q\theta_i\epsilon_{t-i}
yt?=μ+∑i=1p?γi?yt?i?+?t?+∑i=1q?θi??t?i?
ARIMA:差分自回归移动平均模型
将非平稳时间序列转化为平稳时间序列
然后将因变量仅对它滞后值以及随机误差项的现值和滞后值进行回归所建立的模型
选择p值和q值
自相关函数ACF
- 有序的随机变量序列与其自身相比较 自相关函数反映了同一序列在不同时序的取值之间的相关性
-
A
C
F
(
k
)
=
?
k
=
C
o
v
(
y
t
,
y
t
?
k
)
V
a
r
(
y
t
)
ACF(k)=\varrho_k=\frac{Cov(y_t,y_{t-k})}{Var(y_t)}
ACF(k)=?k?=Var(yt?)Cov(yt?,yt?k?)?
偏自相关函数(PACF)
- ACF中得到的并不是
x
(
t
)
x(t)
x(t)与
x
(
t
?
k
)
x(t-k)
x(t?k)之间单纯的相关关系
-
x
(
t
)
x(t)
x(t)同时还会受到
x
(
t
?
1
)
…
x
(
t
?
k
+
1
)
x(t-1) \dots x(t-k+1)
x(t?1)…x(t?k+1)的影响
- PACF剔除了中间
k
?
1
k-1
k?1个随机变量
x
(
t
?
1
)
,
…
,
x
(
t
?
k
+
1
)
x(t-1),\dots,x(t-k+1)
x(t?1),…,x(t?k+1)的干扰之后,
x
(
t
?
k
)
x(t-k)
x(t?k)对
x
(
t
)
x(t)
x(t)影响的相关程度
模型 | ACF | PACF |
---|
AR(p) | 衰减趋于0(几何型或振荡型) | p阶后结尾 | MA(q) | q阶后结尾 | 衰减趋于0(几何型或振荡型) | ARMA(p,q) | q阶后衰减趋于0(几何型或振荡型) | p阶后衰减趋于0(几何型或振荡型) |
截尾:落在置信区间之内(95%的点都符合该规则)
建模流程
- 将序列平稳(差分法确定d)
- p和q阶数确定:ACF与PACF
- ARIMA(p,d,q)
模型选择AIC与BIC:(越低越好)
AIC:赤池信息准则。
A
I
C
=
2
k
?
2
l
n
(
L
)
AIC=2k-2ln(L)
AIC=2k?2ln(L)
BIC:贝叶斯信息准则
B
I
C
=
k
l
n
(
n
)
?
2
l
n
(
L
)
BIC=kln(n)-2ln(L)
BIC=kln(n)?2ln(L)
k为模型参数个数,n为样本数量,L为似然函数
模型残差检验:
ARIMA模型的残差是否是平均值为0且方差为常数的正态分布
神经网络
一张图片在计算机中表示成三维数组的形式
K近邻算法
一个东西它最近的k个中更多属于哪个类,它就被划分到哪个类
对于未知类别属性数据集中的点:
- 计算已知类别数据集中的点和当前点的距离
- 按照距离依次排序
- 选取与当前点距离最小的k个点
- 确定前k个点所在类别的出现概率
- 返回前k个点出现频率最高的类别作为当前点预测分类
不需要训练,计算复杂度和训练集中的文档数目成正比,复杂度
O
(
n
)
O(n)
O(n)
距离计算:
d
1
(
I
1
.
I
2
)
=
∑
p
∣
I
1
p
?
I
2
P
∣
d_1(I_1.I_2)=\sum\limits_{p}|I_1^p-I_2^P|
d1?(I1?.I2?)=p∑?∣I1p??I2P?∣
距离也称为超参数
曼哈顿距离:
L
1
L1
L1:
d
1
(
I
1
,
I
2
)
=
∑
p
∣
I
1
P
?
I
2
p
∣
d_1(I_1,I_2)=\sum\limits_p|I_1^P-I_2^p|
d1?(I1?,I2?)=p∑?∣I1P??I2p?∣
欧式距离:
L
2
L2
L2:
d
2
(
I
1
,
I
2
)
=
∑
p
(
I
1
p
?
I
2
p
)
2
d_2(I_1,I_2)=\sqrt{\sum\limits_p(I_1^p-I_2^p)^2}
d2?(I1?,I2?)=p∑?(I1p??I2p?)2
?
K近邻参数确定:
采用交叉验证:将训练集去一部分作为验证集(调节模型参数)(交替取其中的一份作为验证集)
神经网络损失函数
L
i
=
1
N
∑
i
=
1
N
∑
j
≠
y
i
m
a
x
(
0
,
f
(
x
i
;
W
)
j
?
f
(
x
i
;
W
)
y
i
+
δ
)
L_i=\frac{1}{N} \sum_{i=1}^N\sum_{j \ne y_i}max(0,f(x_i;W)_j-f(x_i;W)_{y_i}+\delta)
Li?=N1?∑i=1N?∑j?=yi??max(0,f(xi?;W)j??f(xi?;W)yi??+δ)
δ
\delta
δ可容忍程度
正则化惩罚项
L
i
=
1
N
∑
i
=
1
N
∑
j
≠
y
i
m
a
x
(
0
,
f
(
x
i
;
W
)
j
?
f
(
x
i
;
W
)
y
i
+
δ
)
+
λ
∑
k
∑
l
W
k
,
l
2
L_i=\frac{1}{N} \sum_{i=1}^N\sum_{j \ne y_i}max(0,f(x_i;W)_j-f(x_i;W)_{y_i}+\delta)+\lambda \sum\limits_k \sum\limits_lW_{k,l}^2
Li?=N1?∑i=1N?∑j?=yi??max(0,f(xi?;W)j??f(xi?;W)yi??+δ)+λk∑?l∑?Wk,l2?
作用:惩罚权重参数
Softmax分类器
s
o
f
t
m
a
x
softmax
softmax输出:归一化的分类概率
损失函数:交叉熵损失
L
i
=
?
log
?
e
f
y
i
∑
j
e
f
j
L_i=-\log \frac{e^{f_{y_i}}}{\sum_je^{f_j}}
Li?=?log∑j?efj?efyi???
f
j
(
z
)
=
e
z
j
∑
k
e
z
k
f_j(z)=\frac{e^{z_j}}{\sum_ke^{z_k}}
fj?(z)=∑k?ezk?ezj??,称作softmax函数
输入值是一个向量,向量中元素为任意实数的评分值
输出一个向量,每个元素值在0到1之间,且所有元素之和为1
机器学习优化
反向传播
梯度下降
b
a
t
c
h
s
i
z
e
batchsize
batchsize:计算机承受的负载量,一次迭代多张(前向传播+反向传播)
训练中,整体趋势是收敛下降的
epoch:所有的数据都跑完一遍
反向传播中
加法门单元:均等分配
MAX门单元:给最大的
乘法门单元:互换
特点:
sigmoid函数梯度消失现象严重,已经不再采用
现在主要采用RELU
m
a
x
(
0
,
x
)
max(0,x)
max(0,x)
神经元数量越多,分类的效果越好
防止过拟合:正则化
数据预处理
权重初始化:b常量初始化,w随机
防止过拟合:
drop-out:训练的时候,随机保留一部分的神经元进行前向传播与反向传播
|