为什么机器学习不必这么难?这是一篇神文!

为什么机器学习不必这么难

使用自下而上的方法教授数学,物理学甚至计算机科学等技术主题。这种方法以一种合理的方式在研究领域中拓宽主题,并且复杂性和能力会自然发展。问题是,人类不是执行学习程序的机器人。我们需要动力,兴奋,最重要的是,需要将话题与切实的成果联系起来。

我们每天使用的有用技能(例如阅读,驾驶和编程)不是通过这种方式来学习的,实际上是通过自上而下的反向方法来学习的。这种自上而下的方法可用于直接学习技术主题,例如机器学习,它可以使您更快地提高工作效率,并带来很多乐趣。

在这篇文章中,您将发现在技术方法上,自上而下和自下而上的学习之间的具体区别,以及为什么这是从业人员应该用来学习机器学习乃至相关数学的方法。

阅读这篇文章后,您将知道:

  • 在大学使用自下而上的方法来教授技术学科及其相关问题。
  • 人们如何以自上而下的方式学习阅读,驾驶和编程,以及自上而下的方法是如何工作的。
  • 机器学习乃至数学的框架,使用自上而下的方法进行学习,以及如何以快速的开始取得进步。

让我们开始吧。
在这里插入图片描述

总览

这是一篇重要的博客文章,因为我认为它确实可以帮助您摆脱自下而上的大学式机器学习方式。

这篇文章分为七个部分;他们是:

  1. 自下而上的学习
  2. 学习阅读
  3. 学开车
  4. 学习编码
  5. 自上而下的学习
  6. 学习机器学习
  7. 学习数学

一、自下而上的学习

参加一个研究领域,例如数学。有一种逻辑上的方法可以安排相互依存的数学主题,并通过技巧,能力和理解的自然发展来引导。问题是,这种逻辑上的进展可能只对已经在另一端的人有意义,并且可以理解主题之间的关系。大多数学校都是围绕这种自下而上的自然发展过程而建立的。通过这种方式教授了许多技术和科学领域。

回想一下高中或大学学习以及您可能曾经从事过的基本领域:例如:

  • 数学
  • 生物学
  • 化学
  • 物理
  • 计算机科学

考虑一下如何按周,按学期,按年,按年布置学习材料。自下而上,顺理成章。

问题是,通过学习材料进行逻辑推理可能不是学习材料以提高生产力的最佳方法。

我们不是执行学习程序的机器人。我们是情绪化的人类,需要动力,兴趣,注意力,鼓励和结果。

您可以自下而上地学习技术主题,一小部分人确实喜欢这种方式,但这不是唯一的方式。

现在,如果您已经完成了一个技术主题,请回想一下您是如何实际学习的。我敢打赌这不是自下而上的。

二、学习阅读

回想一下您如何学习阅读?

我儿子开始读书。无需过多考虑,以下是他使用的一般技巧:

  • 直接开始阅读,以引发兴趣并显示收益。
  • 降低字母并发出正确的声音。
  • 记住最常用的单词,它们的声音以及如何拼写。
  • 学习“拼写单词”这种启发式方法来处理未知单词。
  • 在监督下通读书籍。
  • 在没有监督的情况下通读书籍。

重要的是,他必须不断了解阅读为何如此重要,并将其与他想做的非常实际的事情联系起来,例如:

  • 阅读电视节目上的字幕
  • 阅读有关他喜欢的主题的故事,例如《星球大战》
  • 当我们外出时阅读标志和菜单
  • 等等…

同样重要的是,他要获得可以跟踪的结果,并可以在其中看到改善。

  • 词汇量更大
  • 流畅的阅读风格
  • 越来越复杂的书籍

这是他不学会阅读的方式:

  • 单词类型的定义(动词,名词,副词等) 语法规则。
  • 标点符号规则。
  • 人类语言理论。

三、学习开车

您开车吗?

如果您不这样做,那很酷,但是大多数成年人都是出于必要。社会和城市设计围绕个人流动性而建立。

您是怎么学会开车的?

我记得一些笔试,也许是计算机考试。这是我记得的。

我记得雇用一名驾驶教练并参加驾驶课程。每节课都是实用的,在汽车上,练习我需要掌握的技能,在交通中驾驶汽车。

这是我没有与驾驶教练学习或讨论的内容:

  • 汽车的历史。
  • 内燃机理论。
  • 汽车中常见的机械故障。
  • 汽车的电气系统。
  • 交通流理论。

时至今日,我仍然在没有任何关于这些主题的知识的情况下安全开车。

实际上,我从未期望学习这些主题。我的需求或利益为零,他们不会帮助我实现我想要和需要的东西,这是安全且容易实现的个人机动性。

如果汽车坏了,我会打电话给专家。

四、学习编程

我开始编程时并不了解编程或软件工程的含义。

在家里,我在Basic中弄乱了命令。我在Excel中弄乱了命令。我修改了电脑游戏。等等。好玩。

当我开始学习编程和软件工程时,它是在大学里,而且是自下而上的。

我们开始于:

  • 语言理论
  • 资料类型
  • 控制流程结构
  • 数据结构
  • 等等

当我们确实写代码时,它是在命令行上的,并且困扰着编译器问题,路径问题以及与实际学习编程无关的所有问题。

我讨厌编程。

快闪几年。不知何故,我最终开始在某些受用户重视的复杂系统上以专业软件工程师的身份工作。我真的很擅长并且喜欢它。

最终,我完成了一门课程,展示了如何创建图形用户界面。另一个展示了如何使用套接字编程使计算机相互通信。另一个是关于如何使用线程使多个事物同时运行的。

我将无聊的东西与我真正喜欢的东西联系在一起:开发可以解决问题的软件,供他人使用。我把它连接到重要的东西上。它不再是抽象和深奥的。

至少对我来说,以及像我这样的许多开发人员,他们都教错了。他们确实做到了。这样浪费了很多时间,精力和成果/结果,像我这样热情而又无时间的学生可能会献身于他们真正热衷的事情。

五、自上而下的学习

自下而上的方法不仅是教授技术主题的常用方法;看起来是唯一的方法。

至少在您考虑如何实际学习之前。

大学课程的设计者,其学科领域的硕士正在努力提供帮助。他们正在布局所有内容,以使您通过他们认为可以使您达到所需的技能和能力的材料的逻辑进展(希望如此)。

正如我提到的,它可以为某些人工作。

它对我不起作用,我希望它对您不起作用。实际上,我见过的很少有真正擅长技巧的程序员是通过计算机科学程序获得的,或者,如果这样做的话,他们一个人在家学习,就可以攻克辅助项目。

另一种方法是自上而下的方法。

翻转常规方法。

不要从定义和理论开始。相反,首先将主题与所需的结果联系起来,然后说明如何立即获得结果。

布置一个计划,该计划侧重于实践获取结果的过程,根据需要更深入地研究某些领域,但始终要在它们要求的结果范围内。

那不一样

这不是传统的道路。

如果采取这种方式,请注意不要使用传统的思维或比较方式。

您有责任。没有可责备的制度。您只有在停止时才会失败。

  • 这是迭代的。在更深刻的理解下,主题多次被重访。

  • 这是不完美的。刚开始时结果可能很差,但是随着实践的进行会有所改善。

    它需要发现。学习者必须对不断的学习和发现保持开放的态度。
    它需要所有权。学习者负责改进。
    这需要好奇心。学习者必须注意他们感兴趣的内容并遵循它。

有危险

认真地说,我已经多次听到“ 专家 ”这样的话,说的是:

“在使用此技术之前,您必须先了解该理论,否则您将无法正确使用它。”

我同意,结果在一开始将是不完美的,但是改进甚至专业知识不仅必须来自理论和基础。

如果您认为初学者程序员不应该将更改推向产品并进行部署,那么您一定必须相信,初学者机器学习从业人员会遭受同样的约束。

必须证明技能。

必须赢得信任。

不管如何获得技能,这都是事实。

你是技术人员

真!?

我看到这是另一种“ 批评 ”,这种批评是针对这种学习方法的。

究竟。我们希望成为技术人员,在实践中使用这些工具来帮助人们,而不是成为研究人员。

您无需涵盖所有相同的领域,因为您有不同的学习目标。尽管您可以在拥有集成抽象知识的上下文后回头学习任何您喜欢的东西。

工业界的开发人员不是计算机科学家。他们是工程师。他们是手工艺的骄傲。

高效,有效和有趣的学习方式
这样做的好处远远超过了通过这种方式学习的挑战:

  • 您直接去做自己想要的事情,然后开始练习。
  • 您拥有连接更深的知识甚至理论的环境。
  • 您可以根据您在主题中的目标有效地筛选和过滤主题。

更快!

更有趣!

而且,我敢打赌,它会让您变得更好。

你怎么会更好?

因为主题在情感上与您联系。您已将其与对您而言重要的结果或结果相关联。你被投资了。你有明显的能力。我们所有人都喜欢我们擅长的事情(即使我们对自己的出色之处视而不见),这会激发动力,热情和激情。

一个热情的学习者将直击原教旨主义者。

六、学习机器学习

那么,您如何接近机器学习的主题?

认真地说,在下面的评论中告诉我您的方法。

  • 您正在自下而上的大学课程吗?
  • 您是否正在对此类课程进行学习建模?

或更糟的是:

您是否遵循自上而下的方法,却充满内,数学嫉妒和不安全感?

你不是一个人; 我每天都在帮助这个网站的初学者看到这一点。

为了为您连接点,我强烈建议您使用自上而下的方法学习机器学习。

  • 不要以先驱数学开始。
  • 不要从机器学习理论开始。
  • 不要从头开始编写每种算法。

与抽象知识建立联系之后,所有这些都可以稍后完善和加深您的理解。

  1. 首先学习如何使用带有免费和易于使用的开源工具的固定框架解决非常简单的预测建模问题。
  2. 在许多小型项目上练习并逐渐增加其复杂性。
  3. 通过建立公共作品集来展示您的作品。

我已经多次写过关于这种方法的文章。有关如何使用自上而下的机器学习方法的入门,请参阅文章末尾的“ 进一步阅读 ”部分。

根深蒂固的大学“专家”会说这很危险。别理他们。

世界一流的从业人员会告诉您这是他们学习并继续学习的方式。为它们建模。

记得:

  • 您通过练习阅读来学习阅读,而不是通过学习语言理论来学习。
  • 您通过练习驾驶而不是通过学习内燃机来学习驾驶。
  • 您是通过练习编码而不是通过学习可计算性理论来学习编码的。
  • 您可以通过练习预测模型来学习机器学习,而不是学习数学和理论。

这不仅是我学习和继续练习机器学习的方式,而且还帮助了成千上万的学生(以及该博客的数百万读者)。

七、学习数学

不要在那儿停下来。

有时会出现您想要或需要拉开机器学习的数学支柱(例如线性代数,微积分,统计量,概率等)的帷幕的时候。

您可以使用完全相同的自顶向下方法。

选择对您而言重要的目标或结果,并将其用作主题的筛选器,筛选器或筛选器,​​以学习和学习获得该结果所需的深度。

例如,假设您选择线性代数。

一个目标可能是欺骗SVD或PCA。这些是机器学习中用于数据投影,数据精简和特征选择类型任务的方法。

自上而下的方法可能是:

  • 在诸如scikit-learn之类的高级库中实现该方法并获得结果。
  • 在较低级别的库(例如NumPy /SciPy)中实现该方法并重现结果。
  • 使用NumPy或Octave中的矩阵和矩阵运算直接实现该方法。 研究和探索涉及的矩阵算术运算。
  • 研究和探索涉及的矩阵分解操作。
  • 近似矩阵特征分解的研究方法。
  • 等等…

目标提供了背景,您可以让好奇心定义学习的深度。

通过这种方式绘画,学习数学与学习编程,机器学习或其他技术主题的其他主题没有什么不同。

它的生产率很高,而且很有趣!

猜你喜欢

转载自blog.csdn.net/a18838956649/article/details/105021473