《统计学习方法》的一些点
来源:互联网 发布:网络被骗多少钱立案 编辑:程序博客网 时间:2024/06/07 14:01
统计学习方法的一些点
一、统计学习方法概论
统计学习方法的三要素:模型、策略、算法
模型
模型就是所要学习的条件概率分布或决策函数。其中决策函数标识的模型为非概率模型,由条件概率表示的模型称为概率模型。
策略
损失函数
0-1损失函数
平方损失函数
绝对损失函数
对数损失函数
风险函数或者期望损失 :
这是理论上
但是,通常我们是不知道
这成为经验风险或者经验损失。
我们通常可以用经验损失来估计期望损失,但是通常需要对经验损失进行矫正。通常的两种策略:经验风险最小和结构风险最小。
结构风险最小即:
但是由于过拟合现象的存在,会加上惩罚项:
其中
算法
其实就是求解上面策略
正则化与交叉验证
正则化即
泛化能力
泛化误差:
其中
泛化误差上界:
就是1式所能达到的上界。
通常 情况下,他与样本容量成反比,同假设空间容量里的函数个数成正比。
生成模型与判别模型
在 这里 ,有对这两个模型的详细的理解。简而言之就是:
生成模型会先生成
而判别模型去直接计算分类,通过条件概率模型。
分类问题
二、感知机
模型
选择一个超平面,将正样本和负样本分开。(如果线性可分)
策略
策略就是定下损失函数的策略,一个自然选择是判断误分类点的个数,但是该函数不是连续可导的。
因此,感知机的策略是:使所有误分类点到超平面的距离最短,注意,这里是只有误分类点。
到超平面距离为:
对于误分类点,有
于是损失函数定义为:
算法
我们要求值(2)式,可以对2求关于 w, b的偏导,可以发现其值是常数。也就是说两者形成的是一个平面,整个的面上求最小值是不存在的。我们可以用SGD的方法逐步的来求,因为我们的目标是在所有样本点上求解。
求解过程中,只对误分类点进行计算。计算调整w后,重新计算所有的点,找所有的误分类点,直到所有的点都被正确分类。
这是在可线性分类的情况下。
如果线性可分,可证,总是收敛的。
gram 矩阵 :实例间两两相乘。
三 K近邻法
模型
输入一个点,找到与该点最近的K个点,判断K个点的分类,找出最多的分类,则为该点的分类。
策略
通过模型的介绍,可以看到,主要的策略会比较简单,但是跟几个有关系:
距离的测度,K的确定。
距离包括Lp距离,欧式距离(p=2),曼哈顿距离(p=1)等。
K的确定通常通过选择小的K值,然后交叉验证。
算法
kd树
四、朴素贝叶斯法
模型
贝叶斯方法是一种生成模型,也就是要先求出
只不过这个
贝叶斯估计
在分子和分母中加入
五、决策树
模型
If-then 的规则
算法
决策树算法包含特征选择、决策树的生成与决策树的剪枝。
决策树常用的算法有ID3,C4.5,CART
ID3:利用信息增益来选择特征并划分。
信息增益:
其中, D为信息训练集,
其中D是训练数据集,
而A是我们选择的特征,
在求经验熵时,是针对最终要划分的类别进行的求解; 而条件熵是在针对各个特征值里面的数据集,每个数据集各自的熵,然后按照比例求和所得。
C4.5:利用信息增益比来求解
其中,
n是A的特征的个数
决策树的剪枝
首先定义决策树的损失函数:
其中,树为T, |T|为树的叶节点的个数,其中有
其中,
也就是说Ht(T)是每个叶对最终结果的经验熵,损失函数为所有叶节点熵的和+正则项,其中正则项正比树的叶节点的个数。
剪枝算法:
1、计算所有节点的经验熵
2、从叶节点开始往上缩,到父节点;比较回缩前后树的损失函数,如果缩之后损失函数变小了,就把父节点作为叶节点。
CART算法
CART决策树是个二叉树,按照是或者否分为两部分。可以用于回归或者分类。
主要分为两部分:生成,剪枝
回归树生成:
回归树模型可以表示为:
对输入空间进行划分,选择第j个变量,以及它取的值:
For j:
for s:
左侧输出c1, 右侧输出c2
利用平方误差求极小值
分类树生成:
分类树用基尼指数来选择最优特征
样本集合D根据特征A的可能值a划分为
Gini(D)表示D的不确定性,Gini(D, A)表示经A=a分割后D的不确定性。
CART剪枝
求出在
七、支持向量机
八、隐马尔科夫
- 《统计学习方法》的一些点
- Oracle的一些学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法
- 统计学习方法---
- 统计学习方法(-)
- 统计学习方法:统计学习方法概论
- 学习方法的的一些想法
- c++/vc++的一些学习方法
- c++/vc++的一些学习方法
- NDK探究之旅《四》——指针的强化理解
- Android RecyclerView
- 正则表达式匹配中文的情况
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载
- html5移动端点击不会全屏播放的播放器
- 《统计学习方法》的一些点
- C语言模拟实现C++多态
- Linux同步网络时间
- # windows 环境下面创建RabbitMQ集群
- Python-pyspark中常见问题总结
- 关于Adroid studio 导入项目时,一直build project的问题
- [linux上路] 开发环境准备五 Debian8 中文输入法安装
- CSS布局:水平居中
- django网站设计与规划【Tango with Django】