Adaboost
Adaboost算法boost的思想是组合一堆弱分类器来组成一个强分类器,Adaboost便是其中一个最著名的例子。Adaboost的推导可以由以下式子来完成:首先Adaboost是一堆弱分类器的组合,可以写为fm(x)=12∑mjαjyj(x),它的损失函数采用loss损失函数,所以最终可以写为:$$L(x) = \sum_i^n\exp(
Adaboost算法boost的思想是组合一堆弱分类器来组成一个强分类器,Adaboost便是其中一个最著名的例子。Adaboost的推导可以由以下式子来完成:首先Adaboost是一堆弱分类器的组合,可以写为fm(x)=12∑mjαjyj(x),它的损失函数采用loss损失函数,所以最终可以写为:$$L(x) = \sum_i^n\exp(
SVMLagrange对偶问题首先一个约束问题{min f(x)s.t. gi(x)≥0hj(x)=0 该问题可以转化成为等价的问题,引入拉格朗日函数$$L(x, w, v) = f(x) - \sum_iw_ig_i(x) - \sum_jv_jh_j(x),w_i \ge 0
对一些常用的采用进行总结,主要参考了PRML。 整个采样的关键思想:求E[f]=∫f(z)p(z)dz 但是通常数值分析的方法很难求,寻求一种近似的方法E[f]=1L∑f(z(l)) 其中z(l)∼P(z),通常来说10~20个样本就可以很好的拟合,并且这个方法是不取决于z的维度的。 但是通常情况下,可能一些非常小
常用分类方法的一种,对于训练数据来说,每次找到最优的一个特征,对该特征进行划分。划分之后得到不同的子集,再分别在不同的子集进行划分,直到满足某个划分标准则停止。 如何选择最优的特征有不同的算法。常见的决策树算法有ID3,C4.5算法,对于ID3算法,采用信息增益最大的特征来选择最优的特征。算法流程如下:对于在未划分之前,首先算出该数据集D的熵。假设该数据集有K类,训练集大小为N.其中属
k近邻是最简单的分类算法了,对于一个实例x,找到它最近的邻居,根据邻居的类标来进行一个投票。 对于找到k近邻而言,对每个点采用暴力遍历,取前k个最小的即可。然后进行投票。 代码如下:k_nearest_neighbours 产生的决策面如下所示: 对于最近邻,可能暴力搜索会造成过高的耗时,为了减少这种耗时,采用了一种叫做KD树的数据结构。思想是将空间进行划分,拿二维平面举例:首先按照某个轴
Linear Regression with Elastic Net线性回归线性回归最简单的形式为y=wx 损失函数为L(y,x;w)=12n∑i||yi−wTxi||22 这个问题可以直接求解,令梯度为0,得到w=(XTX)−1XTy 但是通常来说(XTX)不是满秩的,数值计算上会有问题,将会有无穷多
高斯过程对于基本的线性回归,我们会假设f(x)的一个形式,比如说f(x)=mx+c或者f(x)=ax2+bx+c等等,然而高斯过程不直接假设函数的形式,而是让数据自己说话,对函数的分布进行推断。即后验p(f|D),但是对函数后验p(f|D)分布进行推断比较困难,我们对这些函数在x1,x2,⋯,xn上的值进行推断。高斯过程即假设$p
给定数据x1,x2,⋯,xN,其中每个xi是一个D维向量,现在要将其降低到M维,降维有以下几种方法: PCAPCA可以以两种方式来看待,一是最大化方差,二是最小化误差 最大化方差考虑D=2的情况,假设M=1,找到的投影方向为μ1,那么最大化方差即为$$\max v = \frac{1}{N}\sum_{i=1}^{N}(\mu_1^Tx_i - \m
最近终于把RNN的求导细节给弄明白了,写一篇文章来总结一下DNN,CNN以及RNN的具体求导细节。在网上搜索资料的同时,发现很多时候RNN的求导大多数给的是矢量化的形式,并不容易去理解,比如说y是一个标量,y=∑n||yn−tn||2,通常用的error形式,对一个权重矩阵w求导,也应该是一个矩阵的形式。但是一旦涉及到微积分的链式法则,通常很难以去理解。比如说$$
EM算法具体例子为Gaussian Mixture Model,由k个component组成。P(zk=1)=πk,∑kπk=1,0≤πk≤1P(x|z)=∏kN(x|μk,Σk)zk$$P(x) = \sum_zP(z)P(x|z) = \sum_k\pi_k\