机器学习最好的课程是什么?

您所在的位置:网站首页 爱立方的课程是什么 机器学习最好的课程是什么?

机器学习最好的课程是什么?

2023-12-22 10:13| 来源: 网络整理| 查看: 265

首先说个结论,那就是没有最好的机器学习课程,只有最适合自己的机器学习课程。

为了这个问题,我问了周围的好几个计算机在读和毕业的博士,都是做机器学习方向,他们给我的反馈都不太一样。因为机器学习是一个跨学科的领域,本硕博专业都不一样的人也有不少,这种多样性实际上也是机器学习的一个魅力之一。

博士A(计算机本硕):编程和算法的背景比较扎实,很容易直接上手实验和项目,直接学了吴恩达在Coursera的机器学习课程,以及斯坦福大学开设的深度学习课程。额外花时间在数学上,比如线性代数、高等数学等等,用来补充在算法理解和设计方面的短板。        

博士B(数学本,计算机硕):数学方面非常扎实,编程稍弱但也不差,不过计算机底层原理,比如计算机网络、操作系统之类的不如计算机科班生扎实。学的是帝国理工大学在Coursera开设的《Mathematics for Machine Learning Specialization》,斯坦福大学的《Statistical Learning》,扎实的数学对于理解算法背后的数学模型很有优势。不过也需要额外的花时间来强化编程练习和算法实现。

博士C(建筑本硕):自己的优势就是跨学科,是带着建筑方向的问题去读博士的,所以会将机器学习看做一个用来解决问题的工具。在刚开始读博的时候,花了大量的时间从头学习编程技巧和数学基础。后来对于机器学习有了一个整体的认识之后,发论文倒是挺顺利的,因为用机器学习的方法解决建筑方面的问题当时是很新颖的。

博士D(商科本硕):跟建筑本硕类似,优势是具有很强的商业和市场的洞察力,会将机器学习的很简单但是很solid的方法与商业场景结合,效果很不错。毕业后也发展的很不错。缺点也是编程和数学基础比较差,需要花大量的时间去补足短板。

可以很明显的看到,对于机器学习的学习,每个人会因为不同的学科背景以及基础知识掌握的牢固程度而选择不同的学习路线以及侧重点。

他们之间是存在共性的:

多学科交叉:无论是计算机科学、数学、建筑,还是商科,各个领域都有与机器学习相关的应用。

数学与编程基础:这两个元素在所有学习路径中都是关键,虽然不同背景的人在这两方面的准备程度不同。

实际应用驱动:不论哪个背景,都有一种将机器学习应用于实际问题解决的趋势。

所以如果要我推荐最好的机器学习课程,根据你的学科背景和知识掌握程度是最科学的。

还有一个窍门就是你可以先掌握LLM,也就是大语言模型,它的好处就是汇集了几乎所有领域的重要知识,特别是机器学习相关的技术类知识,它非常的擅长。而在这个领域,最出名的就是ChatGPT,用多了你就知道ChatGPT可以为你解答机器学习过程中的大多数问。

所以我把机器学习的主要三个部分罗列了出来,可以看下面这个图。

分别是基础知识、进阶通用知识和细分领域知识,前两者基本上都需要掌握,而后面的细分领域知识就看最后面的具体领域了,因为一个人精通一个领域就很难了,多个领域一般是力不从心的。

基础知识  

对于基础知识来说,主要有数学、计算机和专业英语三个方面。

数学  

对于前三个,高数、线代和概率论,我推荐两个课,一个是deeplearningai,也就是吴恩达创建的网站推出的课程。

推荐的理由它就是针对于AI初学者开的课,一下子把这三门全都覆盖了。

当然了,每一个方向都有非常精品的课程。

线代:MIT的18.06 Linear Algebra 【https://web.mit.edu/18.06/www/】,这个无数人强推了。

github也开源了。

高数:国内国外的精品课程都很多,自己可以去B站或者油管找,我这里推荐一个「Essence of calculus」,是由国外大神「3Blue1Brown」制作的视频教程。

推荐的理由是做机器学习的高数就不需要做题了,反而是掌握它的基本原理和实际应用更为重要。

概率论:基本上理科生和工科生都上过,但是对于它的理解和掌握程度我自己觉得永远都不够,而它又是如此重要,机器学习中的很多算法都直接跟它相关。我建议英文不错的同学看一下MIT的这个课「Probabilistic Systems Analysis And Applied Probability」,完全开源免费的,教材、课件、视频等等一应俱全。

另一个就是我经常看到有人推荐的「陈希孺」版本的概率论与数理统计,B站有依据这本书作为教材的讲解视频。https://www.bilibili.com/video/av3781284/?vd_source=1af5b8977d5e4087fc147c9d2c09445a

计算机  

其实这一块主要就是编程,现在最主流的用于机器学习和人工智能的编程语言是Python,所以我非常建议非计算机专业的同学先学Python。

主要原因有两点,其一是Python语言实现起来比较容易,Python语言当中有大量的库可以直接使用,这会在很大程度上方便人工智能的开发,比如pandas、Scipy、Numpy等库;其二是Python语言本身能够完成落地应用,生态环境比较健全。

虽然ChatGPT可以帮你写代码,但是基本的python编程还是得学的,毕竟ChatGPT写的代码也有不少的bug,你起码得知道bug该怎么改。

而这部分你要学的内容没有很多,随便一个python在线课程都可以,我推荐一个免费的网站https://www.w3schools.com/python/default.asp

你学到对象/类这里就可以了,记住如果碰到理解不了的,直接把问题抛给ChatGPT帮你解答。

在学习过程中你会学习数据结构、逻辑判断以及面向对象编程等等。

当然了如果你要进阶的编程课的话,你可能会用到C++,R等等语言,但是暂时不用着急。

专业英语  

这个我只是建议,因为机器学习和人工智能的很多最新技术以及消息都是英文的,其次大多数的技术文档也是英文,所以掌握一定程度的英文是最好的。

虽然机翻页可以,但是很多时候机翻出来的技术类的东西,还是不如自己亲自去理解来的准确,再说了,如果以后做得好,跟国际上的其他大佬合作,良好的英语也是非常有价值的一种投资。

这个我推荐一个github的库,非常有趣,是给程序员学英语专门做的资料。

收藏人数1万多,非常适合用来真正掌握英语的人。

进阶通用知识  

这部分知识基本上是做机器学习都需要学的东西,因为一个完整的项目要想走下来,基本上就得先用统计分析对数据进行粗略的探索,然后用可视化来方便理解,接着就是机器学习该上场的时候来,最后有时候也会尝试一些深度学习的解决方案,所以说这部分基本上都得掌握。

统计分析  

统计分析是数据科学和机器学习的基础。它涵盖了概率、统计学原理和方法。统计分析用于从数据中提取模式、关系和趋势,以便做出推断和预测。常见的统计方法包括描述统计、假设检验、回归分析等。统计分析不仅帮助我们理解数据,还为机器学习提供了许多技术的基础。

我先要推荐的是一本书,我觉得写的非常好,叫《统计学:从数据到结论》,吴喜之老师编纂的。

《统计学:从数据到结论》一书由浅入深地讲授统计学基础知识,并提供了统计方法的两种软件,既R和Python的使用方法,让读者可以边学习边着手用统计软件处理数据。全书涉及统计学基本概念、数据的收集、数据的描述、概率和分布、变量之间的关系(回归和分类、多元分析)、时间序列分析、生存分析简介和基本软件使用方法的介绍等。本书前面的章节是对统计基本概念的介绍,后半部分则介绍了更有针对性的一些统计模型、方法和应用。

课程的话也是有很多,我推荐一个斯坦福大学的「统计学入门课程」,这个课程主要就是讲一些基本的概念,概率分布,置信度等等。

进阶一点儿的话就需要假设检验什么的知识,这个可以在deeplearning.ai的「Probability & Statistics for Machine Learning & Data Science」第四周上找到。

数据可视化  

它有助于你更好地理解数据的方式。它有助于发现数据中的模式、异常和关系。在机器学习中,数据可视化对于探索性数据分析(EDA)至关重要,它可以帮助我们选择合适的特征、检测数据质量问题,并可视化模型的性能指标。

我推荐一个coursera上的课,「Data Visualization with Python」,IBM开设的,它就是用Python的几个经典的交叉使用来制作出合理、实用且精美的可视化图像。

课程设置的很合理,介绍工具、各种不同的可视化类型和适合长久以及进阶的课程。

甚至词云,seaborn以及可交互的可视化都有介绍,非常推荐。

机器学习  

算法可以分为监督学习、无监督学习和强化学习等不同类型。它们用于分类、回归、聚类、降维、推荐系统等各种任务。了解不同类型的算法以及它们的工作原理对于选择适当的算法和调整模型至关重要。

其实这一块的教程也非常的多,基本上好点儿的学校都有开设,我只是推荐一个自己学过的,IBM的「Machine Learning with Python」,是基于Python的机器学习课程,正好把之前的Python也一起复习巩固了。

内容也大同小异,就是回归分析、分类,聚类等等。

哈佛大学的这个据说也很不错「Data Science: Machine Learning」,也是免费的。

中文的B站上有很多,可以自己根据题目去搜

吴恩达,经典入门课程,适合打基础的同学。

台大林轩田,机器学习基石与技法,介绍了机器学习的许多基础算法和思想,包含很多严谨的数学内容。

深度学习  

深度学习是机器学习的一个分支,重点关注神经网络模型。它的深度体现在多层神经网络结构中。就像ChatGPT之类的大模型,基本上都是用的深度学习的方法,因为它庞大的参数量以及复杂的网络结构,带来了在某些领域远超普通的机器学习算法。

中文的课程我推荐台大的李宏毅,他讲解的《深度学习》非常风趣,易于理解深度学习思想。

另一个原因是他对于人工智能的最新研究都会更上解读,比如ChatGPT,并且讲解非常的通俗易懂且有趣。

具体的框架学习,其实不需要推荐课程,你只需要根据你想用的框架+深度学习课程一艘就出能出来很多。

细分领域知识  

这部分就是更为进阶也更为具体的内容了,比如你学了机器学习的很多算法,你最后通常需要将他们应用到某个具体的领域。比如机器人控制,比如人脸识别,金融风控等等。这部分其实就不是单纯的机器学习了,而是「领域知识」+「机器学习」。

比如机器人控制技术,你就得掌握「机器人感知技术」,它是用红外线还是雷达还是纯粹的机器视觉,这都是需要了解的。而机器学习方面,也需要侧重的了解「强化学习」,因为需要机器人学会在复杂环境中做出决策和采取行动。

所以这部分其实就很看个人的兴趣以及专业所在了。

我先来提供一个万能的搜教程公式,那就是在google打上Awesome+你的研究/学习方向。

比如你想找计算机视觉的教程,那就是Awesome Computer vision,你搜索出来的第一个一般都是Github上一个非常人收藏的仓库,比如这个计算机视觉的。

每个像这样的仓库都提供了非常多的课程链接,并且都是非常优质的课程,我觉得还是自己去看看每个课程简介来对应到自己最感兴趣也最能坚持下去的课程最好。

当然了,我还是会推荐一些大家公认的不错的课程。

计算机视觉   

斯坦福计算机视觉课程 CS231n 李飞飞

https://www.bilibili.com/video/BV1nJ411z7fe/?from=search&seid=4849356188203058857&vd_source=1af5b8977d5e4087fc147c9d2c09445a

自然语言处理   

台湾大学自然语言处理课程 李宏毅

语音识别            

台湾大学深度学习语音识别课程 李宏毅

只能说这类型的课程有很多,最有用的技巧就是搜索技巧,记得「Awesome」+「方向」,基本上就能找到你想要的任何你想找的细分领域教程。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3