机器学习基础(Mechine Learning)
模型相关
机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线
机器学习之类别不平衡问题 (2) —— ROC和PR曲线
金句:曲线越靠近左上角,意味着越多的正例优先于负例(被判定为正例),模型的整体表现也就越好。可以看到位于随机线上方的点(如图中的A点)被认为好于随机猜测
ROC的特点:不受两类样本数量的比例的影响,两个轴都是两类的召回率相关。
什么时候用什么,主要和需求有关,如果只关注召回情况的话,那就ROC挺好。
PR曲线用了正样本的precision和recall,ROC用的是正负样本的recall,因此ROC不会受到样本类别不均衡的影响。
AUC的计算方法
多类auc
多类auc就是两两配对,取属于i类与j类的样本,分别将两者作为正样本然后算两个auc取平均值,作为一个A(i,j),然后对全部的A(i,j)求平均值
偏差方差分解
偏差和方差是用来评估算法在某一问题上的好坏的,而不是用来评估具体哪个模型的好坏。bias讲的是这个算法输出的模型是否有能力拟合当前问题的数据(即使var很大,只要bias很小,也能说明这个算法有能力拟合数据,因为输入一变,模型就变,这恰恰说明了这个算法非常敏感);var讲的是这个算法输出的模型是否稳定。两方面都会对损失造成影响。
E
(
(
f
−
f
ˉ
)
(
f
ˉ
−
y
D
)
)
=
0
E((f-\bar{f})(\bar{f}-y_D))=0
E((f−fˉ)(fˉ−yD))=0,你把乘号拆开就能看出来了,并且
E
(
f
y
)
=
E
(
f
)
E
(
y
)
E(fy)=E(f)E(y)
E(fy)=E(f)E(y),因为独立,
E
(
(
f
ˉ
−
y
)
(
y
−
y
D
)
)
E((\bar{f}-y)(y-y_D))
E((fˉ−y)(y−yD))也是同理,乘号拆开,把
y
D
=
y
+
ϵ
y_D=y+\epsilon
yD=y+ϵ带入进去也能看出来。并且相互独立的两个自变量的乘积的期望等于期望的乘积
生成模型与判别模型
生成模型只学分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y),判别模型只学边界
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)
最大熵模型原理小结
最大熵解释:首先需要明确,最大熵模型是一个判别模型,所以它需要学习的是
P
(
y
∣
x
)
P(y|x)
P(y∣x);其次,最大熵模型需要满足
E
P
‾
(
f
)
=
E
P
(
f
)
E_{\overline{P}}(f) = E_{P}(f)
EP(f)=EP(f)等式约束,其中
f
(
x
,
y
)
=
{
1
x
与
y
满
足
某
个
关
系
0
否
则
f(x,y)= \begin{cases} 1& {x与y满足某个关系}\\ 0& {否则} \end{cases}
f(x,y)={10x与y满足某个关系否则 举例来讲,如果某个样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)在训练集里出现过,那么这个样本对应的
f
(
x
i
,
y
i
)
=
1
f(x_i,y_i)=1
f(xi,yi)=1;然后,
E
P
‾
(
f
)
=
∑
x
,
y
P
‾
(
x
,
y
)
f
(
x
,
y
)
E_{\overline{P}}(f) = \sum\limits_{x,y}\overline{P}(x,y)f(x,y)
EP(f)=x,y∑P(x,y)f(x,y)这个式子指的是
f
f
f在当前经验联合分布下的期望;
E
P
(
f
)
=
∑
x
,
y
P
‾
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
E_{P}(f) = \sum\limits_{x,y}\overline{P}(x)P(y|x)f(x,y)
EP(f)=x,y∑P(x)P(y∣x)f(x,y)是用学到的
P
(
y
∣
x
)
P(y|x)
P(y∣x)和经验分布
P
‾
(
x
)
\overline{P}(x)
P(x)的求得的
f
f
f的期望,我们需要这两者相同;最后,最大熵的意义就是,在满足上面的条件的情况下,从所有满足条件的
P
(
y
∣
x
)
P(y|x)
P(y∣x)找一个可以使得模型的熵最大的
P
(
y
∣
x
)
P(y|x)
P(y∣x)作为最终的输出模型。
熵的公式为
H
(
P
)
=
H
(
Y
∣
X
)
=
−
∑
x
,
y
P
‾
(
x
)
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
=
−
∑
x
P
‾
(
x
)
∑
y
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
\begin{aligned} H(P) = &H(Y|X) \\= &-\sum\limits_{x,y}\overline{P}(x)P(y|x)logP(y|x)=-\sum\limits_{x}\overline{P}(x)\sum\limits_{y}P(y|x)logP(y|x) \end{aligned}
H(P)==H(Y∣X)−x,y∑P(x)P(y∣x)logP(y∣x)=−x∑P(x)y∑P(y∣x)logP(y∣x),这个式子的实际上就是条件熵,代表的是给定
x
x
x的情况下
y
y
y的不确定性;举例来讲,假如
x
,
y
x,y
x,y分别代表特征和标签,
P
‾
(
x
)
\overline{P}(x)
P(x)代表的是某个特征是
x
x
x的样本的出现的概率,后面的求和项是当特征为
x
x
x的时候,当前模型
P
(
y
∣
x
)
P(y|x)
P(y∣x)的熵,更进一步,如果是两类问题,那么当前模型对于此样本预测为正负样本的概率都是0.5的时候,其熵最大
Instance Based Learning
什么是Grid Search 网格搜索?
贝叶斯优化
输入一个参数
x
1
x_1
x1,获得一个评价指标
y
1
y_1
y1,然后丢进
D
D
D里,然后根据历史的
x
,
y
x,y
x,y选取新的
x
x
x
正则化为什么能防止过拟合(重点地方标红了)
过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。
小权重意味着网络的行为不会因为我们随意更改了一些输入而改变太多。这使得它不容易学习到数据中局部噪声。大权重会带来病态模型问题。
『科学计算』L0、L1与L2范数_理解
为啥L1的结果比L2稀疏,从优化和等高线是一个解释方法,另一个解释方法是,L2范数在0附近的梯度下降速度变慢。《百面》里对于等高线为什么一个是圆一个方的解释也很好,把目标函数拉格朗日方程,还原成优化问题就能看出来了。
至于L2对于病态条件的处理(这里的病态条件讲的真好),病态条件可以理解为,系统对输入特别敏感,比如说输入就是训练数据,系统就是那些参数,训练数据变一点点,系统的参数就会有巨大的变化。那如果加了L2范数,就会抑制这种情况的发生,因为L2范数要求了模型的参数尽量不要太大。
L0、L1、L2范数在机器学习中的应用
对于概率的解释很好,实际做的是,假设参数是符合高斯或者拉普拉斯先验分布,然后对其进行最大后验估计,和最大化带L1L2的损失函数一样
样本处理
数据预处理
清理、集成、规约、变换
距离计算方法总结
训练集、测试集和验证集
离群点(孤立点、异常值)检测方法
机器学习 —— 类不平衡问题与SMOTE过采样算法
数据归一化和两种常用的归一化方法
再谈机器学习中的归一化方法(Normalization Method)
特征工程中的「归一化」有什么作用? - 微调的回答 - 知乎
有明确的最大值最小值,或者分布比较稳定的时候,可以用归一化
如果说我们的样本分别是
x
0
=
[
0
,
0
]
,
x
1
=
[
0.1
,
0.01
]
,
.
.
.
,
x
9
=
[
0.9
,
0.09
]
,
x
10
=
[
1
,
1
]
x_0=[0,0],x_1=[0.1,0.01],...,x_9=[0.9,0.09],x_{10}=[1,1]
x0=[0,0],x1=[0.1,0.01],...,x9=[0.9,0.09],x10=[1,1],对每个特征进行归一化,结果是不变的,因为两者最大值最小值相同,但是从数据上来看,两个特征的量纲完全不一样才对,距离来讲,如果一个样本是[0.1,0.1],另一个样本是[1,1],在这两维度特征上的距离都是0.9,但从上面的数据分布可以看出,第二个特征上的差距虽然是0.9,但是其实际代表的距离应该远远大于第一个特征上代表的距离0.9
z-score如何解决这个问题呢,就是均值和方差,第二个特征的均值会稍微倾斜,但方差不会很大,标准化后,会把第二维度的特征的分布变得比原来发散一些。
另外z-score有个隐含的优势是,标准化之后两个特征的协方差等于标准化之前两个特征的pearson相关系数,pearson相关系数是可以直接相互比较大小的
特征离散化(分箱)综述
特征工程
特征工程到底是什么? - 城东的回答 - 知乎
机器学习中的特征——特征选择的方法以及注意点
利用K-L变换进行特征提取
K-L变换的变换矩阵可以有很多种(二阶矩阵、协方差矩阵、总类内离散度矩阵等等)。当K-L变换矩阵为协方差矩阵时,等同于PCA。
奇异值分解(SVD)原理
需要知道的是
A
x
Ax
Ax可以理解为将向量
x
x
x放入一个新的坐标系中,比如
A
=
[
2
2
−
2
2
2
2
2
2
]
=
[
w
1
,
w
2
]
,
x
=
[
0
,
1
]
T
A=\begin{bmatrix} \frac{\sqrt{2}}{2} & - \frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix}=[w_1,w_2],x=[0,1]^T
A=[2222−2222]=[w1,w2],x=[0,1]T,那么
A
T
x
=
[
w
1
T
x
,
w
2
T
x
]
T
A^Tx=[w_1^Tx,w_2^Tx]^T
ATx=[w1Tx,w2Tx]T就相当于把
x
x
x放进一个逆时针旋转了45度并且没有进行放缩的新坐标系中(如果不是正交矩阵,那就会有放缩),新坐标系的基向量在原坐标系中的表示分别是
w
1
,
w
2
w_1,w_2
w1,w2,理解起来很简单,高数里学过
w
1
T
x
=
∣
w
1
∣
∗
∣
x
∣
∗
c
o
s
(
θ
)
w_1^Tx=|w_1|*|x|*cos(\theta)
w1Tx=∣w1∣∗∣x∣∗cos(θ)就是
x
x
x在单位向量
w
1
w_1
w1上的投影长度。
主成分分析(PCA)原理总结
首先讲解如何用
x
x
x得到
z
z
z:假设经过投影变换后没有经过维度降低,且新坐标系的标准正交基为
W
′
=
[
w
1
,
w
2
,
.
.
.
,
w
n
]
W'=[w_1,w_2,...,w_n]
W′=[w1,w2,...,wn],其中
∣
∣
w
i
∣
∣
2
2
=
1
,
w
i
T
w
j
=
0
||w_i||_2^2=1,w_i^Tw_j=0
∣∣wi∣∣22=1,wiTwj=0,那么向量
x
x
x在该坐标系下的坐标就是
(
W
′
)
T
x
(W')^Tx
(W′)Tx,然后我们进行维度降低,从
W
′
W'
W′中丢弃几个列向量从而获得
W
=
[
w
1
,
w
2
,
.
.
.
,
w
n
′
]
W=[w_1,w_2,...,w_{n'}]
W=[w1,w2,...,wn′],于是可以得到
z
=
W
T
x
z=W^Tx
z=WTx。举例来讲,如果
W
′
=
[
2
2
−
2
2
2
2
2
2
]
=
[
w
1
,
w
2
]
,
x
=
[
0
,
1
]
T
W'=\begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix}=[w_1,w_2],x=[0,1]^T
W′=[2222−2222]=[w1,w2],x=[0,1]T,然后抛弃
w
1
w_1
w1获得
W
=
[
w
2
]
W=[w_2]
W=[w2]那么
z
=
W
T
x
=
[
2
2
]
z=W^Tx=[\frac{\sqrt{2}}{2}]
z=WTx=[22]就相当于把
x
x
x先投影到一个基向量为
w
1
,
w
2
w_1,w_2
w1,w2的新坐标系中(即将坐标系逆时针旋转了45度),然后将
w
1
w_1
w1代表的坐标轴抛弃,就获得了一个降维后的一维坐标向量;
那如何用
z
z
z恢复
x
x
x呢:通过上一步可以看出,从
W
′
W'
W′到
W
W
W我们抛弃了一些基向量,因此恢复
x
x
x的时候一定是有损的,记为
x
ˉ
\bar{x}
xˉ。直观上看,把新坐标轴反着之前的方法变回去就可以了,换句话说,之前的变换是通过
W
W
W进行的,现在要反过来变回去就需要通过
W
T
W^T
WT,就有
x
ˉ
=
(
W
T
)
T
z
=
W
z
\bar{x}=(W^T)^Tz=Wz
xˉ=(WT)Tz=Wz。距离来讲,还是上面的例子,现在
z
=
[
2
2
]
z=[\frac{\sqrt{2}}{2}]
z=[22],那么恢复的时候
x
ˉ
=
W
z
=
[
1
2
,
1
2
]
T
\bar{x}=Wz=[\frac{1}{2},\frac{1}{2}]^T
xˉ=Wz=[21,21]T,这相当于将一维坐标系坐标系顺时针旋转45度,转回来了。再不理解,你画个图看看。
综上,
x
ˉ
=
W
z
=
W
W
T
x
\bar{x}=Wz=WW^Tx
xˉ=Wz=WWTx
W
T
W
=
[
w
1
T
⋮
w
n
′
]
[
w
1
⋯
w
n
′
]
=
I
W^TW=\begin{bmatrix} w_1^T \\ \vdots\\w_{n'} \end{bmatrix} \begin{bmatrix} w_1&\cdots&w_{n'} \end{bmatrix}=I
WTW=⎣⎢⎡w1T⋮wn′⎦⎥⎤[w1⋯wn′]=I但
W
W
T
WW^T
WWT是什么就不好说了,因为他不是方阵
以下推导中,
z
i
,
x
i
,
w
i
z_i,x_i,w_i
zi,xi,wi均为列向量,
Z
=
[
z
1
,
.
.
.
,
z
m
]
,
X
=
[
x
1
,
.
.
.
,
x
m
]
,
W
=
[
w
1
,
.
.
.
,
w
n
′
]
Z=[z_1,...,z_m],X=[x_1,...,x_m],W=[w_1,...,w_{n'}]
Z=[z1,...,zm],X=[x1,...,xm],W=[w1,...,wn′]
基于最小距离的推导太复杂了,还是基于最大方差的简单,每个样本带来的方差是
(
z
i
−
μ
)
T
(
z
i
−
μ
)
(z_i-\mu)^T(z_i-\mu)
(zi−μ)T(zi−μ),由于均值为0,所以就是
z
i
T
z
i
z_i^Tz_i
ziTzi。希望在新的坐标系里方差最小,于是有
∑
i
z
i
T
z
i
\sum_i z_i^Tz_i
∑iziTzi最小,推导和下面就一样了。
需要注意的是
∑
i
z
i
T
z
i
\sum_i z_i^Tz_i
∑iziTzi等价于先对每一个特征求方差,然后对所有特征的方差求和
∑
i
=
1
m
∣
∣
x
‾
i
−
x
i
∣
∣
2
2
=
−
∑
i
=
1
m
z
i
T
z
i
+
∑
i
=
1
m
x
i
T
x
i
=
t
r
(
[
z
1
T
z
1
⋯
z
1
T
z
m
⋮
⋱
⋮
z
m
T
z
1
⋯
z
m
T
z
m
]
)
+
∑
i
=
1
m
x
i
T
x
i
=
−
t
r
(
Z
T
Z
)
+
∑
i
=
1
m
x
i
T
x
i
=
−
t
r
(
X
T
W
W
T
X
)
+
∑
i
=
1
m
x
i
T
x
i
\begin{aligned} \sum_{i=1}^{m}||\overline{x}_i - x_i||_2^2 & = - \sum_{i=1}^{m}z_i^Tz_i + \sum_{i=1}^{m} x_i^Tx_i =tr(\begin{bmatrix} z_1^Tz_1 & \cdots &z_1^Tz_m \\ \vdots &\ddots & \vdots \\ z_m^Tz_1 & \cdots &z_m^Tz_m \end{bmatrix}) + \sum_{i=1}^{m} x_i^Tx_i\\ & = -tr(Z^TZ)+ \sum_{i=1}^{m} x_i^Tx^i \\& = -tr( X^TWW^TX) + \sum_{i=1}^{m} x_i^Tx_i \end{aligned}
i=1∑m∣∣xi−xi∣∣22=−i=1∑mziTzi+i=1∑mxiTxi=tr(⎣⎢⎡z1Tz1⋮zmTz1⋯⋱⋯z1Tzm⋮zmTzm⎦⎥⎤)+i=1∑mxiTxi=−tr(ZTZ)+i=1∑mxiTxi=−tr(XTWWTX)+i=1∑mxiTxi
另外,如果矩阵
A
,
B
A,B
A,B都是维度刚好对称的话(比如A是5*3,B是3*5),那么有
t
r
(
A
B
)
=
t
r
(
B
A
)
tr(AB)=tr(BA)
tr(AB)=tr(BA),
∂
t
r
(
A
B
)
∂
B
=
∂
t
r
(
B
A
)
∂
B
=
A
T
\frac{\partial tr(AB)}{\partial B}=\frac{\partial tr(BA)}{\partial B}=A^T
∂B∂tr(AB)=∂B∂tr(BA)=AT,
t
r
(
∂
X
T
W
W
T
X
)
∂
W
=
∂
X
T
W
∂
W
t
r
(
∂
X
T
W
W
T
X
)
∂
X
T
W
=
X
X
T
W
\frac{tr(\partial X^TWW^TX)}{\partial W}=\frac{\partial X^TW}{\partial W} \frac{tr(\partial X^TWW^TX)}{\partial X^TW}=XX^TW
∂Wtr(∂XTWWTX)=∂W∂XTW∂XTWtr(∂XTWWTX)=XXTW,
∂
A
T
B
∂
B
=
A
\frac{\partial A^TB}{\partial B}=A
∂B∂ATB=A
在PCA算法的应用中,如果特征矩阵定义成了
X
∈
R
m
∗
n
X\in R^{m*n}
X∈Rm∗n并且
x
i
j
x_{ij}
xij代表第
j
j
j个样本的第
i
i
i个特征,即
n
n
n个样本,每个样本
m
m
m个特征,由于PCA需要求每两个特征的协方差矩阵(
c
o
v
(
a
i
,
a
j
)
=
E
[
(
a
i
−
E
a
i
)
(
a
j
−
E
a
j
)
]
=
∑
k
=
1
n
(
x
i
k
−
x
ˉ
i
k
)
(
x
j
k
−
x
ˉ
j
k
)
n
−
1
cov(a_i,a_j)=E[(a_i-Ea_i)(a_j-Ea_j)]=\frac{\sum_{k=1}^{n}(x_{ik}-\bar{x}_{ik})(x_{jk}-\bar{x}_{jk})}{n-1}
cov(ai,aj)=E[(ai−Eai)(aj−Eaj)]=n−1∑k=1n(xik−xˉik)(xjk−xˉjk)),于是先把特征归一化,让每个特征的均值为0,由于分母是常数并且最后要对特征向量归一化,所以可以不用管分母,这样,
X
X
T
XX^T
XXT就代表了没有分母的协方差矩阵,他是一个
m
∗
m
m*m
m∗m的对称方阵,其中第
i
i
i行第
j
j
j列的元素等于
∑
k
=
1
n
x
i
k
x
j
k
\sum_{k=1}^{n}x_{ik}x_{jk}
∑k=1nxikxjk即第i个特征和第j个特征的协方差乘以
n
−
1
n-1
n−1,也因此,每个特征向量都是一个
m
m
m维的列向量,如果选取特征值最高的
r
r
r个特征向量,则可以组成一个特征向量矩阵
W
∈
R
m
∗
r
W\in R^{m*r}
W∈Rm∗r,于是降维之后的特征就变成了
Z
=
W
T
X
∈
R
r
∗
n
Z=W^TX\in R^{r*n}
Z=WTX∈Rr∗n,即降维至
r
r
r维
PCA为什么要进行中心化
PCA必须要均值化,sklearn的实现里,不管你输入的是什么,内部都先均值化了。以最小投影距离的角度,左图里最小投影距离对应的特征向量的确就应该是那样的,因为每个点到远点的距离都很远,最小投影距离的特征向量就不是像右图那样从左上指向右下的了。
极端例子,如果所有样本点都处于支线
y
=
−
x
+
1000
y=-x+1000
y=−x+1000上并且处于(500,500)附近,那么这个时候,最小投影距离的点向量是什么,不是(-1,-1),而是(1,1),因为所有点距离远点都太远了。所以PCA里规定必须要0均值。而从最大投影方差的角度,如果没有提前0均值,那么最后的优化问题就不是
−
t
r
(
X
T
W
W
T
X
)
-tr( X^TWW^TX)
−tr(XTWWTX),而应该是
−
t
r
(
(
X
T
−
μ
T
)
W
W
T
(
X
−
μ
)
)
-tr( (X^T-\mu^T)WW^T(X-\mu))
−tr((XT−μT)WWT(X−μ))
奇异值分解(SVD)原理
SVD核心是通过选取最大的奇异值并用那三个矩阵来近似原特征矩阵A。为什么可以近似呢,因为一些很小的奇异值对于最终的矩阵A的值贡献非常少。举例来讲,下面都是列向量
[
u
1
,
u
2
]
[
1000
0
0
0.001
]
[
v
1
,
v
2
]
T
=
1000
u
1
∗
v
1
T
+
0.001
u
2
∗
v
2
T
[u_1,u_2]\begin{bmatrix} 1000 & 0 \\ 0 & 0.001 \end{bmatrix}[v_1,v_2]^T=1000u_1*v_1^T+0.001u_2*v_2^T
[u1,u2][1000000.001][v1,v2]T=1000u1∗v1T+0.001u2∗v2T显然,可以把第二项删掉
既可以用来各种机器学习算法,也可以用来压缩数据,比如A是一张512*512的图片,如果用SVD来存储的话,如果选择最大的前100个奇异值,那就存200个特征向量(512维)加200个特征值就可以了
SVD那篇博客里,矩阵A的每一行代表一个样本,因此
A
T
A
A^TA
ATA等价于PCA那篇博客里的
X
X
T
XX^T
XXT,SVD算法中的右奇异矩阵
V
V
V等于PCA算法中的特征向量矩阵
W
W
W,不过这玩意也不绝对,看矩阵是怎么定义的。
SVD之后V的行少了,U的列也少了,怎么解释呢,刚刚提到过,U和V其中一个对应了PCA里的降维后的特征轴:
如果现在每一行代表一个样本,每一列代表一个特征,那么对
A
T
A
A^TA
ATA进行特征值分解求右奇异矩阵等价于PCA算法,比如说现在有个坐标系,x轴是特征1,y轴是特征2,坐标系上的每个点代表一个样本,如果多数样本的特征1和特征2是线性关系,那就说明这两个特征是冗余,右奇异矩阵就可以把特征1和特征2合并成一个新特征;
对
A
A
T
AA^T
AAT进行特征分解求左奇异矩阵怎么理解呢:先换个思维,A矩阵里的第1行代表第1个样本在所有特征上的取值,比如说现在有一个平面坐标系,x轴是样本1,y轴是样本2(不太好理解,请类比于特征坐标系),那坐标系上的每一个点都代表着这两个样本在同一个特征上的取值,如果多数特征上这两个样本的取值是线性关系,那就说明这两个样本是冗余,左奇异矩阵可以把这两个样本构建成一个新样本。
类间距离大,类内方差小,只能降低到少于类别数目的维度上。并且用的也是k个最大的特征向量
面用了很多矩阵知识,假如特征矩阵为
X
=
[
x
1
,
x
2
,
.
.
.
]
X=[x_1,x_2,...]
X=[x1,x2,...],列向量代表一个样本,设均值为0向量,那么协方差(
c
o
v
(
a
i
,
a
j
)
=
E
[
(
a
i
−
E
a
i
)
(
a
j
−
E
a
j
)
]
=
∑
k
=
1
n
(
x
i
k
−
x
ˉ
i
k
)
(
x
j
k
−
x
ˉ
j
k
)
n
−
1
cov(a_i,a_j)=E[(a_i-Ea_i)(a_j-Ea_j)]=\frac{\sum_{k=1}^{n}(x_{ik}-\bar{x}_{ik})(x_{jk}-\bar{x}_{jk})}{n-1}
cov(ai,aj)=E[(ai−Eai)(aj−Eaj)]=n−1∑k=1n(xik−xˉik)(xjk−xˉjk),意义就是,捞出一个样本,然后计算这个样本的第i个和第j个特征减去各自均值的乘积,再对所有乘积求和),因此协方差矩阵就是
∑
x
i
x
i
T
=
X
X
T
\sum x_ix_i^T=XX^T
∑xixiT=XXT,而
∑
x
i
T
x
i
\sum x_i^Tx_i
∑xiTxi就是所有特征的方差的和,其实就是
t
r
(
X
X
T
)
tr(XX^T)
tr(XXT)
LDA里用的就是协方差矩阵,但是只用了对角线,实际上也就是方差的和
文本挖掘预处理之向量化与Hash Trick
用可视化思维解读统计自由度
结合日常生活的例子,了解什么是卡方检验
增强学习(Reinforcement Learning)
增强学习基础
强化学习系列(上):关于强化学习,你需要知道的重要知识点
强化学习系列(下):贝尔曼方程
强化学习学习笔记列表
刘建平强化学习
理解一下bellman方程吧,强化学习后序就不看了,看不明白,感觉也用不上
v
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
q
π
(
s
,
a
)
v_{\pi}(s) = \sum\limits_{a \in A} \pi(a|s)q_{\pi}(s,a)
vπ(s)=a∈A∑π(a∣s)qπ(s,a),
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)代表的是当前状态为
s
s
s的时候,采取行动
a
a
a的概率,因此
π
\pi
π可以看做决策,
q
π
(
s
,
a
)
q_{\pi}(s,a)
qπ(s,a)代表的是当前状态为
s
s
s的时候并且采取行动
a
a
a时候的收益,因此
v
π
(
s
)
v_{\pi}(s)
vπ(s)代表的就是在当前决策之下并且状态为
s
s
s时候的收益
q
π
(
s
,
a
)
=
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
v
π
(
s
′
)
q_{\pi}(s,a) = R_s^a + \gamma \sum\limits_{s' \in S}P_{ss'}^av_{\pi}(s')
qπ(s,a)=Rsa+γs′∈S∑Pss′avπ(s′),
R
s
a
R_s^a
Rsa代表的是当状态为
s
s
s,采取行动为
a
a
a时的直接收益;
P
s
s
′
a
P_{ss'}^a
Pss′a是当前状态为
s
s
s,采取了行动
a
a
a,然后下一时刻状态为
s
′
s'
s′的概率;
v
v
v的含义同上。因此
q
π
(
s
,
a
)
q_\pi(s,a)
qπ(s,a)代表的就是当前状态为s,并且采取行动a的时候的收益。