美文网首页我爱编程
快速入门了解机器学习

快速入门了解机器学习

作者: sudop | 来源:发表于2018-01-24 00:13 被阅读0次

以下是最近机器学习笔记,有空再整理

1.机器学习定义

机器学习是一门从数据中研究算法的科学学科,坦白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测

  • 数学过程
    • 输入
    • 输出
    • 获得一个目标函数
    • 输入数据
    • 最终选择最优性能的假设公式:目标函数f未知,从数据中得到一个假设的函数g,使其获得接近目标函数f的效果
  • 任务定义
    • 给定任务T
    • 给定性能度量方案P的前提下
    • 计算机程序自主学习任务T的经验E,随着提供大量,优质,合适的经验E,该程序对于任务T的性能逐步提高
  • 过程
    • 算法:根据业务需要和数据特征选择相关算法,也就是一个数学公式
    • 模型: 基于数据和算法构建出来的模型
    • 评估/测试:对模型进行评估的策略
  • 机器学习是人工智能的一个分支,我们使用计算机设计一个系统,使他能够根据提供的训练数据按照一定的方式来学习,随着训练次数的增加,该系统可以在性能上不断学习和改进,通过参数优化的学习模型,能够用于预测相关问题的输出
  • 数学概念
    • 向量 (可以看成一维矩阵)
    • 矩阵
    • 标量 只是值,没有方向
    • 拟合: 构建的算法符合给定数据的特征
    • $x^i$ 表示第i个样本的x向量
    • $x_n$ x向量的第i维度的值
    • 鲁棒性 也就是健壮性,当存在异常数据时,算法也会拟合数据
    • 过拟合 算法太符合样本数据的特征,对于实际生产中的数据无法拟合
    • 欠拟合 算法不太符合样本的数据特征
  • 机器学习常用框架
    • sciket-learn(python)
      • 分类,回归,聚合,降维,模型选择,数据处理
      • sciket-learn官网提供,模型选择图
    • mahout(Hadoop生态圈基于MapReduce)
    • Spark MLlib

2.机器学习,人工智能,深度学习联系

  • 深度学习是机器学习的子类,深度学习是基于传统的神经网络算法发展到多隐层的一直算法提现
  • 机器学习是人工智能的一个子类

3.机器学习常用概念和工作场景

  • 应用场景:
    • 个性化推荐:个性化推荐是根据各种因素来改变用户体验和呈献给用户内容,这些因素可能包含用户的行为数据和外部因素,推荐常指系统向用户呈现一个用户可能感兴趣的物品列表
    • 精准营销:从用户群众中找出特定要求的营销对象
    • 客户细分:试图将用户群体分为不同的组,根据给定的用户特征进行客户分组
    • 预测建模及分析:根据已有的数据进行建模,并使用得到的模型预测未来
  • 商业场景
    • 模式识别
    • 计算机视觉
    • 数据挖掘
    • 统计学习
    • 语音识别
    • 自然语言处理

4.机器学习,数据分析,数据挖掘区别和联系

  • 数据分析:数据分析是指用适当的统计分析方法对收集大量数据进行分析,并提取有用的信息,以及形成结论,从而对数据进行详细的研究和概括过程,在实际工作中数据分析可以帮助人们做出判断,数据分析一般而言可以分为统计分析,探索性数据分析和验证性数据分析三大类
  • 数据挖掘:一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程,通常通过统计,检索,机器学习,模式匹配等诸多方法来实现这个过程
  • 机器学习:是数据分析和数据挖掘的一种比较常用,比较好的手段

5.机器学习分类

  • 按照学习方式分
    • 有监督学习
      • 判别式模型:直接对条件概率建模,常见的判别模型有:线性回归,决策树,支持向量机SVM,k近邻,神经网络
      • 生成式模型:对联合分布概率进行建模,常见生成式模型有:隐马尔可夫HMM,朴素贝叶斯,高斯混合模型GMM,LDA等
      • 生成式模型更普适;判别式模型更直接,目标性更强
      • 生成式模型关注数据是如何产生的,寻找的是数据的分布模型,判别式模型关注的数据的差异性,寻找的分类面
      • 有生成式模型可以产生判别式模型,但是由判别式模型没法形成生成式模型
    • 无监督学习(主要前期处理多一点,一般服务于有监督学习)
      • 无监督学习试图学习或者提取数据背后数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类,降维,文本处理(特征抽取)等
      • 无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息
    • 半监督学习
      • 主要考虑如何利用少量标注样本和大量为标注样本
  • 按照功能分
    • 分类:通过分类模型,将样本数据集中
    • 聚类:
    • 回归:
    • 关联规则:
  • 机器学习算法Top10
  • 算法名称 算法描述
    C4.5 分类决策树算法,决策树的核心算法,ID3算法的改进算法
    CART 分类与回归树
    KNN k近邻分类算法
    NaiveBayes 贝叶斯分类模型,该模型比较适合属性关联比较小的时候,如果属性关联比较大的时候,决策树模型比贝叶斯分类模型分类效果要好(原因:贝叶斯模型假设属性之间是互不影响的)
    SVM 支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中
    EM 最大期望算法,常用于机器学习和计算机视觉总的数据聚集领域
    Apriori 关联规则挖掘算法
    K-Means 聚类算法
    PageRank Google搜索重要算法之一
    AdaBoost 迭代算法;利用多个分类器进行数据分类

7.机器学习开发流程

  • 基础
    • 高数
    • sql
    • python数据分析基础:pandas,numpy,matplot,sklearn
  • 1.数据收集--业务数据-sql,爬虫数据
    • 案例:贷款审批额度:简历数据(学历,性别,工作经验,从事行业,专业,城市,薪资,学校--预测薪资--计算额度)
    • 传统方法,根据规则人工计算
  • 2.数据预处理
    • 数据库,hive,python中处理
  • 3.特征提取
    • 属性特征
    • 模型选择
  • 4.构建模型
    • 分类(常用)
    • 回归
    • 聚类
  • 5.模型评估
    • 新数据来测试做的模型,生产数据分2份,一部分测试,一部分训练
    • ROC
    • AUC
    • 准确率,召回率
  • 6.部署上线
    • 得到的模型部署
  • 7.迭代

8.数据收集与存储

  • 8.1数据来源
    • 用户访问行为数据
    • 业务数据
    • 外部第三方数据,爬虫数据
  • 数据存储
    • 需要存储的数据:原始数据,预处理后数据,模型结果
    • 存储设施:mysql,HDFS,HBase,solr,Elasticsearch,kafka,Redis等
  • 数据收集方式:
    • fluma,kafka

9.机器学习常用数据集

  • 各种比赛的公开数据集,kaggle,天池,搜狗,pkbigdata

10.数据清洗和转换

  • 处理数据缺失
  • 处理异常,错误的数据
  • 合并多个数据源数据
  • 数据汇总
  • 前期数据分析
  • 文本数据抽取
    • 词袋法:将文本当成一个无序数据集合
    • TF-IDF:词频,逆文档词频

11.模型训练和验证


  • 模型选择:对特定任务场景选择最优模型
  • 在训练数据集上运行模型并在测试数据集中测试效果,迭代进行数据模型的修改,这种方式称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议)
  • 模型的选择会尽可能多的选择算法进行执行,并比较执行效果
  • 模型测试一般一下几个方面来进行比较,分别是准确率,召回率,精确率,F值
    • 准确率(Accuracy)=提取出的正确样本数/总样本数
    • 召回率(正确的正例样本数/样本中的正例样本数)
    • 精确率(Precision)=正确的正例样本数/预测为正例样本数
    • F值 = Precision * Recall * 2/(Precison+Recall)(F值为正确率和召回率的调和平均值)
    • 混淆矩阵

相关文章

  • 快速入门了解机器学习

    以下是最近机器学习笔记,有空再整理 1.机器学习定义 机器学习是一门从数据中研究算法的科学学科,坦白来讲,是根据已...

  • Matplotlib快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识。出于机器学习实践过程中的需要,快速了解了一下matplotli...

  • NumPy快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识。出于机器学习实践过程中的需要,我快速了解了一下NumPy这个科...

  • 新手入门机器学习十大算法

    【导读:对于想要了解机器学习的新手,本文为大家总结了数据科学家最经常使用的十大机器学习算法来帮助大家快速入门。】 ...

  • Pandas快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识。出于机器学习实践过程中的需要,我快速了解了一下提供了类似关系型...

  • 机器学习的入门“秘籍”

    摘要:机器学习已经成为当下最火热的技术之一,对于初学者来说,如何快速入门机器学习是至关重要的。本文属于入门级宝典,...

  • 机器学习中的基础知识(一)

    机器学习中涉及到了很多的概念,当然要想了解机器学习的话就需要对这些基础知识有一个深入的了解才能够入门机器学习,那么...

  • 学习讲究方法

    学习的快速入门。 学习快速入门很有必要,你先了解一项技能的底层知识和逻辑要点,掌握了基础,然后去刻意练习。学习写作...

  • [机器学习系列二]TensorFlow入门

    1. 写在最前面 1.1 机器学习如何入门 关于机器学习如何入门可以参考机器学习该怎么入门?[https://ww...

  • 机器学习工程师需要了解的十种算法 丨数据工匠简报(8.29)

    机器学习工程师需要了解的十种算法 那么,如果你想要学习机器学习的算法,该如何入门呢?就我而言,我的入门课程是在哥本...

网友评论

    本文标题:快速入门了解机器学习

    本文链接:https://www.haomeiwen.com/subject/uvxyaxtx.html