教你学Python41-如果我数学不好怎么办

 

实际学科的从业人员可能会羡慕数学。

在这里,他们认为数学家比他们更聪明,并且他们只有在“知道数学”之后才能在学科上脱颖而出。

我已经看过第一手资料,也看到它阻止了人们入门。

在本文中,我想说服您,您可以在不精通数学的前提下开始并在机器学习中取得长足进步。

如果我不擅长数学

边做边学

在开始编程之前,我没有学习布尔逻辑。

我刚开始编程,而您可能这样做了。

我遵循的经验路径涉及反复试验。它很慢,我编写了很多错误的代码,但是我非常感兴趣,并且可以看到进展。

当我构建更大,更复杂的软件程序时,我很喜欢教科书,因为它们使我可以更好地构建程序。我搜寻了可以用来克服实际遇到的限制的概念和实用工具。

这是一个强大的学习工具。如果我是通过被迫学习布尔逻辑或多态性等概念而开始编程的,那么我的热情就永远不会被点燃。

危险地带

当我的程序不起作用时,我喜欢它。这意味着我必须卷起袖子,真正了解发生了什么。

通过复制和粘贴代码,您可能会走很长一段路而无需真正理解它。您只需要将代码块理解为可以完成需要完成的功能的功能单元即可。将它们足够粘在一起,您就有一个程序可以解决您需要解决的问题。

这种经验式黑客是快速学习的好方法,但是却是构建生产系统的可怕方法。这是一个重要的区别。通常所说的“危险地带”是指通过经验学习建立的系统投入运行时,作者并不真正知道其工作原理或结果的实际含义。

这是一个非常现实的问题。例如,看一下适合于这种工作水平的一些IT系统和小型企业的网页。

在我看来,原型是一团用复制粘贴的泥浆和胶带粘在一起的球,可以勾勒出解决方案的外观。

操作系统或产生可操作性使用的结果或决策的系统不会令人惊讶。您可以整天进行代码审查,而团队会挑选每一行代码,您会感到很自在。

技术员

根据经验,您可以立即开始机器学习。您可以使用的三个选项是:

  1. 学习驱动scikit-learn,R或WEKA之类的工具。

  2. 使用提供算法并编写少量程序的库

  3. 自己从教程和书籍中实现算法。

除了选择之外,这还可以是技术人员从初学者到中级人员的即时学习技术的途径。

定义小问题,有条不紊地解决它们,并在博客上展示您学到的结果。在此过程之后,您将开始积累一些动力。

您将需要了解一些有趣的算法,例如更改某个特定参数时实际执行的操作或如何从特定算法中获得更好的结果。

这将促使您想要(需要)了解该技术的真正作用及其作用。您可能会绘制数据流和转换的图片,但是最终,您将需要内部化正在发生的矢量或矩阵表示和转换,这仅是因为它是我们可以清楚地描述正在发生的事情的最佳工具。

您可以保留经验主义者。我称此为技术人员的路径。

您可以建立使用哪种方法以及如何使用它们的经验直觉。您还可以学习足够的代数,以便能够阅读算法描述并将其转换为代码。

熟练的技术人员在这里有一条创建使用机器学习的工具,插件甚至操作系统的途径。

技术人员与量表另一端的理论家形成对比。理论家可以:

  1. 内部化现有方法。

  2. 提出对现有方法的扩展。

  3. 设计全新的方法。

理论家也许能够抽象地证明一种方法的能力,但可能不够熟练,无法将这些方法转换为原型演示系统之外的最佳代码。

您可以及时学习尽可能少的数学知识。专注于自己的优势,对自己的局限性诚实。

数学至关重要,以后

如果您必须及时学习线性代数,为什么不从头开始更全面地学习它,并从一开始就深入了解机器学习方法呢?

这当然是一种选择,也许是最有效的选择,这就是为什么它是大学教学的途径。这不是唯一可用的选项。

就像从逻辑和抽象概念开始学习编程一样,内部化机器学习理论可能不是您入门的最有效方法。

在本文中,您了解到技术人员和理论家有一条独立的道路。

您了解到,技术人员可以实时学习机器学习算法的数学表示形式和描述。您还了解到,技术人员的危险区域是过分自信,而将系统投入生产的风险却鲜为人知。

从技术人员的路线开始,在非常密集的ML课程中奋斗和学习,并随我所学。数学肯定是令人生畏的,但是随着时间的流逝,我在数学上变得更好了。在成为理论家之前,我还有一段路要走,但我做得越多,我就越有直觉。此外,一旦对为什么需要理论有所了解,学习理论就会变得更加有趣。学习简单黑客的局限性是进行更多数学和CS方面工作的强大动力。

喜欢点下关注,你的关注是我写作的最大支持

发布了141 篇原创文章 · 获赞 15 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/m0_37337849/article/details/104007541