机器学作业知识点复习

1.机器学习分类:监督学习、无监督学习、强化学习、半监督学习、主动学习

①监督学习:从标注数据中学习预测模型

②无监督学习:从无标注数据中学习预测模型

③强化学习:智能系统在与环境的连续互动中学习最优策略的模型

④半监督学习:从标注数据和无标注数据中学习预测模型

⑤主动学习:机器不断给实例让教师标注,再在标注数据中学习预测模型

2.机器学习涉及的要素为模型、策略和算法

(1)模型

监督学习中模型是要学习的条件概率或决策函数

模型的假设空间:包含所有可能的条件概率分布或决策函数

非概率模型:由决策函数表示的模型

概率模型:由条件概率表示的模型

(2)策略

按照什么准则学习或选择最优模型

①损失函数loss或代价cost函数(度量模型一次预测的好坏)和风险函数risk或期望expected函数(度量平均意义下模型预测的好坏),后者是前者的期望

②经验风险最小化ERM(认为经验风险最小的模型是最优模型)和结构风险最小化SRM(防止过拟合,等价于正则化)

(3)算法

学习模型的具体计算方法

统计学习的过程:基于训练数据集,根据学习策略,从假设空间中选最优模型,最后考虑求解最优模型的计算方法。

统计学习问题→最优化问题

统计学习算法→求解最优化问题的算法

①最优化问题有显式解析解,求解该最优化问题比较简单

②最优化问题不存在解析解,需要用数值计算方法求解

而如何找到全局最优解,同时求解过程比较高效也非常重要

3.用二次函数拟合数据点(x,y),并用最大似然估计求系数,并计算拟合残差

二次函数$f(x,w)=w_2x^2+w_1x+w_0$

最大似然估计系数$w=arg{min}_w\sum (y-f(x,w))^2$

上面损失函数对$w$求导等于0解出$w$就好啦

剩下的一些tricks是,首先求导是需要运用链式法则,也就是$f(x,w)$也要对$w$求导乘在后面

其次是可以利用矩阵表示方程组,同时考虑需要求的$w_2,w_1,w_0$可以放在一个向量里面,是线性方程组的变量

然后有一些含$x$的各种和的常数是线性方程组的系数矩阵

再把方程组等号右边的含$x,y$的常系数放进系数矩阵就变成增广矩阵

最后写出做初等变换后的线性方程组,再求解,就可以求出所需要的系数了

(求解例子中概念不清楚可以看 §1 线性方程组的解法 - 山大人孔乙己的文章 - 知乎 https://zhuanlan.zhihu.com/p/202713223

求解线性方程组的例子如下

$\left\{ \begin{aligned}x_1+3x_2+x_3&=2&①\space\\ 3x_1+4x_2+2x_3&=9&②\space\\ -x_1-5x_2+4x_3&=10&③\space\\ 2x_1+7x_2 +x_3&=1 &④\space\end{aligned} \right.$

增广矩阵

$\begin{pmatrix} 1&3&1&2\\ 3&4&2&9\\ -1&-5&4&10\\ 2&7&3&1 \end{pmatrix}$

step1 消去$x_1$(将①依次乘某些系数,与②③④相加)得$\begin{pmatrix} 1&3&1&2\\ 0&-5&-1&3\\ 0&-2&5&12\\ 0&1&-1&3 \end{pmatrix}$

step2 ②④互换得$\begin{pmatrix} 1&3&1&2\\  0&1&-1&3\\ 0&-2&5&12\\ 0&-5&-1&3  \end{pmatrix}$

step3 消去$x_2$(②依次乘某些系数,与③④相加)$\begin{pmatrix} 1&3&1&2\\  0&1&-1&3\\ 0&0&3&6\\ 0&0&-6&-12  \end{pmatrix}$

step4 将③代入④ $\begin{pmatrix} 1&3&1&2\\  0&1&-1&3\\ 0&0&3&6\\ 0&0&0&0  \end{pmatrix}$

step5 继续化简为行最简型$\begin{pmatrix} 1&0&0&-15\\  0&1&0&-1\\ 0&0&1&2\\ 0&0&0&0  \end{pmatrix}$

得到$\left\{\begin{matrix} &x_1=&-15\\ &x_2=&-1\\& x_3=&2 \end{matrix}\right.$

记住这里要计算的拟合残差是每个(x,y)都有一个残差!而不是只有一个总的残差

4.用二次函数拟合数据点(x,y),其中y观测值服从高斯分布(0,$\sigma _1$),用最大后验准则求系数,其中系数满足正态分布(0,$\sigma _2$)

二次函数$f(x,w)=w_2x^2+w_1x+w_0$

最大后验准则$\displaystyle{w=arg{min}_w ln(exp(-\frac{w^2}{2\sigma _1 ^2})\prod exp(-\frac{(y-f(x,w))^2}{2\sigma _2 ^2}))}=arg{min}_w -\frac{w^2}{2\sigma _1 ^2}-\frac{(y-f(x,w))^2}{2\sigma _2 ^2}$

对$argmin$后面的式子求导,令其等于0,用与上题同样的方法求解$w$即可

结果的不同之处在于系数矩阵对角线处会加上一个和$\sigma _1$和$\sigma _2$相关的常数项

5.画计算图,用链式法则计算梯度

计算图是高效计算梯度的方法,特别适合f比较复杂的情况

计算图理论:用图的形式表达复杂的、多层的运算,其中边是变量(比如标量、矢量、矩阵和张量),而边则代表运算。

利用计算图理论可以反向求梯度

若$f(x)=\sqrt{x^2+exp(x^2)}+cos(x^2+exp(x^2))$

则设置一些中间变量如下:

$a=x^2$

$b=exp(a)$

$c=a+b$

$d=\sqrt{(c)}$

$e=cos(c)$

$f=d+e$

 就是用链式法则把f一层一层剥开,你明白我的意思吗(微笑.jpg)

6.矢量微积分的公式及其证明

就证明而言,先让所有向量都是列向量是做此类证明题的基础。

然后可以运用矩阵的运算方法先把分子的向量乘积展开,再展开分母的分量,最后可以得到求偏导的结果,再整理成向量即可

可以看The Matrix Cookbook

 

 

 

  

 

  

 

 

 6.感知机权重的学习过程

当然可以直接代入$z=sgn(w_1x+w_2y+b)$

求出$z$和数据集里的是否相同,不相同就用w的更新公式$w=w+\eta xz$,其中$\eta $是步长

如果比较复杂的话,不如先写出空间一点到超平面的距离公式,然后写出误分类公式$-z(w_1x+w_2y+b) \geq 0$,得到误分类集,用它来更新w

 7.LDA算法的降维计算过程

到今天才理解LDA算法的具体含义,我对题目的理解有错,凭什么作业可以拿A?

(我就知道自己做,没有参考答案很难做对,所以像我这样的人是不是不适合做研究)

所以助教是在可怜我吗哈哈哈哈哈!!!!

但是另一门实验课的助教可就没有可怜我们啦!属于是笨蛋上了一个不是自己等级的学校(小心捧杀哦),是不是该想想怎么蒙混过关吧……

LDA算法是一种降维算法,如果题目给出了一组有数据点,其中x是二维向量,y是分类的类别,那么LDA将降低x维度,把它从二维变成一维。

具体做法:以二分类(y=0,1),二属性(x二维)数据为例

①根据题目数据点求得两类x的两个属性的平均值,分别得到两类的数据中心μ0和μ1

②分别求两类的协方差矩阵Σ0=∑(x-μ0)(x-μ0)^T,Σ1=∑(x-μ1)(x-μ1)^T

③类内散度Sw=Σ0+Σ1(因为两个协方差矩阵都是自己类数据点和自己类中心的距离,所以叫类内)

④类间散度Sb=(μ0-μ1)(μ0-μ1)^T(因为这是在计算两类中心点的距离)

⑤(因为我们要最大化不同类投影数据点的距离,最小化同类投影数据点间的距离,所以这里有一个最优化问题详见周志华机器学习书p61-62,这里只写出求w的步骤)

经过最优化后w=Sw^(-1)(μ0-μ1)

(1)求逆矩阵Sw^(-1)之手算法,但还是推荐用代码算哈

$A=\begin{pmatrix}a & b \\\\c & d\end{pmatrix}  求A^{-1}$

$A^{-1}=\frac{1}{ad-bc}\begin{pmatrix}d& -b\\\\-c& a\end{pmatrix}  $

$=\begin{pmatrix}\dfrac{d}{ad-bc} & -\dfrac{b}{ad-bc} \\\\-\dfrac{c}{ad-bc} & \dfrac{a}{ad-bc}  \end{pmatrix}$

(2)求得投影方向w,然后归一化/标准化/变成单位向量一下(得到w是一个分量都不超过1的列向量)

  

1.归一化:将训练集中某一列数值特征的值缩放到0和1之间

$X_{norm}=\frac{X-X_{min}}{X_{max}-X_{min}} \\$

2.标准化:将训练集中某一列数值特征的值缩放成均值为0,方差为1的状态

$X_{std} = \frac{X-\mu}{\sigma} \\$

w^T·x,其中w^T变成行向量(1*2),x依然是列向量(2*1)

最后结果是(1*1)的一个值,这样就做到了对x降维

8.证明迭代收敛条件的方法

我的做法是查很多资料然后找到一些高阶的最优化知识,然后抄抄算算,感觉自己写出来了……(看起来助教并没有打勾)

只能说也许不需要特别高阶的知识,可以尝试用高中的方法就可以证明收敛

什么是收敛呢,就是随着自变量的增大,你的因变量不再发生变化,稳定在一个数了

求收敛条件,就是消去会导致因变量变化的那些因素

若迭代条件X(i+1)=Xi-αf'(x)

X(i+1)是X的下标是i+1的意思

【法1】

令迭代公式的右边为一个函数g(Xi)=Xi-αf'(Xi)

那么由收敛可以得到Xi=Xi+1也就是上式的左边,这下g(Xi)=Xi就是收敛临界点,收敛条件是|g(Xi)|<Xi

也就是|g'(Xi)|<1,解一下不等式就可以得到0<α<2*1/f''(x)

【法2】

设函数f(x)=ax^2+bx+c

f'(x)=2ax+b

X(i+1)=Xi-α(2aXi+b)=(1-2aα)Xi-αb

X(i+n)=(1-2aα)X(i+n-1)-αb=(1-2aα)(1-2aα)·X(i+n-2)-αb·(1-2aα)-αb=(1-2aα)(1-2aα)(1-2aα)·X(i+n-3)-αb·(1-2aα)(1-2aα)-αb·(1-2aα)-αb=(1-2aα)^n·X(i)-αb·[∑(k=0,n-1)(1-2aα)^k]

然后收敛的条件是(1-2aα)^n→0,[∑(i=0,n-1)(1-2aα)]→0

|1-2aα|<1即-1<1-2aα<1,故0<α<1/a

而a=f''(x)/2,故0<α<1/a=2/f''(x)

9.类别不平衡

“一对一”(One vs. One,简称OvO )、 “一对其余“(One vs. Rest,简称 OvR)和 "多对多 " (Many vs. Many ,简称 MvM).

OvR和MvM问题中,对每个类进行了相同的处理,因此拆解出的二分类任务中不平衡会相互抵消,一般不用专门处理。

但就算原始问题里,不同类别的训练样例数目相同,在用OvR、MvM策略后产生的二分类问题也会有类别不平衡的现象,此时就要采用一些处理类别不平衡问题的方法。

方法一:欠采样。去掉一些多数类里的样例,使两类样例数基本差不多。

方法二:过采样。增加一些少数类里的样例,让两类样例数差不多。

方法三:阈值移动。因为判断的依据是y/(1-y)和1的大小关系,而这是正例/反例数;

因此可以先用数据训练,再在最后判断的时候,依然采取正例比负例,

但是比较的阈值不再是1(或阈值y/(1-y)),而是将其用反例/正例放缩或阈值移动一下,再用新的阈值判断即可。

10.支持向量机里的SMO算法

 从支持向量机开始复习

 γ是间隔,来自划分超平面(专门用来划分两类样本,在其上是正例,其下是负例 btw想到了线性规划)

该超平面的位置由与距离它最近的正例和负例(各一个)决定,并与它们之间的距离相同(所以在点到直线的距离上有个二倍)

要得到最佳超平面就要最大化这个γ

换言之是最小化(1/2)*||w||2(这是为了方便计算)

下面是基本SVM模型

 进行一些最优化变形(拉格朗日乘子法啦)

 

 

 KKT条件(对于强对偶性成立的优化问题,其主问题的最优解一定满足KKT 条件)

于是如何求解下面的问题(也就是求解λ)呢?【\SMO算法/,\SMO算法/(\XXX/是欢呼的意思】

 

方法是利用约束∑αy=0,固定除两个选定λ外其他所有λ

 再消去αj,剩下只有αi的二次规划,然后用李航《统计学习方法》里的做法求解析解就可以了(但它那个算法真的超级超级复杂,x1·x2是核函数啦,这样或许可以简化一点)

我的同学但凡写了这道题,无论何种表达形式,用什么字母代替核函数,都是这个求解方法

(有的没有像李航的书里那样考虑不等式约束条件0<λ<C)

11.后验概率估计的两种策略

①判别式模型:直接对P(c|x)建模,x是观测值

②生成式模型:先对联合概率分布P(x,c)建模,再求P(c|x)

求解方法就是贝叶斯公式P(c|x)=P(x,c)/P(x)=P(x|c)*P(c)/P(x)

P(c)类先验概率,P(x|c)类条件似然

12.朴素贝叶斯分类器的求解方法

对二分类或多分类问题,先求出每一类的概率P(ci)

再在每一类的不同属性下求该属性在该类中出现的概率P(xj|ci)

最后判断方法是$P(c_i)×\prod _jP(x_j|c_i)$

然后比较一下i个概率,哪个大就属于哪类

13.超父独立依赖估计

 预测x为某值的情况下,y属于某类的概率怎么算?

先算y属于某类k的概率P(y=k),再求超父x_parent为某值在y属于某类k条件下的概率P(x_parent|y=k),

最后所有剩下的属性在x_parent为某值和y属于某类k的条件下,为某值的概率

14.贝叶斯网络

用贝叶斯公式就是了!!!

 

posted @ 2022-12-12 16:33  asandstar  阅读(250)  评论(0编辑  收藏  举报