几年前我在大学上过一门概率课程,但我现在正在学习一些机器学习算法,其中一些数学只是令人困惑。
具体来说,现在,我正在学习 EM 算法(期望最大化),似乎需要的东西和我拥有的东西之间存在很大的脱节。
我不是要一本书或一个网站,但是要学习足够多的这些主题以能够彻底理解使用它们的算法的方法是什么?是否需要通读一本书并做数百个练习?或者从这个意义上说这是矫枉过正?
编辑:如果这是此问题的错误位置,请投票迁移 :)
几年前我在大学上过一门概率课程,但我现在正在学习一些机器学习算法,其中一些数学只是令人困惑。
具体来说,现在,我正在学习 EM 算法(期望最大化),似乎需要的东西和我拥有的东西之间存在很大的脱节。
我不是要一本书或一个网站,但是要学习足够多的这些主题以能够彻底理解使用它们的算法的方法是什么?是否需要通读一本书并做数百个练习?或者从这个意义上说这是矫枉过正?
编辑:如果这是此问题的错误位置,请投票迁移 :)
许多关于机器学习的书籍和在线介绍都在其内容中提供了一些关于它们所需概率的介绍,所以我会从一本或几本这类书籍开始。在我的脑海中,我可以想到Statistical Pattern Recognition(可能是因为我在那里学习了 EM)和The Elements of Statistical Learning。
我真正的建议是 Andrew Moore 的Statistical Data Mining Tutorials。那个网站弥补了我开始攻读博士学位(来自工程背景)之前的差距。我知道您说您不是在询问网站,但在您决定之前,请查看那里的数据挖掘者概率和其他概率幻灯片。并查看 EM 的高斯混合模型。
是否需要通读一本书并做数百个练习?
我不这么认为。机器学习中的概率计算倾向于围绕一些众所周知的路径进行聚类。对高斯单维和多维分布有深入的了解,并研究一些对 EM 的解释,应该会让你走得很远。和线性代数。您将需要大量的线性代数。
人工智能在过去十年中变得越来越重要,很大程度上取决于人工智能在我们日常生活中的发展和整合。人工智能已经取得的进步令人震惊,包括自动驾驶汽车、医疗诊断,甚至在围棋和国际象棋等战略游戏中下注人类。
人工智能的未来非常有希望,离我们拥有自己的机器人伙伴不远了。这促使许多开发人员开始编写代码并开始为 AI 和 ML 程序进行开发。然而,学习为 AI 和 ML 编写算法并不容易,需要广泛的编程和数学知识。
数学起着重要的作用,因为它为这两个流的编程奠定了基础。
数学对机器学习很重要的原因有很多。其中一些如下:
选择正确的算法,包括考虑准确性、训练时间、模型复杂性、参数数量和特征数量。选择参数设置和验证策略。通过了解 Bias-Variance 权衡来识别欠拟合和过拟合。估计正确的置信区间和不确定性。
机器学习需要什么类型的数学?
数学对于机器学习或人工智能的研究是绝对必要的。对 ML 中的概念和算法的任何更深入的理解都需要一些基本的数学知识。
三大主要数学理论:线性代数、多元微积分和概率论。
线性代数 –
机器学习中使用线性代数符号来描述不同机器学习算法的参数和结构。这使得线性代数成为理解神经网络如何组合以及它们如何运行的必要条件。
它涵盖了以下主题:
标量、向量、矩阵、张量 矩阵范数 特殊矩阵和向量 特征值和特征向量 多元微积分 –
这用于补充机器学习的学习部分。它用于从示例中学习,更新不同模型的参数并提高性能。
它涵盖了以下主题:
导数 积分 梯度 微分算子 凸优化 概率论 –
当我们设计这些深度学习或人工智能算法时,这些理论用于对基础数据进行假设。了解关键概率分布对我们来说很重要,
它涵盖了以下主题:
概率元素 随机变量 分布 方差和期望 特殊随机变量 如何快速学习机器学习的数学?
为数据科学学习数学的自学方式是通过“做屎”来学习。即便如此,您仍需要预先学习或回顾基础理论。您不需要阅读整本教科书,但您需要先学习关键概念。
作为软先决条件,我假设对线性代数/矩阵微积分(所以你不会被符号卡住)和介绍性概率具有基本的舒适度。
如果你想深入学习机器学习的数学,那么网上有 n 门课程可供选择,例如,
可汗学院的线性代数、概率与统计、多变量微积分和优化。
eduonix 上机器学习和人工智能的数学基础
在 udemy 上学习机器学习数学
Coding the Matrix: Linear Algebra through Computer Science Applications by Philip Klein,布朗大学。
拉里·沃瑟曼 (Larry Wasserman) 的书 — 所有统计数据:统计推理简明课程。
请记住,您通过实践学习得最好,遗憾的是这些课程没有足够的作业和家庭作业
我推荐的是机器学习和人工智能的数学基础——这门课程不是完整的数学课程;它并非旨在取代学校或大学的数学教育。相反,它侧重于您将在机器学习研究中遇到的关键数学概念。
你会学到什么:
以及更多……
在本课程结束时,您不仅拥有构建自己的算法的知识,而且还有信心真正开始将您的算法用于您的下一个项目。
该课程还附带项目和测验,以帮助巩固您对数学概念的了解。
它旨在填补那些在正规教育中错过了这些关键概念的学生,或者在长时间学习数学后需要恢复记忆的学生。
我认为这门课程比一开始花 2 到 3 个月浏览材料,然后在遇到它时忘记一半的知识要好得多。
尝试理解所显示的基本概念,并始终记住要玩得开心!