统计学习方法 学习笔记(1)统计学习方法及监督学习理论

news2024/11/15 10:58:11

统计学习方法及监督学习理论

    • 1.1.统计学习
      • 1.1.1.统计学习的特点
      • 1.1.2.统计学习的对象
      • 1.1.3.统计学习的目的
      • 1.1.4.统计学习的方法
      • 1.1.5.统计学习的研究
      • 1.1.6.统计学习的重要性
    • 1.2.统计学习的分类
      • 1.2.1.基本分类
        • 1.2.1.1.监督学习
        • 1.2.1.2.无监督学习
        • 1.2.1.3.强化学习
        • 1.2.1.4.半监督学习与主动学习
      • 1.2.2.按模型分类
        • 1.2.2.1.概率模型与非概率模型
        • 1.2.2.2.线性模型与非线性模型
        • 1.2.2.3.参数化模型与非参数化模型
      • 1.2.3.按算法分类
      • 1.2.4.按技巧分类
        • 1.2.4.1.贝叶斯学习
        • 1.2.4.2.核方法
    • 1.3.统计学习方法三要素
      • 1.3.1.模型
      • 1.3.2.策略
        • 1.3.2.1.损失函数和风险函数
        • 1.3.2.2.经验风险最小化与结构风险最小化
      • 1.3.3.算法
    • 1.4.模型评估与模型选择
      • 1.4.1.训练误差与测试误差
      • 1.4.2.过拟合与模型选择
    • 1.5.正则化和交叉验证
      • 1.5.1.正则化
      • 1.5.2.交叉验证
    • 1.6.泛化能力
    • 1.7.生成模型与判别模型
    • 1.8.监督学习应用
      • 1.8.1.分类问题
      • 1.8.2.标注问题
      • 1.8.3.回归问题

1.1.统计学习

1.1.1.统计学习的特点

统计学习的概念:统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也被称为统计机器学习。

统计学习的主要特点:

  • 统计学习以计算机及网络为平台,是建立在计算机及网络上的。
  • 统计学习以数据为研究对象,是数据驱动的学科。
  • 统计学习的目的是对数据进行预测和分析。
  • 统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测和分析。
  • 统计学习是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科,并且在发展中逐步形成独自的理论体系和方法论。

学习的定义(来自赫尔伯特·西蒙):如果一个系统能够通过执行某个过程改进它的性能,这就是学习。

1.1.2.统计学习的对象

统计学习的对象:统计学习的对象是数据。它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析和预测中去。

统计学习对数据的基本假设:统计学习假设同类数据具有一定的统计规律性,这也是统计学习的前提。

1.1.3.统计学习的目的

统计学习的作用:统计学习用于对数据的预测和分析,特别是对未知新数据的预测和分析。

1.1.4.统计学习的方法

实现统计学习方法的基本步骤

  1. 得到一个有限的训练数据集合;
  2. 确定包含所有可能的模型的假设空间,也就是学习模型的集合;
  3. 确定模型选择的准则,也就是学习的策略;
  4. 实现求解最优模型的算法,也就是学习的算法;
  5. 通过学习方法选择最优模型;
  6. 利用学习的最优模型对新数据进行预测或分析。

1.1.5.统计学习的研究

统计学习研究的三个方面:统计学习方法、统计学习理论和统计学习应用。

  • 统计学习方法:旨在开发新的学习方法。
  • 统计学习理论:探求统计学习方法的有效性和效率。
  • 统计学习应用:将统计学习方法应用到实际问题中去。

1.1.6.统计学习的重要性

统计学习在科学技术中重要性的体现:

  • 统计学习是处理海量数据的有效方法。
  • 统计学习是计算机智能化的有效手段。
  • 统计学习是计算机科学发展的一个重要组成部分。

1.2.统计学习的分类

统计学习一般包括监督学习、无监督学习和强化学习三类。有时也包括半监督学习和主动学习。

1.2.1.基本分类

1.2.1.1.监督学习

监督学习的定义:从标注数据中学习预测模型的机器学习问题。

监督学习的本质:学习输入到输出的映射统计规律。

1.2.1.1.1.输入空间、特征空间和输出空间

输入空间和输出空间:在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间和输出空间。通常输出空间远远小于输入空间。

特征空间:每个具体的输入对应一个特征向量,所有特征向量存在的空间称为特征空间。特征空间的每一维对应一个特征。有时对特征空间和输入空间不作区分,实际上模型都是定义在特征空间上的。

监督学习的过程:从训练数据集合中学习模型,对测试数据进行预测。每一组数据称为样本。

监督学习的分类

  • 回归问题:输入变量与输出变量都是连续变量的预测问题。
  • 分类问题:输出变量为有限个离散变量的预测问题。
  • 标注问题:输入变量与输出变量均为变量序列的预测问题。

1.2.1.1.2.联合概率分布

监督学习关于数据的基本假设:输入变量和输出变量具有联合概率分布。

1.2.1.1.3.假设空间

假设空间的概念:由输入空间到输出空间的映射的集合。假设空间的确定意味着学习范围的确定。

1.2.1.2.无监督学习

无监督学习的定义:从无标注数据中学习预测模型的机器学习问题。

无监督学习的本质:学习数据中的统计规律或潜在结构。

无监督学习的输出:每一个输出是对输入的分析结果,如输入的类别、转换或概率表示。

无监督学习模型的作用:实现数据的聚类、降维或概率估计。

1.2.1.3.强化学习

强化学习的定义:智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。

强化学习的本质:学习最优的序贯决策。

智能系统与环境的互动过程:每一步中,智能系统从环境中观测到一个状态和一个奖励,便采取一个动作;环境在智能系统采取动作后,会根据该动作决定下一步的状态和奖励。要学习的策略就是在给定状态下智能系统采取的动作。

智能系统的目标:不是短期奖励的最大化,而是长期累积奖励的最大化。

马尔可夫决策过程的马尔可夫性:强化学习中假设智能系统与环境的互动基于马尔可夫决策过程。马尔可夫过程的马尔可夫性是指下一个状态只依赖于前一个状态与动作,下一个奖励依赖于前一个状态与动作。

1.2.1.4.半监督学习与主动学习

半监督学习定义:利用标注数据和未标注数据学习预测模型的机器学习问题。

半监督学习的目标:标注数据的构建往往需要人工,成本较高,而未标注数据的收集不需要太多成本。半监督学习旨在利用未标注数据中的信息,辅助标注数据,进行监督学习,以较低的成本达到较好的学习效果。

主动学习的定义:机器不断主动给出实例让教师进行标注,然后用标注数据学习预测模型的机器学习问题。

主动学习的目标:找出对学习最有帮助的实例让教师标注,以较小的标注代价达到较好的学习效果。

1.2.2.按模型分类

1.2.2.1.概率模型与非概率模型

概率模型:概率模型的形式是条件概率分布形式。决策树、隐马尔可夫模型、条件随机场、概率潜在语义分析、高斯混合模型等都是概率模型。

非概率模型:也称为确定性模型,其形式是函数形式。感知机、支持向量机、K近邻、AdaBoost、K均值以及神经网络都是非概率模型。逻辑斯蒂回归既可以视为概率模型,也可以视为非概率模型。

概率模型和非概率模型的区别:不在于输入和输出之间的映射关系,在于模型的内在结构。

概率图模型简介:概率图模型是概率模型的代表,是联合概率分布由有向图或无向图表示的概率模型,而联合概率分布可以根据图的结构分解为因子乘积的形式。贝叶斯网络、马尔可夫随机场和条件随机场都是概率图模型。

1.2.2.2.线性模型与非线性模型

线性模型与非线性模型的定义:如果模型本身是线性函数,那么该模型就称为线性模型,否则称该模型为非线性模型。

常见的线性模型和非线性模型:感知机、线性支持向量机、K近邻、K均值都是线性模型;核函数支持向量机、AdaBoost、神经网络是非线性模型。深度学习实际上是复杂神经网络的学习,也属于非线性模型。

1.2.2.3.参数化模型与非参数化模型

参数化模型的定义:模型参数的维度固定,模型可以由有限维参数完成刻画。感知机、逻辑斯蒂回归、K均值、高斯混合模型都是参数化模型。

非参数化模型的定义:模型参数的维度不固定或者说无限大,随着训练数据量的增加而不断扩大。决策树、支持向量机、K近邻都是非参数化模型。

两种模型的适用情况:参数化模型适用于简单问题,对于复杂问题使用非参数化模型更加有效。

1.2.3.按算法分类

统计学习按照算法可以分为在线学习与批量学习。

在线学习的定义:每次接收一个样本,进行预测,之后学习模型,并不断重复该操作的机器学习。

批量学习的定义:一次接受所有数据学习模型,之后进行预测。

在线学习和批量学习的比较:在线学习通常比批量学习更难,很难学到预测准确率高的模型,因为模型的每次更新中可以利用的数据有限。但是有些实际应用中要求学习必须是在线的。

1.2.4.按技巧分类

1.2.4.1.贝叶斯学习

贝叶斯学习的定义:又称为贝叶斯推理,是统计学和机器学习中最重要的方法。其主要的思想是,在概率模型的学习和推理中,利用贝叶斯定理计算在给定数据条件下模型的条件概率(即后验概率),并应用这个定理进行模型的估计和数据的预测。

1.2.4.2.核方法

核方法的作用:核方法是使用核函数表示和学习非线性模型的一种机器学习方法,可以用于监督学习和无监督学习。核方法可以把一些线性模型的学习方法扩展到非线性模型的学习,使得其应用范围更加广泛。

1.3.统计学习方法三要素

统计学习方法的三要素:模型、策略、算法。

1.3.1.模型

模型的假设空间包含所有可能的条件概率分布或决策函数,通常是由一个参数向量决定的函数族。参数向量的取值空间称为参数空间。

1.3.2.策略

策略的作用:有了模型的假设空间后,统计学习接着需要考虑按照什么样的准则学习最优的模型。

1.3.2.1.损失函数和风险函数

损失函数和风险函数的区别:损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。损失函数值越小,模型越好。

常用的损失函数:0-1损失函数、平方损失函数、绝对值损失函数、对数损失函数等。

经验风险的概念:模型关于训练数据集的平均损失称为经验风险或经验损失。

1.3.2.2.经验风险最小化与结构风险最小化

经验风险最小化策略

  • 认为经验风险最小的模型是最优的模型。
  • 样本容量足够大时有很好的学习效果,在现实中被广泛采用。
  • 样本容量很少时,经验风险最小化学习的效果未必就好,容易产生过拟合现象。

结构风险最小化

  • 为了防止过拟合而提出,等价于正则化。
  • 认为结构风险最小的模型是最优的模型。
  • 结构风险在经验风险的基础上增加了表示模型复杂度的正则化项或罚项。
  • 模型越复杂,正则化项的值越大。

1.3.3.算法

算法的概念:算法是指学习模型的具体计算方法,统计学习的算法成为求解最优化问题的算法。

1.4.模型评估与模型选择

1.4.1.训练误差与测试误差

训练误差和测试误差的概念:训练误差是指模型关于训练数据集的平均损失;测试误差是指模型关于测试数据集的平均损失。

训练误差和测试误差的使用:训练误差的大小对于判定给定问题是不是一个容易学习的问题是有意义的,但是本质上不重要;测试误差是学习中的重要概念,对于给定的两种学习方法,测试误差小的方法具有更好的预测能力,被认为是更有效的方法。

1.4.2.过拟合与模型选择

过拟合问题:如果一味追求提高对训练数据的预测能力,所选模型的复杂度往往会比真模型更高,这种现象称为过拟合。过拟合是指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测得很好,但是对未知数据预测得很差。

训练误差和测试误差随模型复杂度的变化:训练误差随着模型复杂度的提升而降低,测试误差随着模型复杂度升高先减小后增大。

1.5.正则化和交叉验证

1.5.1.正则化

正则化的定义:正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大。

正则化的作用:选择经验风险和模型复杂度同时较小的模型。

奥卡姆剃刀原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型,也就是应该选择的模型。

1.5.2.交叉验证

交叉验证的背景:在给定的样本数量充足时,可以随机地将数据集切分成三部分,分别为训练集、验证集和测试集。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。但是,实际情况下数据往往是不足的,为了选择好的模型,就可以采用交叉验证的方法。

交叉验证的过程:把给定的数据集进行划分,把切分的数据集组合成训练集和测试集,在此基础上评价各个模型的测试误差,选出测试误差最小的模型。

交叉验证的分类

  • 简单交叉验证:首先随机将已知数据分为两部分,一部分作为训练集,一部分作为测试集,然后用训练集在各种条件下训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
  • S折交叉验证:这是应用最多的交叉验证方法。随机地将已知数据分为S个互不相交且大小相同的子集,然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这个过程对可能的S种选择重复进行,最后选出S次评测中平均测试误差最小的模型。
  • 留一交叉验证:是S折交叉验证中S=样本总个数的特殊情形,往往在数据非常缺乏时使用这种方法。

1.6.泛化能力

泛化能力的定义:学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。

泛化误差上界的概念:泛化误差的上界,通常学习方法的泛化能力分析比较就是通过泛化误差上界确定的。泛化误差上界是样本容量的函数,当样本容量增加时,泛化误差趋于零;同时也是假设空间容量的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。

泛化误差上界定理:给出了泛化误差、训练误差和假设空间大小、样本容量和概率的函数关系。通过该定理可以得出在给定假设空间大小、样本容量和概率时某个方法的泛化误差上界。

在这里插入图片描述

1.7.生成模型与判别模型

监督学习方法的分类:监督学习方法又可以分成生成方法与判别方法;所学到的模型分别称为生成模型和判别模型。

生成模型的概念:生成模型由数据学习联合概率分布,然后求出条件概率分布作为预测的模型。典型的生成方法有朴素贝叶斯法和隐马尔可夫模型。

判别模型的概念:判别模型由数据直接学习决策函数或者条件概率分布作为预测的模型。典型的判别方法有K近邻法、感知机、逻辑斯蒂回归模型等。

生成模型的优点

  • 可以还原出联合概率分布;
  • 收敛速度更快;
  • 存在隐变量时仍然可以使用。

判别模型的优点

  • 学习的准确率往往更高;
  • 可以简化学习问题。

1.8.监督学习应用

监督学习的应用主要是三个方面:分类问题、标注问题和回归问题。

1.8.1.分类问题

分类问题的定义:输出变量为有限个离散值的监督问题。

分类问题的求解过程:在学习过程中,根据已知的训练数据集利用有效的学习方法学习一个分类器;在分类的过程中,利用学习的分类器对新的输入实例进行分类。

分类器性能评价

  • 准确率:对于给定的测试数据集,分类器正确分类的样本数和总样本数之比;
  • 精确率:预测和实际都是正类的样本数/预测为正类的样本数;
  • 召回率:预测和实际都是正类的样本数/实际为正类的样本数。
  • F1分数:精确率和召回率的调和平均数。

1.8.2.标注问题

标注问题的定义:标注问题是分类问题的推广。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使得该模型对观测序列给出标记序列作为预测。

常用的标注问题模型:隐马尔可夫模型、条件随机场。

1.8.3.回归问题

回归问题的概念:回归问题等价于函数拟合,选择一条函数曲线使得其很好地拟合已知数据且很好地预测未知数据。

回归问题的分类:按照输入变量的个数可以分为一元回归和多元回归;按照输入变量和输出变量之间的关系可以分为线性回归和非线性回归。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/176685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HBase入门】2. 集群搭建

安装 上传解压HBase安装包 tar -xvzf hbase-2.1.0.tar.gz -C ../server/ 修改HBase配置文件 hbase-env.sh cd /export/server/hbase-2.1.0/conf vim hbase-env.sh # 第28行 export JAVA_HOME/export/server/jdk1.8.0_241/ export HBASE_MANAGES_ZKfalsehbase-site.xml vim…

【算法】洗牌算法

目录1.概述2.代码实现2.1.暴力法2.2.Fisher-Yates 洗牌算法3.应用本文参考: LeetCode 384. 打乱数组 1.概述 (1)洗牌算法可以理解为:设计算法来打乱一个没有重复元素的数组 nums,并且打乱后,数组的所有排列…

使用C++实现学委作业管理系统

开发环境学委作业管理系统在 Microsoft Visual Studio 2013 编译器开发的 MFC 项目,计算机使用的系统是 window10。1.2 基本原理与技术要求熟悉文件读写、mfc 基本知识、c 类运用、链表使用、排序算法、Microsoft Visual Studio 2013 编译器的使用。1.3 需求说明学委…

【数据结构】二叉搜索树的实现

目录 一、二叉搜索树的概念 二、二叉搜索树的中序遍历用于排序去重 三、二叉搜索树的查找 1、查找的非递归写法 2、查找的递归写法 四、二叉搜索树的插入 1、插入的非递归写法 2、插入的递归写法 五、二叉搜索树的删除 1、删除的非递归写法 2、删除的递归写法 六、…

autojs模仿QQ长按弹窗菜单(二)

牙叔教程 简单易懂 上一节讲了列表和长按事件 autojs模仿QQ长按弹窗菜单 今天讲弹窗菜单 由粗到细, 自顶向下的写代码 我们现在要修改的文件是showMenuWindow.js function showMenuWindow(view) {let popMenuWindow ui.inflateXml(view.getContext(),<column><bu…

基于双层优化的微电网系统规划设计方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

机制设计原理与应用(一)机制设计基础

什么是机制设计&#xff1f; 微观经济学和CS /EE的交叉学科。它采用了一种工程方法来设计激励机制&#xff0c;以实现战略环境中不完全信息的预期目标。机制设计具有广泛的应用,特别是在资源管理方面。 文章目录1 机制设计的基础1.1 简介1.2 机制设计与博弈及优化的关系1.3 机…

手撕Pytorch源码#4.Dataset类 part4

写在前面手撕Pytorch源码系列目的&#xff1a;通过手撕源码复习了解高级python语法熟悉对pytorch框架的掌握在每一类完成源码分析后&#xff0c;会与常规深度学习训练脚本进行对照本系列预计先手撕python层源码&#xff0c;再进一步手撕c源码版本信息python&#xff1a;3.6.13p…

大数据之HBase集群搭建

文章目录前言一、上传并解压HBase安装包二、修改HBase配置文件&#xff08;一&#xff09;hbase-env.sh&#xff08;二&#xff09;hbase-site.xml三、配置环境变量四、复制jar包到lib文件夹五、修改regionservers文件六、分发安装包和配置文件七、启动Hbase八、验证HBase是否启…

尚硅谷前端ES6-ES11

ECMAScript 是由 Ecma 国际通过 ECMA-262 标准化得脚本程序设计语言。 1.let变量声明以及变量声明特性 <body><script>//let的声明let a , b10;//特性1&#xff1a;变量不能重复声明&#xff0c;避免命名污染// let star "罗翔"// let star "张…

Java | 浅谈多态中的向上转型与向下转型

文章目录&#x1f333;向上转型&#x1f4d5;概念明细&#x1f4aa;使用场景1&#xff1a;直接赋值&#x1f4aa;使用场景2&#xff1a;方法传参&#x1f4aa;使用场景3&#xff1a;方法返回&#x1f4aa;向上转型的优缺点&#x1f333;向下转型&#x1f529;向下转型解决【调用…

程序员拯救了一次地球

流浪地球2&#xff1a;程序员拯救了一次地球 顺便给我们讲了一个道理&#xff1a; 人类会谋划未来&#xff0c; 但关键的一步是靠勇气迈出去的 趣讲大白话&#xff1a;算得好不如胆量好 *********** 电影工业的皇冠是特效 国产电影的特效进步不小 时时刻刻&#xff0c;分分秒秒…

用户画像计算更新

3.1 用户画像计算更新 目标 目标 知道用户画像建立的流程应用 无 3.1.1 为什么要进行用户画像 要做精准推送同样可以使用多种推荐算法&#xff0c;例如&#xff1a;基于用户协同推荐、基于内容协同的推荐等其他的推荐方式&#xff0c;但是以上方式多是基于相似进行推荐。而构…

ROS移动机器人——ROS基础知识与编程

此文章基于冰达机器人进行笔记整理&#xff0c;使用的环境为其配套环境&#xff0c;可结合之前的ROS&#xff0c;赵虚左老师的文章结合进行观看&#xff0c;后期也会进行整合 1. ROS安装 &#xff08;1&#xff09;配置ubuntu的软件和更新&#xff0c;允许安装不经认证的软件…

JS手动触发PWA安装窗口

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的博客 &#x1f34a;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;…

仿写Dubbo-初识Dubbo

概念 Dubbo 在Dubbo官网介绍到&#xff0c;Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题。 RPC RPC&#xff08;Remote Procedure Call&#xff09;远程过程调用协议&#xff0c;一种通过网络从远程计算机上请求服务&#xff0c…

【Android】手机安装Termux运行nodejs学习Javascript编程入门

Termux 是运行在Android手机上的一个 Linux 终端模拟器&#xff0c;干什么都要输入命令执行&#xff0c;不像 Windows 操作系统桌面用鼠标点点点&#xff0c;这里主要介绍用它来学习Javascript编程入门&#xff0c;当然&#xff0c;这和小时候学过的C语言编程课入门一样的&…

C语言之程序设计概述

1.1.1 程序的概念 程序&#xff1a;算法 数据结构 程序设计方法 语言工具和环境数据结构&#xff1a;数据的类型和数据的组织方式算法&#xff1a;对数据操作的方法和步骤 1.1.2 程序设计语言的种类 第一代语言&#xff08;机器语言&#xff09;&#xff1a;执行效率高、…

【Leetcode每日一题】35.搜素插入位置|二分查找数组下标

&#x1f331;博主简介&#xff1a;大一计科生&#xff0c;努力学习Java中!热爱写博客~预备程序媛 &#x1f4dc;所属专栏&#xff1a;LeetCode每日一题–进击大厂 ✈往期博文回顾: 【JavaSE】保姆级教程|1万字10张图学会类与对象–建议收藏 &#x1f575;️‍♂️近期目标&…

【题解】2023牛客寒假算法基础集训营2

目录A. Tokitsukaze and abn (easy)思路B. Tokitsukaze and abn (medium)思路Tokitsukaze and abn (hard)思路D. Tokitsukaze and Energy Tree思路bfsdfsE. Tokitsukaze and Energy Tree思维F. Tokitsukaze and Gold Coins (easy)思路G. Tokitsukaze and Gold Coins (hard)H. T…