百面机器学习

in 机器学习 with 2 comments view 320 times

百面机器学习

 graph LR;
百面机器学习-->逻辑回归;
百面机器学习-->决策树;决策树-->ID3;决策树-->C4.5;决策树-->CART;
百面机器学习-->降维;降维-->PCA;降维-->LDA;
百面机器学习-->概率图模型;概率图模型-->贝叶斯网络;概率图模型-->马尔可夫网络;
click 百面机器学习 "#menu_index_1"
click 逻辑回归 "#menu_index_2"
click 决策树 "#menu_index_3"
click ID3 "#menu_index_4"
click C4.5 "#menu_index_5"
click CART "#menu_index_6"
click 降维 "#menu_index_7"
click PCA "#menu_index_8"
click LDA "#menu_index_9"
click 概率图模型 "#menu_index_10"
click 贝叶斯网络 "#menu_index_11"
click 马尔可夫网络 "#menu_index_12"

逻辑回归

逻辑回归和线性回归的异同:
逻辑回归时对数几率的线性回归,这也是逻辑回归的由来用数学公式表示就是:
$$log\frac{p}{1-p} = \Theta^Tx $$
其中 $$p = P(y=1|x)$$
使用最小二乘法求解线性回归时候我们认为变量y服从正态分布

他们之间共同的地方
1、都用极大似然估计来对训练样本建模
2、都可以用梯度下降法求解

决策树

预备知识:信息熵 http://www.cnblogs.com/kyrieng/p/8694705.html#name3
信息熵 \(H(X)\)

数值意义:  传输一个随机变量状态值所需的比特位下界(最短平均编码长度)。  
物理意义:  表示某个分布所携带的平均信息量,具体与随机变量的取值无关,只与分布有关。

条件熵 \(H(X|Y)\)

 物理意义: 在已知Y的情况下,X的熵

相对熵 \(D_{kl}(p||q)\) , 也称KL散度

物理意义: 表达某两个分布的差异程度

交叉熵 \(H(p(x),q(x))\)
物理意义:使用非真实的分布 \( q(x)\) 表示真实分布的最小平均编码长度

ID3

对于样本集合D,类别数为K,数据集的经验熵表示为:
$$H(D) = -\sum_{k=1}^K \frac{|C_k|}{|D|}log_2\frac{|C_k|}{|D|}$$
条件熵为:
$$H(D|A) = \sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i)$$
信息增益为: \(g(D,A)\)

$$g(D,A) = H(D) - H(D|A)$$
这样计算类别多的特征会被优先被选中

C4.5

引入信息增益比:

$$g_k(D,A) = \frac{g(D,A)}{H_A(D)}$$

CART

最大基尼指数 Gini

Gini描述的是数据的纯度

$$Gini(D) = 1 - \sum_{k=1}^n(\frac{|C_k|}{|D|})$$

$$Gini(D|A) = \sum_{i=1}^n\frac{|D_i|}{|D|}Gini(D_i)$$

CART 划分出来的是一颗二叉树,并且每次划分都是选择Gini最小的特征来划分

降维

PCA

找到一个d维的超平面,使得数据点到这个超平面的距离平方和最短

易知:
$$D(x) = w^T(\frac{1}{n}\sum_{i=1}^nx_{i}x_{i}^T)w$$

PCA求解方法:(关键步骤是求协方差矩阵的特征值)
1、对样本数据进行中心化处理(,为均值)。
2、求样本协方差矩阵。
3、对协方差矩阵进行特征分解,将特征值从大到小排列。
4、取特征值前大对应的特征向量,通过以下映射将维样本映射到维。

(原被利用次,新的的第维就是在第个主成分方向上的投影)定义降维后的信息占比为(特征值平方和之比):

$$x'_i= \left[ \begin{matrix} \omega_1^Tx_i \\ \omega_2^Tx_i \\ \vdots \\ \omega_d^Tx_i \end{matrix} \right]$$
$$\eta=\sqrt{\frac{\sum_{i=1}^d\lambda_i^2}{\sum_{i=1}^{n}\lambda_i^2}}$$
PCA扩展知识:PCA是一种线性降维方法,虽然经典但是又一定局限性,通过核映射对PCA进行扩展可以得到核主成分分析(KPCA),也可以通过流形映射的降维方法,比如等距映射、局部线性嵌入、拉普拉斯特征映射等,对一些PCA效果不好的复杂数据集进行非线性降维操作。

LDA

线性判别分析(Linear Discriminant Analysis,LDA)是一种有监督学习算法(PCA是无监督的),PCA没有考虑数据的标签,只是把原数据映射到一些方差比较大的方向上而已.

LDA的目标函数定义为最大化类间距离和类内距离的比值
$$J(w) = \frac{w^TS_{b}w}{w^TS_{w}w}$$

$$ S_{w}^{-1}S_{b}w =\lambda w $$

LDA相比PCA更善于对有类别信息的数据进行降维处理,但它对数据的分布做了一些很强的假设,例如:每个类数据都是高斯分布、各个类的协方差相等。尽管这些假设在实际中并不一定满足,但它依然是一种非常有效的降维方法。

LDA是一个线性模型,它对噪声的鲁棒性较好,但由于模型简单,表达能力有一定局限性,可以通过引入核函数扩展LDA方法以处理分布较为复杂的数据。

概率图模型

贝叶斯网络可以用一个有向图结构表示,马尔可夫网络可以表示成一个无向图的网络结构。
概率图模型包括了朴素贝叶斯模型、最大熵模型、隐马尔可夫模型、条件随机场、主题模型。

贝叶斯网络

马尔可夫网络

Responses
  1. 你猜

    肖大佬 带带我

    Reply
  2. Darkmaster

    新功能好评!

    Reply