1 机器学习概述

1.1 什么是机器学习

机器学习是一门能够让编程计算机从数据中学习的计算机科学

一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果任务T的性能表现,也就是用以 衡量的P,随着E的增加而增加,那么这样计算机程序就被称为机器学习系统

自我完善、自我增进、自我适应

1.2 为什么需要机器学习

  • 自动化的升级和维护
  • 解决那些算法过于复杂甚至根本就没有已知算法的问题
  • 在机器学习的过程中协助人类获得对事物的洞见

1.3 机器学习的问题

  1. 建模问题

    所谓机器学习,在形式上可以这样理解:在数据对象中通过统计或推理的方法,寻找一个接受特定输入X,并给出预期输出Y的功能函数f,即Y=f(X)

  2. 评估问题

    针对已知的输入,函数给出的输出(预测值)与实际输出(目标值)之间存在一定的误差,因此需要构建一个评估体系,根据误差的大小判定函数的优劣

  3. 优化问题

    学习的核心在于改善性能,通过数据对算法的反复锤炼,不断提升函数预测的准确性,直至获得能够满足实际需求的最优解,这个过程就是机器学习

1.4 机器学习的种类

有监督学习、无监督学习、半监督学习、强化学习

  1. 有监督学习:用已知输出评估模型的性能,从而优化模型,典型类型有回归和分类
  2. 无监督学习:在没有已知输出的情况下,仅仅根据输入信息的相关性,进行类别的划分,典型类型有聚类和降维
  3. 半监督学习:先通过无监督学习划分类别,再根据人工标记通过有监督学习预测输出
  4. 强化学习:通过对不同决策结果的奖励和惩罚,使机器学习系统在经过足够长时间的训练以后,越来越倾向于给出接近期望结果的输出

批量学习和增量学习

  1. 批量学习:将学习的过程和应用的过程截然分开,用全部的训练数据训练模型,然后再在应用场景中实现预测,当预测结果不够理想时,重新回到学习过程,如此循坏
  2. 增量学习:将学习的过程和应用的过程统一起来,在应用的同时以增量的方式,不断学习新的内容,边训练边预测

基于实例的学习和基于模型的学习

  1. 基于实例的学习:根据以往的经验,寻找与待预测输入最接近的样本,以其输出作为预测结果

    年龄学历经验性别月薪
    25硕士210000
    20本科38000
    20本科3?
  2. 基于模型的学习:根据以往的经验,建立用于联系输出和输入的某种数学模型,将待预测输入代入该模型,预测其结果

1.5 机器学习的流程

1.6 机器学习的一般过程

数据处理

  1. 数据收集(数据检索、数据挖掘、爬虫)
  2. 数据清洗
  3. 特征工程

机器学习

  1. 选择模型(算法)
  2. 训练模型(算法)
  3. 评估模型(工具、框架、算法知识)
  4. 测试模型

业务运维

  1. 应用模型
  2. 维护模型

1.7 机器学习的项目流程

  1. 获取数据
  2. 数据预处理(数据清洗)
  3. 数据分析与可视化
  4. 选择合适的机器学习模型
  5. 训练模型(使用交叉验证选择合适的参数)
  6. 评价模型
  7. 上线部署使用模型

1.8 机器学习的典型应用

股价预测、推荐引擎、自然语言处理、语音识别、图像识别、人脸识别

1.9 机器学习的基本问题

1)回归问题:根据已知的输入和输出寻找某种性能最佳的模型,将未知输出的输入代入模型,得到连续的输出

2)分类问题:根据已知的输入和输出寻找某种性能最佳的模型,将未知输出的输入代入模型,得到离散的输出

3)聚类问题:根据已知输入的相似程度。将其划分为不同的群落

4)降维问题:在性能损失尽可能小的前提下,降低数据的复杂度

1.10 机器学习之Sklearn库

Scikit learn简称为Sklearn,是机器学习领域当中最知名的python模块之一

Sklearn库包含了许多机器学习的方式:

  • Classification 分类
  • Regression 回归
  • Clustering 聚类
  • Dimensionality reduction 数据降维
  • Model Selection 模型选择
  • Preprocessing 数据预处理

更多推荐

【机器学习01】概述