图片无法加载

本教程的知识点为:机器学习(常用科学计算库的使用)基础定位 机器学习概述 机器学习概述 1.5 机器学习算法分类 1 监督学习 机器学习概述 1.7 Azure机器学习模型搭建实验 Azure平台简介 Matplotlib 3.2 基础绘图功能 — 以折线图为例 1 完善原始折线图 — 给图形添加辅助功能 Matplotlib 3.3 常见图形绘制 1 常见图形种类及意义 Numpy 4.2 N维数组-ndarray 1 ndarray的属性 Numpy 4.4 ndarray运算 问题 Pandas 5.1Pandas介绍 1 Pandas介绍 Pandas 5.3 基本数据操作 1 索引操作 Pandas 5.6 文件读取与存储 1 CSV Pandas 5.8 高级处理-数据离散化 1 为什么要离散化 Pandas 5.12 案例 1 需求

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦~


全套教程部分目录:

图片无法加载

图片无法加载


部分文件图片:

图片无法加载

机器学习概述

学习目标

  • 了解人工智能发展历程
  • 了解机器学习定义以及应用场景
  • 知道机器学习算法监督学习与无监督学习的区别
  • 知道监督学习中的分类、回归特点
  • 知道机器学习的开发流程

1.5 机器学习算法分类

学习目标

  • 了解机器学习常用算法的分类

根据数据集组成不同,可以把机器学习算法分为:

  • 监督学习

  • 无监督学习

  • 半监督学习

  • 强化学习

1 监督学习

  • 定义:

    • 输入数据是由输入特征值和目标值所组成。

      • 函数的输出可以是一个连续的值(称为回归),
      • 或是输出是有限个离散值(称作分类)。

1.1 回归问题

例如:预测房价,根据样本集拟合出一条连续曲线。

图片无法加载

1.2 分类问题

例如:根据肿瘤特征判断良性还是恶性,得到的是结果是“良性”或者“恶性”,是离散的。

图片无法加载

2 无监督学习

  • 定义:

    • 输入数据是由输入特征值组成,没有目标值

      • 输入数据没有被标记,也没有确定的结果。样本数据类别未知;
      • 需要根据样本间的相似性对样本集进行类别划分。

举例:

图片无法加载

  • 有监督,无监督算法对比:

图片无法加载

3 半监督学习

  • 定义:

    • 训练集同时包含有标记样本数据和未标记样本数据。

举例:

  • 监督学习训练方式:

图片无法加载

  • 半监督学习训练方式

图片无法加载

4 强化学习

  • 定义:

    • 实质是make decisions 问题,即自动进行决策,并且可以做连续决策。

举例:

小孩想要走路,但在这之前,他需要先站起来,站起来之后还要保持平衡,接下来还要先迈出一条腿,是左腿还是右腿,迈出一步后还要迈出下一步。

小孩就是 agent,他试图通过采取行动(即行走)来操纵环境(行走的表面),并且从一个状态转变到另一个状态(即他走的每一步),当他完成任务的子任务(即走了几步)时,孩子得到奖励(给巧克力吃),并且当他不能走路时,就不会给巧克力。

主要包含五个元素:agent, action, reward, environment, observation;

图片无法加载

强化学习的目标就是获得最多的累计奖励

监督学习和强化学习的对比

监督学习 强化学习
反馈映射 输出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出。 输出的是给机器的反馈 reward function,即用来判断这个行为是好是坏。
反馈时间 做了比较坏的选择会立刻反馈给算法 结果反馈有延时,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏。
输入特征 输入是独立同分布的。 面对的输入总是在变化,每当算法做出一个行为,它影响下一次决策的输入。

拓展概念:什么是独立同分布

独立同分布概念

图片无法加载

拓展阅读:Alphago进化史 漫画告诉你Zero为什么这么牛:

[

5 小结

In Out 目的 案例
监督学习**(supervised learning)** 有标签 有反馈 预测结果 猫狗分类 房价预测
无监督学习**(unsupervised learning)** 无标签 无反馈 发现潜在结构 “物以类聚,人以群分”
半监督学习**(Semi-Supervised Learning)** 部分有标签,部分无标签 有反馈 降低数据标记的难度
强化学习**(reinforcement learning)** 决策流程及激励系统 一系列行动 长期利益最大化 学下棋

1.6 模型评估

学习目标

  • 目标

    • 了解机器学习中模型评估的方法
    • 知道过拟合、欠拟合发生情况

模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。

按照数据集的目标值不同,可以把模型评估分为分类模型评估和回归模型评估。

1 分类模型评估

图片无法加载

  • 准确率
    • 预测正确的数占样本总数的比例。
  • 其他评价指标:精确率、召回率、F1-score、AUC指标等

2 回归模型评估

图片无法加载

均方根误差(Root Mean Squared Error,RMSE)
  • RMSE是一个衡量回归模型误差率的常用公式。 不过,它仅能比较误差是相同单位的模型。

图片无法加载

举例:

假设上面的房价预测,只有五个样本,对应的
真实值为:100,120,125,230,400
预测值为:105,119,120,230,410

那么使用均方根误差求解得:<span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>R</mi><mi>M</mi><mi>S</mi><mi>E</mi><mo>=</mo><mroot><mrow><mfrac><mrow><mo>[</mo><mo>(</mo><mn>1</mn><mn>0</mn><mn>0</mn><mo>−</mo><mn>1</mn><mn>0</mn><mn>5</mn><msup><mo>)</mo><mn>2</mn></msup><mo>+</mo><mo>(</mo><mn>1</mn><mn>2</mn><mn>0</mn><mo>−</mo><mn>1</mn><mn>1</mn><mn>9</mn><msup><mo>)</mo><mn>2</mn></msup><mo>+</mo><msup><mn>5</mn><mn>2</mn></msup><mo>+</mo><msup><mn>0</mn><mn>2</mn></msup><mo>+</mo><mn>1</mn><msup><mn>0</mn><mn>2</mn></msup><mo>]</mo></mrow><mrow><mn>5</mn></mrow></mfrac></mrow><mrow><mn>2</mn></mrow></mroot><mo>=</mo><mn>5</mn><mi mathvariant="normal">.</mi><mn>4</mn><mn>9</mn><mn>5</mn></mrow><annotation encoding="application/x-tex">RMSE=\sqrt[2]{\frac{[(100-105)^2+(120-119)^2+5^2+0^2+10^2]}{5}} =5.495</annotation></semantics></math></span><span aria-hidden="true" class="katex-html"><span class="strut" style="height:1.70439em;"></span><span class="strut bottom" style="height:2.44003em;vertical-align:-0.73564em;"></span><span class="base displaystyle textstyle uncramped"><span class="mord mathit" style="margin-right:0.00773em;">R</span><span class="mord mathit" style="margin-right:0.10903em;">M</span><span class="mord mathit" style="margin-right:0.05764em;">S</span><span class="mord mathit" style="margin-right:0.05764em;">E</span><span class="mrel">=</span><span class="mord sqrt"><span class="root"><span class="vlist"><span style="top:-0.58125em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptscriptstyle uncramped mtight"><span class="mord scriptscriptstyle uncramped mtight"><span class="mord mathrm mtight">2</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="sqrt-sign" style="top:-0.21439000000000008em;"><span class="style-wrap reset-textstyle textstyle uncramped"><span class="delimsizing size3">√</span></span></span><span class="vlist"><span style="top:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="mord displaystyle textstyle cramped"><span class="mord reset-textstyle displaystyle textstyle cramped"><span class="mopen sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.686em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle cramped"><span class="mord textstyle cramped"><span class="mord mathrm">5</span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.677em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle cramped"><span class="mord textstyle cramped"><span class="mopen">[</span><span class="mopen">(</span><span class="mord mathrm">1</span><span class="mord mathrm">0</span><span class="mord mathrm">0</span><span class="mbin">−</span><span class="mord mathrm">1</span><span class="mord mathrm">0</span><span class="mord mathrm">5</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mbin">+</span><span class="mopen">(</span><span class="mord mathrm">1</span><span class="mord mathrm">2</span><span class="mord mathrm">0</span><span class="mbin">−</span><span class="mord mathrm">1</span><span class="mord mathrm">1</span><span class="mord mathrm">9</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mbin">+</span><span class="mord"><span class="mord mathrm">5</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mbin">+</span><span class="mord"><span class="mord mathrm">0</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mbin">+</span><span class="mord mathrm">1</span><span class="mord"><span class="mord mathrm">0</span><span class="msupsub"><span class="vlist"><span style="top:-0.289em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped mtight"><span class="mord mathrm mtight">2</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="mclose">]</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="mclose sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span></span></span><span style="top:-1.62439em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle uncramped sqrt-line"></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span>​</span></span></span><span class="mrel">=</span><span class="mord mathrm">5</span><span class="mord mathrm">.</span><span class="mord mathrm">4</span><span class="mord mathrm">9</span><span class="mord mathrm">5</span></span></span></span></span>

其他评价指标:相对平方误差(Relative Squared Error,RSE)、平均绝对误差(Mean Absolute Error,MAE)、相对绝对误差(Relative Absolute Error,RAE)

3 拟合

模型评估用于评价训练好的的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合。

在训练过程中,你可能会遇到如下问题:

训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢?

当算法在某个数据集当中出现这种情况,可能就出现了拟合问题。

3.1 欠拟合

图片无法加载

因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。

欠拟合(under-fitting)模型学习的太过粗糙,连训练集中的样本数据特征关系都没有学出来

3.2 过拟合

图片无法加载

机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图片全是白天鹅的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅。

过拟合(over-fitting):所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在测试数据集中表现不佳

  • 上问题解答:

    • 训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢?

4 小结

  • 分类模型评估【了解】

    • 准确率
  • 回归模型评估【了解】

    • RMSE -- 均方根误差
  • 拟合【知道】

    • 举例 -- 判断是否是人

    • 欠拟合

      • 学习到的东西太少
      • 模型学习的太过粗糙
    • 过拟合

      • 学习到的东西太多
      • 学习到的特征多,不好泛化