我是靠谱客的博主 顺心皮卡丘,这篇文章主要介绍自学机器学习系列——1 机器学习基本框架1 机器学习基本思路2 常见的机器学习方法,现在分享给大家,希望可以做个参考。

机器学习基本框架

  • 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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部