出色的算法,机器学习和线性代数


30

我教授一门高级算法课程,并且希望包括一些与机器学习相关的主题,这将使我的学生感兴趣。结果,我想听听人们对机器学习中当前最有趣/最伟大的算法结果的看法。潜在的棘手约束是,学生将不会对线性代数或机器学习中的其他主要主题有任何特定的先前知识。

这的确使他们兴奋,并使他们知道ML对于算法专家来说是一个潜在的令人兴奋的研究领域。

编辑:这是最后一年的本科课程(因为我们主要在英国没有研究生课程)。他们将事先至少完成一门基本算法课程,并且大概在其中做得很好,从而选择了高级后续课程。当前的高级课程提纲中包含诸如完美哈希,Bloom过滤器,van Emde Boas树,线性程序等的主题。我不打算在ML上专门花费一堂以上的讲座,但如果某门课程与一门算法课程和一门ML确实相关,那么当然也可以包括在内。


1
请清除两件事:1)是本科课程还是研究生课程?他们通过了哪些相关课程(如果有)?2)您想花多少时间学习ML?
MS Dousti

3
嗯,至少在机器学习方面,我认为线性代数是必须且重要的基础课程。我认为线性模型是机器学习算法的很好的入门。您可能会想到其他基本级别的算法,例如K近邻算法或逻辑回归算法。可能对您有帮助吗?en.wikipedia.org/wiki/List_of_machine_learning_algorithms
Deyaa 2010年

1
Hal Daume如何教授机器学习的一些想法-nlpers.blogspot.com/2010/04/how-i-teach-machine-learning.html
Yaroslav

3
亲爱的拉斐尔,Avrim Blum通常以机器学习和一些相关主题结束他的高级算法课程。最近的迭代是通过以下链接cs.cmu.edu/~avrim/451f09/index.html,您可以从他的网页上获取更多信息。有了TA和参加这堂课,我可以说它(及其结论材料)受到了学生的热烈欢迎。
10年

Answers:


29

您可以涵盖升压。它非常聪明,易于实现,在实践中得到了广泛使用,并且不需要了解很多先决知识。


5
我已经介绍了Arora等人进行的调查的某些部分。(cs.princeton.edu/~arora/pubs/MWsurvey.pdf)在几年前的研究生理论课中。人们似乎喜欢它,我认为您几乎不需要任何背景即可理解该材料。
Danu

9

如果您只想在一次讲座中激发他们的胃口,那么介绍一个功能强大的应用程序可能会最令人兴奋。例如,支持向量机和其他机器学习算法在化学信息学中用于药物发现。

学习问题本质上是:给定某种行为,我们希望一种化学物质表现出来,通过从具有相似(或不相似)行为的已知结构的数据库中推导该行为,设计出一种表现该行为的结构。学习上的问题更加艰巨:新药在全球结构上必须与先前已知的药物“相距甚远”,才能建立专利产业。

一种来源是聚类方法及其在计算化学中的应用


1
感谢您的参考。我当时正在考虑将SVM教为凸优化的应用。这样可以很好地将算法部分与ML部分相关联。
拉斐尔2010年

2
如何涵盖没有线性代数的SVM?
列夫·雷津

我希望在他们的课程中教他们最低限度的前提条件。也许这太乐观了:-)
拉斐尔(Raphael)2010年

还有哪些重要的例子是支持向量机是最佳选择?我注意到,例如在kaggle比赛中,它们从来都不是获胜作品的主要部分。至少没有我最近见过的任何东西。(我当然会得到纠正。)
伦比克2014年

7

K-Means和KNN非常强大,除了计算点的距离外不需要任何线性代数。


特别是K-Means是一种非常有效的算法。尽管没有证明其目标函数性能的局限性,但它的效果令人难以置信,达到令人毛骨悚然的程度,几乎就像Simplex算法的有效多项式复杂度(尽管是实际的指数复杂度)一样。其在线版本在大规模数据应用中也很有用。
Elliot JJ

5

Christopher Bishop(位于MSR)的“神经网络与机器学习”的第二部分介绍了ML中的算法。Bishop的教科书通常用于研究生(以及后来的本科生)教科书,并且编写得非常好。


4

该算法使用图最小割来仅使用少量标记样本对大量未标记样本进行分类。

它的本科生友好。我已经向一些随机选择的本科生解释了这一点,他们理解了。

参考: Blum,A.和Chawla,S.(2001)。使用图最小切向标记和未标记的数据学习。

youtube上算法的自提升可视化。




1

您可以介绍一些经典算法或直观算法。

例如,C4.5和CART是经典的决策树算法。

您还可以介绍一些合奏方法(例如AdaBoost(Boosting),Bagging),这些方法在实际应用中具有很好的性能。

此外,深度学习也是一个很好的话题,因为它非常热门。



0

本地贝叶斯和贝叶斯网络,决策树算法比从中性网络或svm开始更容易可视化


0

基因编程真的很棒。它利用了生物学的启发,可以应用于许多问题(例如n皇后问题和TSP)。

它不需要深厚的数学技能。

编辑:它只需要一种方法来估计潜在的解决方案。例如,它可以用于猜测一系列数字后面的规则,找到多元问题的最小值/最大值,并搜索巨大的参数空间。当您对最佳解决方案不感兴趣时​​,但是当有足够好的解决方案时,它就很适合。我相信这已被用来寻找良好的游戏策略(《星际争霸2》中的建造订单,以及《马里奥》中的最佳游戏)。


有什么重要的问题是最好的方法吗?我的意思是肯定不是针对TSP的。
伦比克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.