归纳&总结

机器学习技能树整理

按问题类型划分

分类问题

Logistic Regression

总结:特征的线性组合+非线性映射。推导时从单个样本开始,单个样本经过sigmoid函数后划分为正类的概率为:

P(\hat{y} _i=1|\mathbf x_i)=\frac {1}{1+e^{-\theta^T\mathbf x_i}},由于sigmoid函数值域为[0,1],负类概率为P(\hat y_i=0|\mathbf x_i)=1-P(\hat y_i=1|\mathbf x_i)=1-\frac {1}{1+e^{-\theta^T\mathbf x_i}}=\frac {e^{-\theta^T\mathbf x_i}}{1+e^{-\theta^T\mathbf x_i}}

将上述两个式子整理成一个式子:

h(\mathbf x_i)=P(\hat{y} _i=1|\mathbf x_i)^{y_i}\cdot P(\hat{y} _i=0|\mathbf x_i)^{1-y_i}

结合样本间独立同分布(i.i.d)假设,所有样本的联合概率分布为:

H(\mathbf X)=\prod_{i=1}^n P(\hat{y} _i=1|\mathbf x_i)^{y_i}\cdot P(\hat{y} _i=0|\mathbf x_i)^{1-y_i}

等式两边取对数,得到对数分布:

log H(\mathbf X)=\sum_{i=1}^n  y_i logP(\hat{y} _i=1|\mathbf x_i) +(1-y_i)logP(\hat{y} _i=0|\mathbf x_i)

接下来的求解使用极大似然估计的思想即可。

Factorization Machine

总结:FM在线性模型的基础上引入了特征间的二次组合项。f(\mathbf x,\mathbf w)=\omega_0+\sum_{i=1}^{n}w_i  x_i+\sum_{i=1}^{n-1}\sum_{j=i}^{n}w_{i,j}x_ix_j

FM的提出是为了解决特征高度系数的问题,太多的零项交叉导致二阶w矩阵无法求解,因此引入隐向量的概念,每一维特征都对应一个k维向量v。

FM的求解过程巧妙的消解了交叉项,这也是FM的精髓所在。

AdaBoost(也可以做回归,但一般不用)

总结:AdaBoost最绝妙的地方在于借用:

①指数损失函数e^{a+b}=e^a\cdot e^b的性质,将加法模型中f_{m-1}(\mathbf x)+\beta_m b(\mathbf x,\gamma_m )迭代项分裂开;

②逻辑回归中预测值和实际值结乘积xf(x),该式只和分类是否正确有关而和具体分类结果无关。

具体推导过程可以参考https://www.cnblogs.com/gasongjian/p/7648633.html

Naive Bayes

朴素贝叶斯的关键点在于如何将求解步骤三中各项后验概率的值,也就是给定x的情况下该样本属于某类的概率。

根据贝叶斯公式P(Y|X)=\frac {P(X|Y)P(Y)}{P(X)}

那么对于某个样本i来说argmax_{c} p(y=c_j|\mathbf x)=\frac {p(\mathbf x|y={c_j})p(y={c_j})}{p(\mathbf x)}

将分母展开p(\mathbf x)=\sum_{j=1}^{C}p(\mathbf x|y=c_j)p(y=c_j)

因此只需要求argmax_{c} p(y=c_j|\mathbf x)\propto \prod _{i=1}^{F}{p( x_i=a_i|y={c_j})p(y={c_j})}

Decision Tree/Random Forest

总结:决策树分为ID3和C4.5,两者最大的不同在于如何选择分裂属性,因此首先要知道熵的几种计算方式:

:表示随机变量X概率分布的不确定性,H(X)=-\sum_{i=1}^{n}p_ilog(p_i)

条件熵:已知随机变量X时,随机变量Y的不确定性,H(Y|X)=\sum P(X=x_i)H(Y|X=x_i)

信息增益(ID3):特征A对数据集D的信息增益g(D,A)=H(D)-H(D|A)表示使用A对数据集D分类能够减少的不确定性程度。

信息增益比(C4.5):信息增益与数据集D关于A的取值概率分布的熵g_R(D,A)=\frac {g(D,A)}{H_A(D)}

注意区别条件熵H(D|A)H_A(D)

基尼不纯度(CART):表示一个随机选中的样本在子集中被分错的可能性,Gini(x)=\sum_{k=1}^Kp_k(1-p_k)=\sum_{k=1}^Kp_k-\sum_{k=1}^Kp_k^2=1-\sum_{k=1}^Kp_k^2

决策树算法框架:

回归问题

Linear Regression 

总结:线性回归是一切回归问题的基础,不管数据是否是明确的线性可分,都可以尝试,非线性数据的用核函数映射到高维后,再做线性回归即可。

线性回归用最小二乘法(最小平方损失)求解,具体参考https://www.cnblogs.com/futurehau/p/6105011.html

Ridge/Lasso Regression

https://zhuanlan.zhihu.com/p/32134351

带约束最优化问题:

argmin_w\sum_{i=1}^N(h(\mathbf x_i,w)-y_i)^2 \\ s.t.\sum_{j=1}^M|w_j|^q\leq \eta

转化为无约束最优化问题:

argmin_w\sum_{i=1}^N(h(\mathbf x_i,w)-y_i)^2+\lambda|\omega_i|^q 

式子q表示范数,q=1是L1范数,q=2则是L2范数。通常带约束的形式是最原始的优化模型,但是不好求解,因此转化为无约束形式。两种形式等价的条件是带约束最优化是凸优化。

用一个直观的例子解释L1的作用:

下面两个图可以很直观的感受到,L1正则项在做的事情就是让原本较小的\omega为0(可以理解成舍弃不太重要的特征维度,因此L1也有降维和特征选择的作用),让原本很大的\omega\eta (即强度不超过\eta

不同维度权重差距较小,无法得到稀疏解
不同维度权重差距很

Regression Tree

分类&回归

SVM

CART

当CART树用作回归时也叫做最小二乘回归树。自然地,选择误差平方和作为损失函数。某个特征上的最有切分点能够使划分后左右子树分别对应的损失函数和最小,表示成公式就是:

min_{c_1}\sum_{x_i\in R_1(j,s)}(y_i-c_1)^2+min_{c_2}\sum_{x_i\in R_2(j,s)}(y_i-c_2)^2

当CART树用作分类时又叫做基尼指数最小化分类树。确定特征A上划分点的公式为:

argmin_aGini(D,A=a)=\frac {|D_1|}{|D|}Gini(D_1)+\frac {|D_2|}{|D|}Gini(D_2)

不管分类树还是回归树最优切分点和最优特征的搜索过程都是一样的,唯一的区别就是确定最优切分点的方式。

GBDT/XGBoost(CART Based)

GBDT和XGBoost的弱分类器都是CART,自然也能同时解决分类和回归问题,并且也不要求输入都是离散或连续变量,对特征工程要求较低。

聚类问题

KNN

K-means

层次聚类

其他无监督方法

Manifold Learning(Dimension Deduction): PCA /LDA/ AutoEncoder

Matrix Decomposition: SVD/SVD++/NMF/LFM

总结:

SVD矩阵奇异值分解是推荐系统工程中常用的一种算法,理解的关键点

① 为什么(m,n)维矩阵M能够分解成M=U\Sigma V^T的形式?

    以二维空间中的任意矩阵M为例,总能找到一组标准正交基\vec{v}_1,\vec{v}_2 ,使得M\vec{v}_1,M\vec{v}_2是正交的,设\sigma_1=||M\vec{v}_1||,\sigma_2=||M\vec{v}_2||,那么存在另一组正交基\vec u_1,\vec u_2,使得:

M\vec v_1=\sigma_1\vec u_1,
M\vec v_2=\sigma_2\vec u_2,

设矩阵V=[\vec v_1,\vec v_2],U=[\vec u_1,\vec u_2]\Sigma\sigma_1,\sigma_2组成的对角阵

那么有MV=\Sigma U

两边同时右乘V^{-1},得到M=U\Sigma V^T

② 怎样通过m阶和n阶的方阵间接获得U和V?

    设B=M^TM,C=MM^T

将上面的到的M带入式子中,可以通过方阵的特征值分解得到UV^T

③ 使用SVD有什么好处,能够解决什么问题?

    分解后的\Sigma是一个非常稀疏的对角矩阵,便于存储,并且对角线上的值会向后大幅度衰减,也能够起到降维的作用。

但推荐系统中的SVD和SVD++和传统的SVD理论方法有一定出入,具体参考

https://www.jianshu.com/p/d54d0f9f7574

统计方法 

Maximum Likelyhood Estimation 


Maximum Posteriori Estimation

Gaussian Mixture Model&Expectation Maximization 

Hypothesis Testing

概率图模型

Hidden Markov Model

Conditional Random Field

最优化理论

Stochastic Gradient Descent: Truncated Gradient/FOBOS/RDA/FTRL(Online Learning)

Stochastic Gradient Descent: Momentum SGD/Nesterov Accelerated Gradient/ADAM/AdaDelta/RMS-drop(Deep Learning)

Newton Method/Quasi-Newton Methods

问题推导方法论:

1. 根据分类或回归问题首先确定损失函数,例如LR用交叉熵损失,SVM使用最大间隔损失,多分类问题使用SoftMax;一般的回归问题则使用最大平方误差损失。

2. 假定样本符合某一分布,选择模型,确定最终需要求解的参数。在计算出所有样本上的损失和后,对损失相对每一个参数求导,得到参数的梯度,也就是参数在每一轮迭代中下降的方向。

3. 最后根据不同的模型选择优化方法,例如LR使用SGD即可,神经网络则选择AdaDelta等。

Boosting算法(加法模型):

Boosting和Bagging最大的区别在于后者中的弱分类器是并行生成的,而Boosting中每一轮迭代的弱分类器都依赖于上一轮生成的强分类器。

推导XGBoost和GBDT都可以从前向分布算法开始:

f(\mathbf x)=\sum_{i=m}^{M} \beta_{m}b(\mathbf x;\gamma_m)

在确定了样本及损失函数后,加法模型的参数求解变成了样本损失极小化问题:

\arg_{\beta_{m},\gamma_{m}}\min\sum_{i=1}^{N}L(y_i,\sum_{m=1}^{M}\beta_{m}b(x_i;\gamma_{m}))

第m轮的强分类器由m-1轮的强分类器和根据m-1轮样本损失学习到的第m个弱分类器得到:

f_m(\mathbf x)=f_{m-1}(\mathbf x)+\beta_m b(\mathbf x,\gamma_m )

那么第m步弱分类器的问题也转化为了损失极小化问题:

\arg_{\beta_m,\gamma_m}\min\sum_{i=1}^{N}L(y_i,f_{m-1}(\mathbf x)+\beta_m b(\mathbf x,\gamma_m ))

可见,前向分布算法是一种贪心算法,把求解所有参数的问题转化成逐步求解每一对参数。上式结合二阶泰勒展开公式可以得到一阶和二阶泰勒系数,分别作为GBDT和XGBoost需要拟合的梯度。这也是两者最重要的区别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容

  • 尼采的名言英文和中文摘抄 1、 "其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。 But i...
    温荼清风阅读 184评论 0 0
  • 烈日当空依旧冷,枯风扑面几时春。 手机顽劣今何在,午后可曾思故人。 注:平水韵十一真
    九曲奔流阅读 1,340评论 20 42
  • 好的教育先拼父母,但不是拼父母的地位, 也不是拼父母财富 ...
    代玲细胞营养阅读 541评论 0 0
  • 最近小妹向我吐槽,前前后后花掉了1万+,眼看到了还款日,卡账在增加,工资不见涨,无奈只好再刷卡套现还款。 小妹说,...
    火金杂谈阅读 1,275评论 13 25
  • 今天是儿童节,我们要像大人一样去工作,但要像孩子一样地去生活,我们可以失去童年,到不要失去童心,更不能失去童趣。只...
    张万奎阅读 162评论 0 1