【译】如何学习机器学习

file

本文由前端翻译小组翻译,首发于:https://github.com/bigo-frontend/blog/ 欢迎关注、转载。

原文链接:How to Learn Machine Learning – Tips and Resources to Learn ML the Practical Way

如何学习机器学习 - 实践中学习 ML 的建议和资源

如今很多人想要学习机器学习。但是大多数ML老师提供的自下而上的课程令人生畏,足以让很多新手产生挫败感。

在这个教程里面我把课程倒过来了,我会概述我认为牢牢掌握 ML 最快最容易的方式。

内容目录

我提供的课程是一个多步循环的步骤过程,如下:

这是一个循环的学习计划,因为第 6 步实际上回到了第 0 步。

作为免责声明,这个课程对你来说可能有点奇怪。但是当我在麦吉尔大学给学生授课的时候已经做过了实战测试。

最开始采用理论上优越的自下而上的方法,后面我对这个课程尝试了很多迭代。通过经验,工程化的自顶而下的方式效果最好。

我受到了一致的批评,如果没有从基础开始学习,比如统计学或者线性代数,大家就会对机器学习的理解比较差,当他们建模的时候不知道在做什么。

理论上这种说法是对的,这也是为什么最开始我采用了自下而上的方法。实践中,情况并非如此。

实际上最终发生的情况是,因为学生知道如何做高级建模,当他们看到底层知识能够提升技能水平,这样一个直接的好处让他们就更倾向于自己去钻研。

如果学生从底层开始学习,他们就不能为自己设置学习情景 - 我认为这是大多数老师失去学生的原因。

说了这么多,我们进入实际学习计划吧!

第 0 步:沉浸在机器学习领域

学习任何东西的第一部分是全局了解它和找到你的兴趣点。

这会有两个主要的好处:

  • 了解该领域的大小让你知道不会错过一些事情,这会提高你的注意力。
  • 如果你知道你散步的风景是什么样子的,那么在你的精神层面画一条路线会更容易。

沉浸在机器学习领域
想象你是牧场里面的一只羊,重要的是,要知道牧场的边界,知道哪里的草味道更好。

为了更好地沉浸在机器学习领域,磨练你的学习计划,你应该依次回答以下问题:

  • 你能用机器学习做什么?
  • 你想用机器学习做什么?
  • 你具体要怎么做?

这些问题会引导你到更具体、可管理的学习模式,也让你看到更大的画面。

让我们更细节地看看这些问题。

你能用机器学习做什么

这个问题很大, 每个月都会改变。这个课程很棒的地方在于,你每通过一个步骤都会花时间思考这个领域可以做什么。

这会提炼你机器学习的心智模型。所以如果你在通过第一个步骤的时候,没有100%了解对机器学习能够做什么,这没什么大不了的。大致了解比不了解要好。

what is possible
当你在爬一座有云雾的山,看下面风景的时候,思考一下这个问题。

对于你能用机器学习做什么,我们从技术到实际应用层面,来做一个简单的概述。

机器学习技术话题

分类任务

使用 SVM 的分类任务

监督学习:这种类型的学习涉及向模型提供输入和标记输出,以对其进行训练。一旦训练完成,从技术角度来讲,你能够做到给定一个输入,模型就会产生正确的输出。

无监督学习:这种学习涉及没有输出的输入。你要求模型理解数据中的模式。

强化学习:此 ML 设置涉及代理、环境、代理可以执行的操作以及奖励。这有点像你如何用零食训练狗。

线上学习:这种类型的学习既可以是有监督的,也可以是无监督的。特殊之处在于模型可以在数据流进入时“在线”更新。

迁移学习:这种类型的学习是指你使用已经训练好的模型作为不同学习任务的起点。这大大加快了第二个任务的学习速度。

集成学习:这种 ML 技术涉及将多个经过训练的预测器放在一起(一个接一个或通过对输出进行投票)并使用这个预测器集合作为最终预测器。

机器学习还有更多种类,但这些都是一个很好的起点。

常见的机器学习模型

深度神经网络

最复杂的模型之一叫做深度神经网络

  • 线性回归y = ax + b 是一个很好用的公式,能够很好滴解决许多问题。这应该是大多数分析的起点。

  • 逻辑回归:这是一种对一个分类或多个分类的概率进行建模的模型。尽管它的名称中有回归,但它是一个分类模型。

  • 决策树:决策树模型创建一棵“决策”或公式树,遵循这些树会产生所需的输出。这些类型的模型很重要,因为它们在训练后易于理解和检查。

  • 支持向量机(SVM):将此模型视为构建一个平面,该平面将两个类之间的最大宽度分开。它比那更复杂一点,但是想象一条具有厚度的平面,你就已经完成了一半。

  • 朴素贝叶斯:这些类型的分类器使用贝叶斯定理,该定理假设所有特征彼此独立。然而,这种情况很少发生,这就是为什么它被称为朴素。即使该假设不成立,它在实践中的效果也出奇地好。

  • K最近邻:这种类型的分类器不需要训练,它只是记住数据集中的所有元素。然后,它可以根据输入与数据集中其他点的距离为你提供输出。

  • k-均值算法:这个无监督模型将在给定多个聚类的情况下找出哪些点属于哪个聚类。它将通过反复修改每个聚类中心来做到这一点,直到它收敛至稳定为止。

  • 随机森林:这是一种集成技术,它使用了许多非常简单的决策树分类器。模型的输出是大多数决策树的类别输出。

  • 降维算法: 降维算法有很多种,主成分分析就是其中之一。所有这些算法的要点是,从具有大量维度(特征)的数据集到具有较少维度(特征)的表示中它们都可以创建映射。当它映射到 2 维或 3 维时,它允许我们在 2D 或 3D 中可视化高维数据集。

  • XGBoost:该模型是正则化梯度提升模型。简而言之,它具有串行而不是并行设置的弱学习器(如随机森林)。这是一个非常好的模型,通常是机器学习比赛中的佼佼者。

  • 深度神经网络:这类型的模型有它们自己的整个领域。基本上,它们可以是串联的弱预测器,也可以是并联的弱预测器。这些模型能够构建数据的分层表示,从而产生很好的结果。由于他们的高容量,他们对训练非常挑剔(至少可以这么说)。这些模型有很多架构,例如 CNN 和 Transformer。

有很多机器学习模型。但值得庆幸的是,你无需了解所有内容即可精通机器学习。

实际上,如果你了解线性回归、SVM、XGBoost 和某种形式的深度神经网络,就可以解决大多数问题。但是了解模型的学习方式会让你思维跳跃更灵活,并让你以不同的方式思考问题。

机器学习的常见应用

这个领域每个月都会发生巨大变化。基本上,在你收集数据的任何领域,都可以将机器学习融入其中。

图像分割

被称为图像分割的 ML 应用(在自动驾驶方面有用)

重点是 ML 应用的广度和深度在不断扩大。因此,如果你认为自己对可能发生的事情只有肤浅的了解,请不要太担心。

  • 计算机视觉(CV):目前机器学习(尤其是深度学习)非常擅长处理图像和识别物体。你还可以进行生成式分析,神经网络能够使用特定的架构技巧(例如,GAN 或神经风格迁移)生成图像。

  • 自然语言处理(NLP):这包括很多子主题,例如:回答问题、翻译、文档分类或文本生成。

  • 医学诊断:当你处理医学图像时,使用计算机视觉技术来分析它们是很常见的。但是医学诊断也可以包括非基于图像的读数,例如血液样本中某种激素的浓度。

  • 生物信息学:这是一个非常广泛的领域,与许多其他技术重叠。一般来说,生物信息学使用机器学习技术来处理生物数据及其分析。在这里,您可以将蛋白质折叠视为生物信息学中严重依赖机器学习的一种任务。

  • 异常检测:识别某物何时属于某个类别,或者何时与大量数据相距甚远,那它必定是异常值,这是许多领域中的一项非常重要的实践。

  • 天气预测:随着时间的推移,真正与大量数据点有关的任何事情都将是应用机器学习的良好候选者。天气预报这个课题是一种在整个时间都有大量可用数据。

这份列表可能会持续一段时间。重点是为可能发生的事情绘制一张好的地图,以便你在学习旅程的下一阶段感到踏实。

你想用机器学习做什么

这个问题是最重要的。你无法在机器学习领域(或任何其他领域)中保证所有事情都具有意义。你认为哪些可以很好地利用你的时间,哪些不能,这些你必须慎重地做出选择。

做选择的方式之一是将你的兴趣降序排列。

排列兴趣

拿好一点的旧笔旧纸将这些学习话题排序。

然后只选择你最感兴趣的话题,把它钉在某个你能看见的地方。这是你后面要学的东西,没有别的,直到你的话题排序发生改变。

记着你当然可以改变你的兴趣。如果你对某个具体的话题非常感兴趣,但是随着学习的深入,发现它不再那么有意思了,你是可以抛弃这个话题然后选择另外一个。这是为什么第一步你要做兴趣排序。

如果你对很多话题都感兴趣,我强烈建议你一个周期只学习一个。所有的话题在某种方式上都是有联系的。深入某一个话题能让你看到这些联系。而一个话题接着一个话题你只是肤浅的学习,不会有这样的效果。

我在第100次通过本学习课程之后,如果现在要是学习一些新的东西,我会深入研究图神经网络及其在供应链管理中的应用。

具体要怎么做

现在你知道了你的兴趣所在以及它在一般上下文中的位置,花点时间来了解下人们是怎么做的。

怎么做

他们用的是什么,他们的环境是怎么样的?

你会花几个星期的时间(或者更久)理解要学习的东西,这个是很重要的。能够通过获得上下文来了解什么是你要学习的,什么是你不需要知道的,这样的基础会帮你节约大量的时间和精力。

这也会帮助你理解什么东西是真的不需要你花精力的。例如,如果你发现大多数人在他们日常的 ML 工作中没有使用 HTML,CSS,和 JavaScript,那你就不用关注这些技术。

关于在 ML 中人们会用到什么,根据应用的不同使用的编程语言和工具是相当广泛的。C++, Java, Lua, Swift, JavaScript, Python, R, Julia, MATLAB, Rust…都有相应的工具,不胜枚举。

但是大多数从业者基本都集中在Python及其包生态系统上。Python是一门相对容易掌握的编程语言,其拥有蓬勃发展的生态系统。这意味着如果人们想要构建机器学习工具,更可能会使用 Python 接口来开发。

然而实际的工具并不总是用纯 Python 来开发的,因为这门语言相当慢。但是因为它们有直接的 Python 接口,所以用户不知道它实际上是一个用 Python 包装的 C++ 库。

如果上面最后一个部分你没理解也没关系。只要记住学习 Python + Python 库是一个非常安全的选择。

机器学习用到的工具

机器学习工具通常的选择如下:

还有更多工具可以使用,巨多!了解他们,但如果没跟上最新的库也别有太大压力。上面提到的技术对于大多数项目来说已经够好了。

但有一些库你可能需要添加到你的技术栈,因为在你研究的领域这些更专业。

就我而言,研究图神经网络及其在供应链管理中的应用,似乎上面提到的所有这些库可以用。Pytorch 仍然有更专业的库,像 Pytorch geometric,能够加快图神经网络的开发速度。

我用到的技术栈如下:

Python + Pandas + Pytorch + Pytorch geometric + Git + Colab

因为我研究了人们在具体的子领域如何开发,这些工具正是他们在用的,所以我知道这套技术栈对我的使用场景来说还不错。

第 1 步:研究一个看起来像游戏终局的项目

现在你确切地知道你想做什么,对具体的东西怎么做有一个大概的想法,是时候更具体一些了。

深入了解如何做某事的最好方法是观看实际的专家工作。你可以将其视为异步学徒制。

导师

你和你的导师正在搞清楚所有闪光灯的作用。

与任何理论相比,通过行动能够看到最终的结果,这会给你提供更多的上下文,从而为你奠定学习的基础。

为了达到这样一个效果,最好的方式是去 GitHub 或者 Kaggle 查看开源项目。查看一些项目,直到找到符合你的项目。

这个项目可能是一个完成的库,一个简单的分析或一个可用于生产环境的 AI。不管是什么,找出一些然后选择你最感兴趣的那个。

一旦有了项目,花时间浏览一下文档,代码结构和代码本身。

你可能会迷茫。特别是当你不知道如何写代码的时候感到更迷惑。但在学习新东西时这是积极的感觉!

对于你看到的重复使用的模式,你能理解的有意思的点,或者你不太明白的话题,要记笔记。

收藏该项目,当你在学习道路上不断向前走的时候要回过头来看看。

这个 GitHub 列表是一个开始的好地方。然而,在 Kaggle
或 GitHub 上搜索你感兴趣的机器学习相关的关键字也可以。

我自己具体的学习计划,一个好的简单项目来自于 Thomas Kipf。这个项目足够简单,我能够浏览并理解每个部分发生了什么,同时学习结构的基础。

第 2 步:学习编程语言

如今你非常清楚你的方向在哪里,知道你需要学习什么,是时候理解代码了。

代码很可能是基于 Python,不过也取决于你想要学习什么,你收藏的项目是什么,所以也有可能接触到 Julia, C++, Java 或者其他编程语言。

不管编程语言是哪一种,你应该花时间学习基础,这样你才能理解如何拼凑脚本。

彻底学好 Python 这门函数式编程语言,不错的课程有 freeCodeCamp 的 Python 科学计算
课程
Kaggle 非常间断的 Python 课程

freeCodeCamp

强烈建议 freeCodeCamp 的这门课程

你不需要100%理解语言是如何工作的。每学完一个课程,花点时间把你选择的这门编程语言提炼一下,这样迭代着去学习。

对于我的学习计划而言,freeCodeCamp 课程达到了不错的效果。

第 3 步:自上而下学习机器学习库

在机器学习课程中我经常看到的一件事情就是,在他们学习了 ML 基础之后就从头开始实现一些算法。

尽管我认为自己实现会是一个很棒的工程,但是我认为在机器学习道路的前期不应该成为主要的关注点。

主要是因为,除了那些制作开发人员用的软件包的人,几乎没有人从头开始实现算法。即便是这样,他们经常依赖于其他的软件包,而这些软件包是由学习线性代数的人做了很多底层工作开发而来。

所有这些想要表达的是,虽然深刻理解事物的工作原理是一件积极的事情,但我认为这不应该是一个早期的目标。

这个时候我强烈建议,在你所选择的编程语言中学习能让你获得最终结果的最高层的库。

学习如何使用超级高级的库足以做一些有用的东西。

此时你肯定会缺乏理解,为什么有些事情可以工作,有些不行,但是没关系。

重要的是,对于专家每天实际都在使用的工具,你能够利用它们让你的东西运行起来。一旦你对高级库所做的事情有了一定的了解之后,你应该继续了解稍微底层一点的技术。

但是确保你不要深入到学习库的原理(如果阅读关于 Fortran 语言的时候你在LAPACK水平,那你已经走的太远了!!)

对于我的项目,我需要学习的最主要的库是 Pytorch 或者 对其更高级的封装,所以由 fast.ai 提供的实践课程会有帮助。

第 4 步:用最多一个月的时间做一个你感兴趣的项目

现在到了实际学习最多的部分。此时你应该具备最基本的知识,拼凑出功能最小的项目。

只是注意 - 如果你感觉完全有信心进入正在计划的项目,说明从第 0 步到第 3 步你通过的还不够快。

在你感兴趣的领域想出一些东西,你真的想要创造并开发出来的东西。在项目上不要太疯狂,因为这要花费 1 周到最多 1 个月的时间来完成。

在你的日历上把日期添加进去并设置通知。项目的时间限制既能激励人,又能给你足够的压力,让你能够完成它。

这里的想法是在一个小项目上进行足够的努力,以了解你主要知识的差距在哪里,并体验真正的机器学习开发人员的经历。

通过在没有课程或书籍的情况下采用自由形式,你将能够完成 ML 项目中困难的实际部分:

  • 计划、确定范围,以及跟踪你 ML 项目的进度
  • 阅读关于库的文档
  • 阅读 StackOverflow,GitHub,任意一个工程师的博客以及关于某个漏洞的神秘帮助论坛
  • 以次优的方式构建你的项目,并随着时间的推移对其进行改进
  • 调试过拟合、欠拟合和泛化问题

要选出你感兴趣的项目,我建议做以下三个小练习:

  • 深入思考现在你对什么感兴趣
  • 查看项目想法列表
  • 查看开放数据集

通过将这三件事混合起来,对于可能的事情你能够形成更多的上下文。你还会混合搭配你的兴趣,以制作真正属于你自己的东西。

该Github清单应该是一个很好的资源,在这里能获得关于小型项目的一些启示。而后你再结合谷歌数据集搜索引擎,找到跟你项目吻合的数据。

⚠️ 不要低估数据的重要性。⚠️

即使你有很好的想法,如果没有数据,你的进度将会收到很大的阻碍。

对于我的兴趣,我找到了一份关于矿业公司全球供应链的简洁数据集,其中数据足够来制作一些东西。我的项目是将数据建模为图形,并使用图形神经网络来推断挖掘机的销售价格,这是该数据集的中心主题。

第 5 步:找到你知识的差距,然后学习

此时,你已经花了一些时间来制作你的项目,实际上你已经对它取得的进展印象深刻。但是,这可能与您的想法相去甚远,而且你在此过程中遇到了无数问题。

现在,你意识到实际上自己知道的很少,并且你确实需要修补自己的某些知识。

新知识

你为你新发现的无知而欢欣鼓舞!恭喜👏

这很棒!为学习道路上看到的所有差距制作一份列表,根据你估计的优先级排序。对你来说可能很难,因为这时候所有的东西好像都非常重要。但是,有意识地决定下一步要学什么,这种训练几乎与学习本身一样有价值。

现在到了奇怪的部分:从列表中删除所有内容,只学习最重要的知识。

当我说消除时,我是认真的。删除所有的内容,只留下第一个。当你在此循环中再次通过学习时,你对接下来要学习的内容的评估大多是错误的,并且你会错过其他不知道的更重要的知识。

现在你只剩下一个项目要学习了,请给自己 1 天到 1 周的时间来了解这个特定主题。这可能看起来很短,但你在这里真正想要的是获得足够深入的知识,以便为下一轮学习发挥作用。

学习

用很短的时间很努力地学习那一点点知识。

在实践中,可能会发生的情况是,你对这个主题足够深入,注意到它是如何与其他重要主题(如概率、统计,甚至是被遗忘的线性代数)相关联。

仔细查看这些链接,如果喜欢就关注它们,并强化你机器学习的心智模型,使其更加准确。

第 6 步:重复步骤 0 到步骤 5

第一次通过此课程你可能感觉充其量只是一般。但是,相比于自下而上的方法,你能在很短的时间内学到的东西多得多。

通过这种方法,每次通过课程所获得的价值会增长的相当快。每一轮都会变的更容易,你会对该领域获了解得也更清楚。

这种方法论基于我学会的精益方法论,并在我的初创公司中取得了巨大成功。对你正在优化的主题进行多次迭代是实现目标的最快方法。

精益

三步精益循环图,图片出自这里

在一年之内,您可能能够通过此课程叠加至 12 个循环,这意味着 12 个机器学习项目和对该领域动手之后的理解。

这种方法既会使你在招聘市场非常受欢迎,也提供提高自己所需的工具,一切都靠你自己。

另外,对于已经熟悉机器学习的人来说,这就是梯度下降。通过在无知的成本平面上做一些小步骤,你实际上是在“学习机器学习”问题上进行梯度下降。

你甚至正在做一个梯度下降的变体,它在成本平面上向前看,并且能够放慢速度(在项目或学习概念上花更多时间)或加速(当主题与你的理解不相关时跳过)。简而言之,这是 Nesterov 加速的渐变😄(哈哈,抱歉)!

梯度下降

这就是你在机器学习无知的成本平面上下降的情况。

总结

总的来说你应该:

  1. 弄清楚 ML 领域是什么样子,并为它制作一张思维导图。
  2. 找一个你想做的很酷的项目并对其进行研究。
  3. 学习所需的编程语言。
  4. 学习足够的库来做一些有用的事情。
  5. 做一个项目 [1 周,1 个月]。
  6. 学习一个你认为跟你所拥有的知识有很大差距的东西。
  7. 迭代。

我希望这篇文章对你有用,如果你对此流程有强烈的意见,请不要犹豫通过 LinkedIn 与我联系。另外,如果你想了解有关机器学习特定主题的更多信息,请查看我的 Youtube 频道

祝你学习顺利👋

有用的机器学习资源

在本节中,我将分享我为想要开始学习的人们推荐一系列学习资源。这不是一个详尽的列表,但对于想要获得第一个不错的机器学习心智模型的人来说,这将是一个很好的起点。

机器学习书籍

《The Elements of Statistical Learning》 By Astie et al。

机器学习社区的经典之作,强烈建议你反复阅读此书。

统计学习基础

很棒的入门书!

《Artificial Intelligence, A Modern Approach (3rd Edition)》

这本书对更广泛的人工智能领域有一个很好的概述,其中不一定包括机器学习。

人工智能

这本书很好地将整个 AI/ML/DL 领域联系在一起

《The Deep Learning Book》

深度学习领域的大经典,如果你有线性代数的一些背景(开头有入门书),这是一本非常容易接近的书。

深度学习

封面非常整洁,因为它是由深度神经网络生成的。

《Python Data Science Handbook: Essential Tools for Working with Data》

非常棒的书,能够提升你在 Pandas 和 Numpy 中的数据科学技能。这将使你的代码更加紧凑、高效和可读。

Python

把它放在你桌子附近并做练习。

《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems》

如果你需要阅读一本书来启动和运行,那就是这本书。非常彻底,动手性很强。

Tensorflow

无论是高清蜥蜴还是灰度蜥蜴,都非常实在!

《Deep Learning with Pytorch》

我喜欢这本书,因为可以从 Pytorch 的创建者那里直接了解他们的哲学(其中有一些简洁的神经科学示例,看到这些我总是很高兴)。

Pytorch

这个的视觉效果做得很好,尤其是张量部分。

机器学习博客

Machine Learning Mastery

如果你最终在一个项目中搜索了很多东西(就像任何人一样),你会反复看到这篇博文:machinelearningmastery

这篇文章写得很好,这个人能够通过网站获取 ML 相关主题的 SEO 非常了不起。

Analytics Vidhya

你最有可能在谷歌搜索中找到的第二个博客是 analyticsvidhya。它可能看起来不比前一个好,但里面仍然有很多很棒的内容。

Distill

非常整洁又视觉丰富的机器学习主题期刊:distill.pub

因为整个团队都筋疲力尽了,他们似乎暂停了一年,但是那里有高质量的 ML 内容。

机器学习社区

r/MachineLearning

很棒的社区,可以获得机器学习的最新发展状态,当下事件也会在 ML 社区中的进行热门报道。

社区分享高质量的内容,潜伏一段时间之后,你将了解该领域其他人的想法。

它还产生了良好的学习宝石,例如这个

社区

这非常直截了当,但仍然相关。

r/LearnMachineLearning

这是一个很好的社区,供新人提问、发布项目或从其他人的工作中获得灵感。

机器学习事件

MAIN (Montreal AI and Neuroscience) 峰会

我对这个峰会有所偏心,因为这是一个结合我两个兴趣的峰会:神经科学和机器学习:2020 链接油管视频

此外,由于它在蒙特利尔举办并且我住在附近,我通常可以进去查看计算神经科学的最新进展。

NeurIPS (Neural Information Processing Systems) 峰会

这是关于神经网络的神秘机器学习会议

近年来,它变得人满为患,以至于其实用性受到质疑。尽管如此,如果你不能参加,查看研究人员接受什么样的工作是个好主意。

还有更多活动,时不时参加会议是一个好主意,以便看到真正的前沿研究。这可能有点让人不知所措,但这是一次很棒的学习体验。

线上机器学习课程

Fast AI

如果要我推荐一门在线课程,那就是 FastAI 的这门课程。

它实际上体现了我在这篇博文中所写的这种务实、直接动手的方法 + 老师非常有趣。

当然还有Andrew Ng ML

如果我有第二个推荐,我会选择 Andrew Ng 的机器学习课程

freeCodeCamp 的机器学习和数据分析油管课程

freeCodeCamp 在他们的油管频道上有很多很棒的机器学习和数据分析课程,比如:

还有更多的资源 —— 只需前往 freeCodeCamp 的油管频道并搜索你想学习的内容。

欢迎大家留言讨论,祝工作顺利、生活愉快!

我是bigo前端,下期见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值