我想学习人工智能和机器学习,应该先从哪些方面入手呢?
0 533
0
该提问暂无详细描述
收藏
2021-01-02 13:40 更新 天明 •  1292
共 1 个回答
高赞 时间
1

我没有机器学习的学位(主要研究信号处理和软件工程),所以我经常遇到这个问题,他们的共同点是有计算机科学背景的软件工程师,所以我将从这个角度来解决你的问题。如果你是数学专业的学生,我的答案可能就没那么有用了。

参加在线课程
我告诉每一个入门机器学习的第一件事就是上Andrew Ng的在线课程。我认为吴恩达的课程非常中肯,课程结构组织得非常好,所以对于想进入ML的人来说,这是一个很好的入门课程。不要听信网上的一些言论,比如有人说这门课程“太基础”或“太肤浅”。我曾面试过一些声称有多年ML工作经验的应聘者,让他们解释逻辑回归和线性内核SVM,PCA与矩阵分解,正则化或梯度下降之间的区别,但他们中确很少有人能准确应答。这些问题的答案在吴恩达的课程中都有明确的解释。在这门课程之后,你还可以参加许多其他的在线课程(比如MOOC网站),这时的你基本上已经准备好进入下一步了。

实现算法
我的建议是找一本好的ML书(我的列表在下面),阅读第一章的介绍,然后跳到你感兴趣的包含算法的章节。一旦你找到了algo,深入研究它,了解所有的细节,最主要的是要实现它。在在线课程中,你已经在Octave实现了一些简单的算法。但是,这里我要说的是用“真正的”编程语言从头开始实现一个算法。你仍然可以从一个简单的开始,比如L2正则化Logistic回归,或者k均值,但是你也应该强迫自己去实现其他更有趣的方法,比如LDA(潜在Dirichlet分配)或者SVM。您可以在现有的许多库中的一种中使用参考实现,以确保获得可比较的结果。

一些书籍推荐:

•Kevin Murphy的机器学习:概率论

•Hastie、Tibshirani和Friedman的《统计学习的要素》

•Bishop的模式识别和机器学习

•David Barber的贝叶斯推理和机器学习

•Larry Wasserman的《所有统计:统计推断的简明教程》

你也可以直接看一篇介绍你感兴趣的算法或方法的研究论文,然后深入研究。
我的主要观点是,机器学习既涉及广度,也涉及深度。你应该知道最重要的算法的基础知识,另一方面,您还需要了解算法的底层复杂细节及其实现细节。我认为我所描述的方法解决了这两个方面的问题,能够帮助你看清它的工作原理。

收藏
2021-01-02 14:32 更新 Lisa •  1800