读芯术 - [周末AI课堂 - 15讲]非参模型初步(理论篇)-
学习资料来源
读芯术【周末AI课堂】非参模型初步(理论篇)| 机器学习你会遇到的“坑”
[感谢读芯君,感谢作者:唐僧不用海飞丝]
1. 机器学习公式
机器学习 = 表示 + 评估 + 优化
表示:将样本空间映射到一个合适的特征空间,一般的,我们更青睐于这样的表示是低维度的,是更加稀疏交互的,同时也希望是相互独立的。
评估:模型在数据上表现的量化形式,我们选取合适的函数来表示什么样子的模型是好的,性能度量就是我们的评估。
优化:对评估函数进行求解,找出最合适的解,来确定最终的模型。
2. 带参数模型梳理
- 简单线性回归:数学形式最简单的模型,数学形式为 = wx+b ,也可理解为似然函数选取高斯分布的MLE(最大然)
- 多项式回归:简单线性回归的推广,本质意义是利用泰勒展开逼近未知函数
- 岭回归:添加L2(apow(||w||2))正则化的线性回归,也可理解为,对参数分布添加均值为零高斯先验的MAP(最大后验概率)
- LASSO:添加L1(a||w||1)正则化的线性回归,也可理解为,对参数分布添加均值为零拉普拉斯先验的MAP
- 贝叶斯岭回归:利用贝叶斯定理的增量学习,选取高斯分布这样一种自共轭先验,可以简单的计算后验概率
- Logistic回归:利用sigmoid函数的性质,将线性回归的方法拓展为分类算法,同时因为对概率意义的直接赋予,它仍然是一个概率对特征的线性算法。
- 支持向量机:采用最大硬间隔思路在特征空间中确定决策边界,在此模型中被大量使用的kernel function可以将线性的边界拓展为非线性边界
- 朴素贝叶斯:利用贝叶斯定理对类别的后验概率进行推断,若属性值连续,则需要假设特征的分布,若属性值离散,则是基于大数定理的频率计数
以上模型多是带参数的模型,即通过各种方法求得参数,或者通过优化方法估计出参数,从而决定模型。
3. 非参数模型(non-parametric model)
模型分为参数和非参数模型的背后,其实隐含着我们要不要对数据的分布做出假设,而我们所说的参数,其实就对应着分布的参数。
在非参数模型中,我们不需要对样本的分布做出任何假设,直接利用样本来进行分析。
3.1 K近邻(k-neighbors)
机器学习中最简单的方法。通过估计样本之间的距离,来对数据进行分类或回归。
对于分类问题:距离最近的K个样本里,通过少数服从多数原则或者按照距离大小分配权重的方法,对样本进行标记。
对于回归问题:选取最近的k个样本的平均值作为我们的预测值,同样也可以根据距离的远近来赋予不同的权重。
Tip:我们可以选择不同的K,不同的距离度量来作为我们的超参数,通过调节他们使得性能更好。
3.2 决策树(decision tree)
数学准备:
- 自信息(self-information):I(x)=-logP(x) ,是从概率角度出发对信息量的刻画。对概率取对数,是为了满足联合概率的信息的可加性,即两个事件均发生的概率要相乘,但反映在信息量上要相加;再取负值,是因为,小概率的事件信息量更大,大概率事件的信息量更小。
- 信息熵(Information Entropy):I(x)P(x)求积分 ,是自信息的期望值,即,来自于一个概率分布的自信息的加权平均。
决策树的基本思想:挑选特征用于生成分支,使得属于同一类的样本都尽可能的往同一个方向走,而不希望它们分开,而不同类的样本要尽可能的分开,不要在一个分支节点上。
(1)信息增益(information gain)的划分
每个取值下的信息熵进行加权平均,来获得这一属性总的信息熵,用总体的信息熵减去属性的信息熵,就会获得的信息增益。
其中:
我们对每个特征都进行这样的计算,然后挑出信息增益最大的属性。
问题是,取值多的特征,就会造成信息增益较大的情形。取值数过多的特征划分的非常精确,但这样的精确会削弱模型的泛化能力。
(2)增益率(gain ratio)划分
求出某一特征下的取值个数(而非属性值本身)的信息熵,对每一个属性进行这样的计算,并且用信息增益除以它,就得到了信息增益率。
image
如果属性的取值只有一个,属性个数的信息熵会变为零,我们需要引入一些修正项,强行使得分母不为零。
但如果我们只利用信息增益率来判断,可能又会导致节点的划分偏好于取值少的特征,我们可以根据实际情况对分母加上不同的权重来抵消这种偏好。
(3)启发式方法
用所有属性的信息增益来进行初步筛选,然后对得分较高的几个属性进行信息增益率的筛选。
(4)未完待续
- 非离散属性处理(连续属性离散化技术)
- 缺失值处理
- 过拟合(剪枝技术)
4. K近邻和决策树对比
• K近邻算法涉及到样本距离的计算,除了我们常见的欧几里得距离,我们可以根据任务的不同,采用不同的距离度量,比如黎曼距离,曼哈顿距离,海明距离。我们使用的距离也可以不进行事先先指定,而是通过度量学习的方法去寻找一个距离,但这样的距离还必须内嵌入相应的学习器中。
• K近邻算法对异常值敏感,对样本的密度要求高,也并没有什么解释性。决策树恰好相反,它对异常值非常鲁棒,并不要求一定做预处理,而且具有很强的解释性,它还可以根据信息增益和信息增益率的准则对特征的重要程度进行排序,构造一颗泛化能力良好的决策树可以帮助我们清楚问题中的关键因素。
• K近邻虽然简单无脑,但可以证明,它的泛化误差不会超过贝叶斯最优分类器的两倍,而决策树在面对特征之间复杂的线性、非线性组合的时候往往无能为力,甚至当分类的问题中类别过多的时候,准确性也会迅速下降。
其他阅读资料
机器学习中正则化项L1和L2的直观理解
MLE (最大似然) 与 LS (最小二乘) 与 MAP (最大后验)
机器学习, 周志华
本来都写好了,中间断网一次,笔记丢了大半。重新再写时,就没有自己再敲一遍公式了。