机器学习-概述

最近准备总结一下机器学习方面的知识,包括这种算法的原理、推导以及如何实现等,还有一些优化算法等数学知识,先从介绍机器学习方面的概括知识开始吧,包括机器学习的概念以及相关知识。。。

1 机器学习的定义

根据已有的数据进行算法选择,并基于算法和数据构建模型,对未来进行预测

  • 基本概念
    • 输入:{\color{Blue} x \in X}(属性值)
    • 输出:{\color{Blue} y \in Y}(目标值)
    • 获得一个目标函数
      • {\color{Blue} f:X\rightarrow Y}(理想的公式)
    • 输入数据:{\color{Blue} D=\{ (x_1,y_1),(x_2,y_2),\dots,(x_n,y_n) \}}(历史记录信息)
    • 最终具有最优性能的假设公式
      • {\color{Blue} g:X\rightarrow Y}(学习得到的最终公式)

2 机器学习相关概念

  • {\color{Blue} x^{(i)}}表示第{\color{Blue} i}个样本的{\color{Blue} x}向量
  • {\color{Blue} x_i}{\color{Blue} x}向量的第{\color{Blue} i}个维度的值
  • 拟合:构建的算法符合给定数据的特征
  • 过拟合:算法太符合样本数据的特征,对于实际生产中的数据特征无法拟合
  • 欠拟合:算法不太符合样本的数据特征
  • 鲁棒性:健壮性、稳健性、强健性,是系统的健壮性;当存在异常数据的时候,算法也会拟合数据

2.1 机器学习分类一:有监督学习、无监督学习、半监督学习

2.1.1 有监督学习

  • 有监督学习
    • 用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知的样本
    • 从标签化训练数据集中推断出模型
    • 最常用的机器学习方法
  • 判别式模型(Discriminative Model)
    • 直接对条件概率{\color{Blue} p(y|x)}进行建模
    • 线性回归、决策树、支持向量机SVM、k近邻、神经网络等
  • 生成式模型(Generative Model)
    • 对联合分布概率{\color{Blue} p(x,y)}进行建模
    • 隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等
  • 判别式模型和生成式模型的关系
    • 生成式模型更普适,生成式模型关注数据是如何产生的,寻找的是数据分布模型
    • 判别式模型更直接,目标性更强,判别式模型关注的数据的差异性,寻找的是分类面
    • 由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型

2.1.2 无监督学习

  • 无监督学习
    • 无监督学习的训练集中没有人为的标注的结果,学习模型是为了推断出数据的一些内在结构。
    • 无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息
    • 无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出,必要的标签信息。
  • 常见算法
    • 聚类、降维、文本处理(特征抽取)等

2.1.3 半监督学习

  • 半监督学习
    • 有监督学习 和无监督学习的结合
    • 利用少量的标注样本和大量的未标注样本进行训练和分类的问题
    • 半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。
  • SSL的成立依赖于三大类模型假设
    • 平滑假设、聚类假设、流行假设;
    • 其中流行假设更具有普片性。
  • SSL类型的算法主要分为四大类
    • 半监督分类、半监督回归、半监督聚类、半监 督降维。
  • 缺点
    • 抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来的发展主要是聚焦于新模型假设的产生。

2.2 机器学习分类二:分类、聚类、回归

  • 分类
    • 通过分类模型,将样本数据集中的样本映射到某个给定的类别中
  • 聚类
    • 通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大
  • 回归
    • 反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依 赖关系
  • 关联规则
    • 获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率。

3 机器学习开发流程

  • 数据收集
  • 数据预处理
  • 特征提取
  • 模型构建
  • 模型测试评估
  • 投入使用(模型部署与整合)
  • 迭代优化

3.1 数据收集

  • 数据来源
    • 用户访问行为数据
    • 业务数据
    • 外部第三方数据
  • 数据存储
    • 需要存储的数据:原始数据、预处理后数据、模型结果
    • 存储设施:mysql、HDFS、HBase、Solr、Elasticsearch、Kafka、Redis等
  • 数据收集方式
    • Flume & Kafka

3.2 数据处理及特征抽取

  • 大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示,这种表示就是包含数值数据的向量或者矩阵
  • 预处理的操作(大部分情况下 ,收集得到的数据需要经过预处理后才能够为算法所使用)
    • 数据过滤
    • 处理数据缺失
    • 处理可能的异常、错误或者异常值
    • 合并多个数据源数据
    • 数据汇总
  • 特征转换方式
    • 将类别数据编码成为对应的数值表示(一般使用1-of-k方法)-dumy
    • 从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)
    • 处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>)
    • 数值数据转换为类别数据以减少变量的值,比如年龄分段
    • 对数值数据进行转换,比如对数转换
    • 对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同
    • 对现有变量进行组合或转换以生成新特征,比如平均数 (做虚拟变量)不断尝试

3.2.1 类型特征转换:1-of-k

  • 功能
    • 将非数值型的特征值转换为数值型的数据
  • 描述
    • 假设变量的取值有{\color{Blue} k }个,如果对这些值用{\color{Blue} 1 \sim k }编序,则可用维度为{\color{Blue} k }的向量来表示一个变量的值。
    • 在这样的向量里,该取值所对应的序号所在的元素{\color{Blue} 1}为,其他元素均为{\color{Blue} 0}.

3.2.2 文本数据抽取

  • 词袋法
    • 将文本当作一个无序的数据集合,文本特征可以采用文本中所有词条及其出现的次数来体现
  • TF-IDF
    • TF * IDF
    • TF(词频)
      • 指某个词条在文本中出现的次数,一般会将其进行归一化处理(该词条数量/该文档中所有词条数量);
      • 词条的重要性随着它在文件中出现的次数成正比增加,词条在文本中出现的次数越多,表示该词条对该文本的重要性越高,
    • DF(逆向文件频率)
      • 一个词条重要性的度量,一般计算方式为总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。
      • 词条在语料库中出现的频率成反比下降,词条在所有文本中出现的次数越少,说明这个词条对文本的重要性越高。

3.3 模型构建及测试

  • 模型选择
    • 对特定任务最优建模方法的选择或者对特定模型最佳参数的选择。
  • 交叉验证
    • 训练数据集上运行模型(算法),测试数据集中测试效果并迭代进行数据模型的修改,
    • 将数据分为训练集测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议
  • 模型测试
    • 准确率/召回率/精准率/F值
      • 准确率(Accuracy)
        • 提取出的正确样本数/总样本数
      • 召回率(Recall)
        • 正确的正例样本数/样本中的正例样本数——覆盖率
      • 精准率(Precision)
        • 正确的正例样本数/预测为正例的样本数
      • F值
        • Precision*Recall*2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)
    • ROC(Receiver Operating Characteristic)
      • 描述分类混淆矩阵中FPR-TPR两个量之间的相对变化情况
      • ROC曲线的纵轴是“真正例率”(True Positive Rate 简称TPR),横轴是“假正例率” (False Positive Rate 简称FPR)。
      • ROC曲线就反映了FPR与TPR之间权衡的情况,在TPR随着FPR递增的情况下,TPR增长得越快,曲线越往上屈,AUC就越大, 反映了模型的分类性能就越好。
      • 当正负样本不平衡时,这种模型评价方式比起一般的精确度评价方式的好处尤其显著。
    • AUC(Area Under Curve)
      • ROC曲线下的面积
      • ROC曲线一般都处于y=x这条直线的 上方,取值范围在0.5和1之间。
      • ROC曲线不能清晰的说明哪个分类器的效果更好, AUC作为数值可以直观的评价分类器的好坏,值越大越好。
      • AUC = 1,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
      • 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
      • AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
      • AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxx_id

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值