机器学习基本框架
- 1 机器学习基本思路
- 1.1 模型选择
- 1.2 模型评价
- 2 常见的机器学习方法
- 2.1 广义线性模型
- 2.2 线性判别分析和二次判别分析
- 2.3 支持向量机
- 2.4 决策树和随机森林
- 2.5 神经网络和深度学习
- 2.6 KNN
- 2.7 聚类
- 2.8 降维
1 机器学习基本思路
- 介绍机器学习基本框架: 数据获取、特征提取、数据转换、模型训练、模型选择、模型评价
- 监督学习:给出原始特征和问题标签,挖掘规律,学习一个模式,回答新的问题
- 无监督学习:仅仅根据原始特征寻找模式
- 强化学习:最大化回报,没有绝对正确的标签,也不是寻找数据结构特征
1.1 模型选择
- 如何选择模型参数?交叉验证
- 对于一般的回归问题:使得均方误差最小
- 过拟合:方差随着模型复杂度上升而上升,偏差随着模型复杂度上升而下降,均方误成U型 -
- 交叉验证:
- 最简单的方法:选取一定比例的训练集作为验证集,但是不会参与模型训练,降低准确性
- 通常采用K折交叉验证的方法,随即将全体样本分为K部分(3-20).每次用其中一部分作为验证集, 重复K次,直到所有部分均被验证过。
1.2 模型评价
- 回归问题:均方误
- 分类问题:正确率 - 命中(1,1) 虚报(1,0) 漏报 (0,1) 正确拒绝(0,0) 1表示患病,0表示无病
- 正确率:(命中+正确拒绝)/总数 发病率特别低的时候失效
- 精确率: 命中/(命中+虚报)
- 命中率: 命中/(命中+漏报)
- 虚报率: 虚报/(虚报+正确拒绝)
- ROC
- AUC
2 常见的机器学习方法
- 监督学习:广义线性模型、线性判别分析、支持向量机、决策树、随机森林、神经网络、K近邻
- 无监督学习:聚类、降维PCA
2.1 广义线性模型
- 简单回归:单因子
- 多元回归:多因子
- 岭回归:L2正则化
- Lasso : L1正则化
- 逻辑回归:二分类问题,对线性概率模型的改进
- 有序多分类:多分类问题,因变量存在顺序,拟合N-1个逻辑回归
- OvR:one vs rest 将样本分为两类,进行N次逻辑回归,分别得到每次单类的概率
2.2 线性判别分析和二次判别分析
- 逻辑回归不适合两个类别相距较远的情况
- LDA:线性判别分析,逻辑回归的拓展,认为样本满足正态分布,利用样本矩来估计系数
- QDA:二次判别分析,判别方程是二次函数,分界是曲线
2.3 支持向量机
- 用一个超平面划分样本空间:用超级大的一张纸将空间分为两部分
- 而这个超平面只是由有限的点决定的,称为支持向量
- 异或门问题:只有输入(1,0)(0,1)才输出1,直线无法分类
- 升维,如回归引入x1*x2,泰勒展开等方式
- SVM引入核函数计算超平面, 线性核、多项式核、高斯核
2.4 决策树和随机森林
- 决策树:每层节点通过某种规则分裂成多个节点,终端的叶节点即为分类结果
- 分类特征的选择:使得分裂后的信息增益最大 sum(-plogp)
- 避免过拟合:剪枝、分支停止法
- C4.5算法:只能用于分类,不能进行特征组合
- CART算法: 每个节点只能分类成两个子节点,支持特征组合,可用于分类和回归
- 优势:训练速度快,解决非数值特征,非线性分类
- 缺点:不稳定,对训练样本敏感,容易过拟合
- 集成方法
- Bootstrap :有放回抽样得到等样本长的Bootstrap数据集,进行N次,对每个数据集训练弱分类器。
- Bagging :基于Bootstrap方法,对多个弱分类器投票、均值得到最终分类
- 并行方法:Bagging——随机森林,行采样得到Bootstrap数据集,列采样随机选择m个特征,最终N颗决策树投票得出分类
- 串行方法:AdaBoost——梯度提升决策树:GBDT,原始数据训练得到弱分类器,分类错误的样本提高权重,继续训练
2.5 神经网络和深度学习
- 基本思想:神经元存在兴奋和抑制两种状态,其上的树突会接受上一个神经元传来的刺激,只有电位达到一定的阈值,神经元才会被激活达到兴奋状态,然后电信号沿轴突和突触继续传递至下一神经元的树突,由此形成一个巨型网络
- 输入层:线性加权
- 隐藏层:激活函数,ReLu,sigmoid,tanh
- 输出层:分类softmax、sigmoid,回归相等
- 层数过深:参数难以估计,梯度消失,卷积神经网络CNN(局部连接)
- 图像识别:CNN
- 时间序列问题:递归神经网络RNN和长短记忆网络LSTM
- 非监督学习:生成对抗网络GAN
2.6 KNN
- 监督学习
- 以上分类都是基于假设:若两个样本特征相似,则属于相同的分类
- 基于这种思想,制定一种新的分类规则:每个点对应的类别应当由其周围最邻近的K个邻居类别决定
- K值的确定:太小过拟合,太大欠拟合,交叉验证
2.7 聚类
- 无监督学习:将样本分为K个簇,将相似的对象归到一个簇中。
- K-means
- 随机确定K个点作为质心,为每个样本点寻找距离最近的质心,分配给对应的簇
- 选取每个簇的平均值作为新的质点,更新簇中的样本点,得到第一次迭代结果
- 不断重复上述过程,直到簇不再改变
- 缺点:受K值影响大,受异常值的影响,收敛慢
- 层次聚类:对样本层次分解,然后自上而下分解或者自下而上合并
- 谱聚类:每个对象看作图的顶点V,顶点间的相似度等于连接边E的权值,得到基于相似度的无向加权图G(V,E)
2.8 降维
- PAC:
- 假设自变量变化较大的部分能够在因变量处获得较大的响应
- 寻找空间中变动性最大的方向,作为新的特征,数据需要标准化
- 如何确定特征数,交叉验证
- 偏最小二乘法:
- 当PAC假设不成立,寻找特征和因变量的紧密关系来确定新的特征
- X对Y做线性回归的回归系数,尽可能用显著的系数得到Z1
- X对Z1做线性回归,得到的残差,不能由Z1解释的部分作为新的特征
- 新的特征对Y做线性回归得到显著回归系数,线性组合得到Z2
- 重复上述过程M次
- Fisher线性判别分析法:
- 核心思路:样本类内间距最小,类间间距最大
- 计算两类数据的中心
- 计算两类数据的离散度矩阵(类内)相加得到总离散度矩阵S
- 计算类间的离散度矩阵Sb
- 希望投影到wx上的类间距离w’Sbw尽可能大,类内距离w’Sw尽可能小,因此优化w’Sbw/w’Sw
- 得到投影后的特征
- 非线性降维
- 局部线性嵌入LLE
- 测地距离isomap
- 拉普拉斯特征映射
最后
以上就是顺心皮卡丘最近收集整理的关于自学机器学习系列——1 机器学习基本框架1 机器学习基本思路2 常见的机器学习方法的全部内容,更多相关自学机器学习系列——1内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复