机器学习-概述

机器学习是一门能够让编程计算机从数据中学习的计算机科学。
一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果随着任务的增加,其表征经验的效果也能随之增加,即P与T成正增长关系,这样的系统就是一个机器学习系统。

什么是机器学习

机器学习是一门能够让编程计算机从数据中学习的计算机科学。
一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果随着任务的增加,其表征经验的效果也能随之增加,即P与T成正增长关系,这样的系统就是一个机器学习系统。

人工智能,智能手机也算智能,通过编写逻辑智能就可以称之为人工智能
机器学习,是从现有流程中学习经验
深度学习,由神经网络算法构建的机器学习模型

为什么需要机器学习

  1. 有助于提高系统的可维护性和可扩展性
  2. 用于解决算法非常复杂或没有算法的问题
    经验主义
  3. 规则发现,算法自动生成,获得对业务的洞见

机器学习的问题

  1. 建模问题
    所谓机器学习,在形式上可这样理解:在数据对象中通过统计或推理的方法,寻找一个接受特定输入X,并给出预期输出Y的功能函数f,即Y=f(X)。
  2. 评估问题
    针对已知的输入,函数给出的输出(预测值)与实际输出(目标值)之间存在一定的误差,因此需要构建一个评估体系,根据误差的大小判定函数的优劣。
  3. 优化问题
    学习的核心在于改善性能,通过数据对算法的反复锤炼,不断提升函数预测的准确性,直至获得能够满足实际需求的最优解,这个过程就是机器学习。

机器学习的类型

按照学习方式划分:有监督学习、无监督学习、半监督学习、强化学习

  • 有监督学习:用已知输出评估模型的性能;考试选择题:给出标准答案
  • 无监督学习:在没有已知输出的情况下,仅仅根据输入信息的相关性,进行类别的划分;考试写作文:没有标准答案
  • 半监督学习:先通过无监督学习划分类别,再根据人工标记通过有监督学习预测输出。
  • 强化学习:通过对不同决策结果的奖励和惩罚,使机器学习系统在经过足够长时间的训练以后,越来越倾向于给出接近期望结果的输出。类似于小孩,做对了,会得到夸奖,做错了,会得到惩罚。

按照学习过程划分:批量学习、增量学习

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

按照学习策略划分:基于实例的学习,基于模型的学习

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

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

    输入 输出
    1 2
    2 4
    3 6
    2x =Y
    9? 18

机器学习的基本流程

1
2
3
4
5
6
7
8
graph LR
A[数据收集] --> B[数据清洗]
B --> C[数据预处理]
C --> D[选择模型]
D --> E[训练模型]
E --> F[验证模型]
F --> G[使用模型]
G --> H[维护模型]

数据处理

  1. 数据收集 (数据检索、数据挖掘、爬虫)
  2. 数据清洗

机器学习

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

业务运维

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

机器学习的典型应用

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

机器学习的基本问题

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

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

  • 聚类问题:根据样本特征的相似程度,将其划分为不同的群落。

  • 降维问题:在性能损失尽可能小的前提下,降低数据的复杂度(样本特征)。