数据预处理
- 修补缺失数据
- 去噪,去除极端数据
- 标准化 均值 缩放到0-1之间 正态化
特征选择
目的:数据降维,减小空间, 加速算法
聚类算法 - k-means
- 随机选择k个点作为聚类中心。
- 迭代循环
- 把样本分类到离它最近的分类中心 (样本重分类)。
- 移动聚类中心,取簇中元素的平均值作为新的聚类中心。
直到簇中心不再发生变化
k值的选择
- 直观经验选取。
- 肘部法则,取明显转折点。
- 根据市场需求( 如对T恤分为三类)
特征提取
高维空间的特征投影到新的低维线性空间,进行降维。
- 无标签 - PCA 主成分分析
- 数据预处理
- 构造协方差矩阵
- svd奇异值分解
- 取前k维特征向量
- 计算投影后的k维特征向量
- 有标签 - LDA 线性判别分析 (核心在于投影后保持类间区分性)
判别函数 fisher
J = 中心距离/类方差之和
J越大则类间区分性越好。
决策树
决策树是一种树结构的分类器。
训练集通过模型,每次根据一个属性进行分支,到叶节点得到最终分类。
ID3算法 - 每次选择分类能力最强(信息增益最大)的属性
信息增益:增加该属性后系统不确定性降低
集成学习
把简单分类器集成在一起,形成强大的分类器。
机器学习分为
- 有监督 分类问题
单独算法 : svm 决策树 神经网络 等。
集成算法: boosting bagging 等。 - 无监督 - 聚类问题
bagging
数据集用bootstrap方法有放回采样
不同数据集 - 训练出k个分类器
对k 结果投票 输出多数分类
随机森林
bagging实例,随机森林由一组简单决策树集成
- 通过bootstrap有放回采样 ,得到不同输入集,分别训练出不同分类器
- vote出所有分类器得票高的分类结果
随机森林一般由500-5000棵树组成。
一般只有2/3数据用到,1/3 out of bag数据用不到,可以拿来做交叉验证。
优点
- 大约1/3训练集不会用到,可用于天然交叉验证。
- 通过一系列弱决策树集成为强大分类器
- combine不同分类器结果,解决过拟合问题
- 决策树需要进行属性选择,随机森林随机选择属性
stackting
bagging加强版
不同分类器输出后不直接vote,加权重再通过一个分类器。
BOOSTING
- 正常生成分类器c1
- 着重强调c1分类错的数据,加权,再训练c2
- 把c1c2判别不一致的数据加权,训练c3
c2解决c1分类错的地方,c3解决c1c2争端
- bagging并行生成几百个差不多的分类器
- boosting串行生成目的性很强的分类器
AdaBoost
每次增加分类错误样本的权重
最后结果是带权重分类器输出之和
- adaBoosting 权重固定
- region boost 动态权重 取决于输入
SVM
SVM的目的就是找到一个超平面,对数据进行二分类。
所以要求这些特征线性可分。
如果线性不可分,通过核函数映射到一个高维线性可分的空间后再用SVM。
有比较完美数学理论作为支撑,如统计学、凸优化 。
最大间隔符合直观感受。
超平面在两条支持向量面的正中间。
支持向量面: 超平面同方向且经过支持向量的平面
SVM关键
使得两个支持向量面距离最大
2/w最大,即w**2/2最小
svm是一个约束条件下的优化问题
y(wx+b)>1的情况下,使得w/2最小
然后再转成一个对偶问题求解
网友评论