Ich unterrichte einen Kurs über fortgeschrittene Algorithmen und möchte einige Themen im Zusammenhang mit maschinellem Lernen behandeln, die für meine Studenten von Interesse sind. Infolgedessen würde ich gerne die Meinung der Leute zu den derzeit interessantesten / größten algorithmischen Ergebnissen beim maschinellen Lernen hören. Die potenziell knifflige Einschränkung besteht darin, dass die Schüler keine besonderen Vorkenntnisse in linearer Algebra oder den anderen Hauptthemen des maschinellen Lernens haben.
Dies soll sie wirklich für das Thema begeistern und sie wissen lassen, dass ML ein potenziell aufregendes Forschungsgebiet für Algorithmenexperten ist.
BEARBEITEN: Dies ist ein Grundstudiengang für das letzte Jahr (da es in Großbritannien hauptsächlich keine Grundstudiengänge gibt). Sie haben mindestens einen Grundkurs für Algorithmen im Voraus absolviert und es ist davon auszugehen, dass sie sich für den fortgeschrittenen Folgekurs entschieden haben. Der aktuelle Lehrplan des Fortgeschrittenenkurses umfasst Themen wie Perfect Hashing, Bloom-Filter, Van-Emde-Boas-Bäume, lineares Prog., Ca. Algorithmen für NP-schwierige Probleme usw. Ich habe nicht die Absicht, mehr als eine Vorlesung ausschließlich mit ML zu verbringen, aber wenn etwas für einen Algorithmenkurs und einen ML-Kurs wirklich relevant ist, könnte es natürlich auch enthalten sein.
quelle
Antworten:
You can cover boosting. It's very clever, easy to implement, is widely used in practice, and doesn't require much prerequisite knowledge to understand.
quelle
If you just want to whet their appetite in a single lecture, it might be most exciting to present a powerful application. For example, support vector machines, and other machine learning algorithms, are used in chemoinformatics for drug discovery.
The learning problem essentially is: given a behavior we want a chemical to exhibit, devise a structure that exhibits that behavior by deducing it from a database of known structures that exhibit similar (or dissimilar) behaviors. The learning problem has an extra wrinkle: the new drug needs to be "distant" in global structure from previously known drugs, in order to found a patent estate.
One source is Clustering Methods and Their Uses in Computational Chemistry .
quelle
K-Means and KNN are very powerful and do not require any Linear Algebra except the computation of distances of points.
quelle
The second part of "Neural Networks and Machine Learning" by Christopher Bishop (at MSR) is on algorithms in ML. Bishop's textbooks are commonly used for graduate (and later undergraduate) textbooks and are extremely well-written.
quelle
This algorithm uses graph minimum cuts to classify large amount of unlabeled samples using only small amount of labelled samples.
Its undergrad friendly. I have explained this to a few randomly chosen undergrads and they understood it.
Ref: Blum, A., & Chawla, S. (2001). Learning from labeled and unlabeled data using graph mincuts.
Self promotion Visualization of the algorithm on youtube.
quelle
I see that Expectation Maximization (EM) has not been mentioned, and it's certainly "up there" in the top 10: http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf .
quelle
Reinforcement Learning algorithms (especially Q-Learning and SARSA) are quite simple to understand and very powerful to resolve some learning problems. They don't require any advanced knowledge in linear algebra, except for convergence proof and convergence rate.
You can use the well known survey of Littman and al.: http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html
quelle
You can cover some algorithms which are classic or with good intuition.
For example, C4.5 and CART, which are classic decision tree algorithms.
You also can cover some ensemble methods(e.g., AdaBoost(Boosting), Bagging), which have a very good performance in real world applications.
Furthermore, deep learning is also a good topic, because it is very hot.
quelle
Native bayes and Bayesian network, decision tree algorithms are quite easy to visualize than starting with a neutral network or svm
quelle
Genetic programming is really cool. It uses inspiration from biology, and can be applied to a vast number of problems (for example, n-queens problem, and TSP).
It does not require deep mathematical skills.
EDIT: It only requires a way to estimate how good a potential solution is. It can be used for example to guess the rule behind a series of numbers, finding minima/maxima to multi-variate problems, and search huge parameter spaces. It is suited when you are not interested in the optimal solution, but when a good enough solution will do. I believe this has been used to find good strategies for games (build orders in Starcraft 2, and optimal play in Mario).
quelle