Course
Die 25 wichtigsten Interviewfragen zum maschinellen Lernen für 2024
In diesem Artikel haben wir einige der häufigsten Fragen zum maschinellen Lernen zusammengestellt, auf die du bei einer Bewerbung oder einem Vorstellungsgespräch stoßen könntest. Wenn du diese Fragen übst und Antworten vorbereitest, kannst du sicherstellen, dass das Vorstellungsgespräch reibungslos verläuft.
KI-Anwendungen entwickeln
Lerne, wie man KI-Anwendungen mit der OpenAI API erstellt.
Grundlegende Fragen zum maschinellen Lernen im Interview
Die grundlegenden Fragen beziehen sich auf Terminologien, Algorithmen und Methoden. Interviewer stellen diese Fragen, um das Fachwissen des Bewerbers zu beurteilen.
1. Was ist Semi-supervised Machine Learning?
Semi-überwachtes Lernen ist eine Mischung aus überwachtem und unüberwachtem Lernen. Der Algorithmus wird mit einer Mischung aus gelabelten und nicht gelabelten Daten trainiert. In der Regel wird sie eingesetzt, wenn wir einen sehr kleinen beschrifteten Datensatz und einen großen unbeschrifteten Datensatz haben.
Vereinfacht ausgedrückt, wird der unüberwachte Algorithmus verwendet, um Cluster zu erstellen und die restlichen unmarkierten Daten mit Hilfe der bereits markierten Daten zu markieren. Ein halbüberwachter Algorithmus geht von der Kontinuitätsannahme, der Clusterannahme und der Vielfältigkeitsannahme aus.
Sie wird in der Regel verwendet, um die Kosten für die Beschriftung von Daten zu sparen. Zum Beispiel die Klassifizierung von Proteinsequenzen, automatische Spracherkennung und selbstfahrende Autos.
2. Wie entscheidest du, welchen Algorithmus du für einen Datensatz verwendest?
Neben dem Datensatz brauchst du einen geschäftlichen Anwendungsfall oder Anwendungsanforderungen. Du kannst überwachtes und unüberwachtes Lernen auf dieselben Daten anwenden.
Im Allgemeinen:
- Algorithmen des überwachten Lernens benötigen beschriftete Daten.
- Regressionsalgorithmen erfordern kontinuierliche numerische Ziele
- Klassifizierungsalgorithmen erfordern kategorische Ziele
- Unüberwachte Lernalgorithmen benötigen unmarkierte Daten.
- Semi-überwachtes Lernen erfordert die Kombination von gelabelten und nicht gelabelten Datensätzen.
- Algorithmen des Verstärkungslernens benötigen Umgebungs-, Agenten-, Zustands- und Belohnungsdaten.
Bild von thecleverprogrammer
Lerne die Grundlagen des maschinellen Lernens in unserem Kurs.
3. Erkläre den K Nearest Neighbor Algorithmus.
Der K Nearest Neighbor (KNN) ist ein überwachter Lernklassifikator. Sie nutzt die Nähe, um Labels zu klassifizieren oder die Gruppierung einzelner Datenpunkte vorherzusagen. Wir können sie für Regression und Klassifizierung verwenden. Der KNN-Algorithmus ist nicht parametrisch, d.h. er geht nicht von einer bestimmten Datenverteilung aus.
Im KNN-Klassifikator:
- Wir finden K-Nachbarn, die dem weißen Punkt am nächsten sind. In dem folgenden Beispiel haben wir k=5 gewählt.
- Um die fünf nächstgelegenen Nachbarn zu finden, berechnen wir den euklidischen Abstand zwischen dem weißen Punkt und den anderen. Dann haben wir die 5 Punkte ausgewählt, die dem weißen Punkt am nächsten sind.
- Bei K=5 gibt es drei rote und zwei grüne Punkte. Da Rot die Mehrheit hat, weisen wir ihm ein rotes Label zu.
Bild aus Codesigner's Dev Story
Lerne in einem Kurzkurs alles über überwachte Lernklassifizierungs- und Regressionsmodelle.
4. Was ist die Bedeutung von Merkmalen beim maschinellen Lernen, und wie bestimmt man sie?
Die Merkmalsbedeutung bezieht sich auf Verfahren, die den Eingangsmerkmalen eine Punktzahl zuweisen, die davon abhängt, wie nützlich sie für die Vorhersage einer Zielvariablen sind. Sie spielt eine entscheidende Rolle, um die zugrunde liegende Struktur der Daten und das Verhalten des Modells zu verstehen und das Modell besser interpretierbar zu machen.
Es gibt verschiedene Methoden, um die Wichtigkeit von Merkmalen zu bestimmen:
- Modellbasierte Wichtigkeit: Bestimmte Algorithmen wie Entscheidungsbäume und Zufallsforste bieten integrierte Methoden zur Bewertung der Bedeutung von Merkmalen. Random Forests berechnen zum Beispiel den Rückgang der Knotenverunreinigung, gewichtet nach der Wahrscheinlichkeit, diesen Knoten zu erreichen, gemittelt über alle Bäume.
- Wichtigkeit der Permutation: Dabei werden die einzelnen Variablen im Validierungsset umgestellt und die Auswirkungen auf die Modellleistung beobachtet. Ein signifikanter Rückgang der Modellleistung deutet auf eine hohe Bedeutung hin.
- SHAP (SHapley Additive exPlanations): Dieser Ansatz nutzt die Spieltheorie, um den Beitrag jedes Merkmals zur Vorhersage in einem komplexen Modell zu messen. SHAP-Werte geben einen tiefen Einblick in das Verhalten des Modells und sind besonders nützlich für komplexe Modelle wie Gradient-Boosting-Maschinen oder neuronale Netze.
- Korrelationskoeffizienten: Einfache statistische Maße wie die Pearson-Korrelation oder die Spearman-Korrelation können Aufschluss über die lineare Beziehung zwischen jedem Merkmal und der Zielvariable geben.
Das Verständnis der Bedeutung von Merkmalen ist entscheidend für die Modelloptimierung, die Verringerung der Überanpassung durch das Entfernen nicht informativer Merkmale und die Verbesserung der Modellinterpretation, insbesondere in Bereichen, in denen das Verständnis des Entscheidungsprozesses des Modells entscheidend ist.
Technische Interviewfragen zum maschinellen Lernen
Im technischen Vorstellungsgespräch geht es eher darum, dein Wissen über Prozesse zu beurteilen und wie gut du mit Unsicherheiten umgehen kannst. Der Personalverantwortliche wird im Vorstellungsgespräch Fragen zum maschinellen Lernen, zur Datenverarbeitung, zum Training und zur Validierung von Modellen sowie zu fortgeschrittenen Algorithmen stellen.
5. Stimmt es, dass wir unsere Merkmalswerte skalieren müssen, wenn sie stark variieren?
Ja. Die meisten Algorithmen verwenden den euklidischen Abstand zwischen Datenpunkten, und wenn der Merkmalswert stark variiert, werden die Ergebnisse sehr unterschiedlich ausfallen. In den meisten Fällen führen Ausreißer dazu, dass Modelle für maschinelles Lernen im Testdatensatz schlechter abschneiden.
Außerdem nutzen wir die Skalierung von Merkmalen, um die Konvergenzzeit zu verkürzen. Wenn die Merkmale nicht normalisiert sind, dauert es länger, bis der Gradientenabstieg lokale Minima erreicht.
Steigung ohne und mit Skalierung | Quora
Technische Fähigkeiten sind sehr gefragt. Du kannst alles über das Thema lernen, indem du einen DataCamp-Kurs belegst, wie z.B. Feature Engineering for Machine Learning in Python.
6. Das Modell, das du trainiert hast, hat eine geringe Verzerrung und eine hohe Varianz. Wie würdest du damit umgehen?
Eine geringe Verzerrung liegt vor, wenn das Modell Werte vorhersagt, die nahe am tatsächlichen Wert liegen. Sie ahmt den Trainingsdatensatz nach. Das Modell ist nicht verallgemeinerbar, d.h. wenn das Modell an ungesehenen Daten getestet wird, wird es schlechte Ergebnisse liefern.
Geringe Verzerrung und hohe Varianz | Autor
Um diese Probleme zu lösen, verwenden wir Bagging-Algorithmen, die einen Datensatz mithilfe von Zufallsstichproben in Teilmengen unterteilen. Dann generieren wir mit einem einzigen Algorithmus Modellsätze aus diesen Proben. Danach kombinieren wir die Modellvorhersage mit Hilfe der Voting-Klassifizierung oder der Mittelwertbildung.
Bei hoher Varianz können wir Regularisierungstechniken einsetzen. Sie bestrafte höhere Modellkoeffizienten, um die Modellkomplexität zu verringern. Außerdem können wir die wichtigsten Merkmale aus dem Merkmalsbedeutungsgraphen auswählen und das Modell trainieren.
7. Welche Kreuzvalidierungstechnik würdest du für einen Zeitreihendatensatz empfehlen und warum?
Die Kreuzvalidierung wird verwendet, um die Modellleistung robust zu bewerten und eine Überanpassung zu verhindern. In der Regel werden bei der Kreuzvalidierung Stichproben nach dem Zufallsprinzip aus den Daten ausgewählt und in Trainings- und Testdatensätze aufgeteilt. Die Anzahl der Splits richtet sich nach dem K-Wert.
Wenn zum Beispiel K = 5 ist, gibt es vier Faltungen für den Zug und eine für den Test. Es wird fünfmal wiederholt, um das Modell an einzelnen Falten zu messen.
Mit einem Zeitreihendatensatz ist das nicht möglich, weil es keinen Sinn macht, den Wert aus der Zukunft zu verwenden, um den Wert aus der Vergangenheit vorherzusagen. Es besteht eine zeitliche Abhängigkeit zwischen den Beobachtungen, und wir können die Daten nur in eine Richtung aufteilen, sodass die Werte des Testdatensatzes nach dem Trainingssatz liegen.
Das Diagramm zeigt, dass die Aufteilung der Zeitreihendaten in eine Richtung erfolgt. Die blauen Punkte sind die Trainingsmenge, der rote Punkt ist die Testmenge und die weißen Punkte sind ungenutzte Daten. Wie wir bei jeder Iteration beobachten können, bewegen wir uns mit der Trainingsmenge vorwärts, während die Testmenge vor der Trainingsmenge bleibt und nicht zufällig ausgewählt wird.
Zeitreihen-Kreuzvalidierung | UC Business Analytics R Programming Guide
Lerne in Time Series with Python die Bearbeitung, Analyse, Visualisierung und Modellierung von Zeitreihendaten kennen.
Rollenspezifische Fragen zum maschinellen Lernen
Die meisten Stellen für maschinelles Lernen, die auf LinkedIn, Glassdoor und Indeed angeboten werden, sind rollenspezifisch. Daher werden sie sich während des Gesprächs auf rollenspezifische Fragen konzentrieren. Für die Stelle als Computer Vision Engineer wird sich der Personalverantwortliche auf Fragen der Bildverarbeitung konzentrieren.
Computer Vision Engineering Interview Fragen
8. Warum können die Eingaben bei Computer Vision Problemen riesig werden? Erkläre es anhand eines Beispiels.
Stell dir ein Bild mit einer Größe von 250 x 250 Pixeln und eine voll vernetzte erste Schicht mit 1000 versteckten Einheiten vor. Für dieses Bild sind die Eingabemerkmale 250 x 250 x 3 = 187.500, und die Gewichtsmatrix in der ersten versteckten Schicht ist eine 187.500 x 1000 dimensionale Matrix. Diese Zahlen sind riesig für die Speicherung und Berechnung, und um dieses Problem zu bekämpfen, verwenden wir Faltungsoperationen.
Erlerne die Bildverarbeitung in einem kurzen Kurs über Bildverarbeitung in Python
9. Wenn du einen kleinen Datensatz hast, schlage einen Weg vor, wie du ein faltiges neuronales Netzwerk trainieren kannst.
Wenn du nicht genügend Daten hast, um ein Faltungsneuronales Netz zu trainieren, kannst du dein Modell mit Transfer Learning trainieren und so modernste Ergebnisse erzielen. Du brauchst ein vortrainiertes Modell, das auf einem allgemeinen, aber größeren Datensatz trainiert wurde. Danach wirst du die Feinabstimmung mit neueren Daten vornehmen, indem du die letzten Schichten der Modelle trainierst.
Transfer Learning ermöglicht es Datenwissenschaftlern, Modelle auf kleineren Datenmengen zu trainieren, indem sie weniger Ressourcen, Rechenleistung und Speicherplatz benötigen. Du kannst leicht vortrainierte Open-Source-Modelle für verschiedene Anwendungsfälle finden, und die meisten von ihnen haben eine kommerzielle Lizenz, was bedeutet, dass du sie für deine Anwendung nutzen kannst.
Transfer Learning von purnasai gudikandula
10. Was ist der moderne Objekterkennungsalgorithmus YOLO?
YOLO ist ein Algorithmus zur Objekterkennung, der auf Faltungsneuronalen Netzen basiert und Ergebnisse in Echtzeit liefern kann. Der YOLO-Algorithmus benötigt einen einzigen Vorwärtsdurchlauf durch das CNN, um das Objekt zu erkennen. Sie sagt sowohl verschiedene Klassenwahrscheinlichkeiten als auch Grenzboxen voraus.
Das Modell wurde trainiert, um verschiedene Objekte zu erkennen, und Unternehmen nutzen Transfer Learning, um es auf neuen Daten für moderne Anwendungen wie autonomes Fahren, Naturschutz und Sicherheit zu verfeinern.
YOLO V5 Modellarchitektur | researchgate
NLP Engineering Interview Fragen
11. Was ist die Syntaktische Analyse?
Die syntaktische Analyse, auch bekannt als Syntaxanalyse oder Parsing, ist eine Textanalyse, die uns die logische Bedeutung hinter dem Satz oder einem Satzteil verrät. Sie konzentriert sich auf die Beziehung zwischen Wörtern und die grammatikalische Struktur von Sätzen. Man kann auch sagen, dass es sich um die Analyse der natürlichen Sprache anhand von grammatikalischen Regeln handelt.
Syntaktische Analyse | researchgate
12. Was sind Stemming und Lemmatisierung?
Stemming und Lemmatisierung ist eine Normalisierungstechnik, die verwendet wird, um die strukturelle Variation von Wörtern in einem Satz zu minimieren.
Beim Stemming werden die an das Wort angefügten Affixe entfernt und das Wort in seiner Grundform belassen. Zum Beispiel: Wechsle zu Chang.
Sie wird häufig von Suchmaschinen zur Speicheroptimierung verwendet. Anstatt alle Formen der Wörter zu speichern, werden nur die Wortstämme gespeichert.
Die Lemmatisierung wandelt das Wort in seine Lemmaform um. Die Ausgabe ist der Wortstamm anstelle des Stammwortes. Nach der Lemmatisierung erhalten wir das gültige Wort, das etwas bedeutet. Zum Beispiel "Changing to Change".
Stemming vs. Lemmatisierung | Autor
13. Wie würdest du die Inferenzzeit eines trainierten Transformatormodells reduzieren?
Es ist die Aufgabe der Ingenieure für maschinelles Lernen, die Modellinferenz zu optimieren. Aufgrund der großen Sprachmodelle ist es schwieriger geworden, Modelle in der Produktion einzusetzen und die Inferenzzeit auf Mikrosekunden zu reduzieren.
Um die Inferenzzeit zu verkürzen, können wir verwenden:
- GPU, TPU oder FPGA zur Beschleunigung.
- GPU mit fp16-Unterstützung
- Pruning zur Reduzierung der Parameter
- Wissen destillieren
- Hierarchische Softmax oder adaptive Softmax
- Cache-Vorhersagen
- Parallel-/Batch-Computing
- Verkleinere die Modellgröße
Lerne die Grundlagen von NLP, indem du den Skill Track Natural Language Processing in Python absolvierst.
Reinforcement Learning Engineering Interview Fragen
14. Welche Schritte umfasst ein typischer Reinforcement Learning-Algorithmus?
Das Verstärkungslernen nutzt Versuch und Irrtum, um Ziele zu erreichen. Er ist ein zielorientierter Algorithmus und lernt aus der Umgebung, indem er die richtigen Schritte unternimmt, um die kumulative Belohnung zu maximieren.
Beim typischen Verstärkungslernen:
- Zu Beginn erhält der Agent den Zustand Null von der Umwelt
- Basierend auf dem Status wird der Agent eine Aktion durchführen
- Der Zustand hat sich geändert, und der Agent befindet sich an einem neuen Ort in der Umgebung.
- Der Agent erhält die Belohnung, wenn er den richtigen Zug gemacht hat.
- Der Prozess wird so lange wiederholt, bis der Agent den bestmöglichen Weg zum Ziel gelernt hat, indem er die kumulierten Belohnungen maximiert.
Reinforcement Learning Framework | Autor
15. Was ist der Unterschied zwischen Off-Policy und On-Policy Learning?
On-Policy-Lernalgorithmen bewerten und verbessern dieselbe Richtlinie, um zu handeln und sie zu aktualisieren. Mit anderen Worten: Die Richtlinie, die für die Aktualisierung verwendet wird, und die Richtlinie, die für die Durchführung von Maßnahmen verwendet wird, sind identisch.
Zielpolitik == Verhaltenspolitik
On-Policy-Algorithmen sind Sarsa, Monte Carlo für On-Policy, Value Iteration und Policy Iteration
Off-Policy-Learning-Algorithmen sind völlig anders, da sich die aktualisierte Richtlinie von der Verhaltensrichtlinie unterscheidet. Beim Q-Learning zum Beispiel lernt der Agent mit Hilfe einer gierigen Strategie von einer optimalen Strategie und ergreift Maßnahmen mit anderen Strategien.
Zielpolitik != Verhaltenspolitik
On-Policy vs. Außerpolitischer Fall | Künstliche Intelligenz Stack Exchange
16. Warum brauchen wir "Deep" Q-Learning?
Einfaches Q-Lernen ist großartig. Sie löst das Problem in kleinerem Maßstab, aber in größerem Maßstab versagt sie.
Stell dir vor, die Umwelt hat 1000 Zustände und 1000 Aktionen pro Zustand. Wir werden eine Q-Tabelle mit Millionen von Zellen benötigen. Für das Schach- und Go-Spiel wird ein noch größerer Tisch benötigt. Hier kommt Deep Q-learning zur Hilfe.
Es nutzt ein neuronales Netz, um die Q-Wert-Funktion zu approximieren. Die neuronalen Netze rezeptieren Zustände als Eingabe und geben den Q-Wert aller möglichen Aktionen aus.
Tiefes Q-Netz für autonomes Fahren | researchgate
FAANG Machine Learning Engineer Fragen
Im Folgenden haben wir einige potenzielle Fragen zusammengestellt, die dir der Interviewer bei einigen Top-Tech-Unternehmen stellen könnte:
Amazon Machine Learning Interview Fragen
17. Wie ist die Fläche unter der ROC-Kurve zu interpretieren?
Die Receiver Operating Characteristics (ROC) zeigen den Kompromiss zwischen Sensitivität und Spezifität.
- Sensitivität: Sie ist die Wahrscheinlichkeit, dass das Modell ein positives Ergebnis vorhersagt, wenn der tatsächliche Wert ebenfalls positiv ist.
- Spezifität: Sie ist die Wahrscheinlichkeit, dass das Modell ein negatives Ergebnis vorhersagt, wenn der tatsächliche Wert ebenfalls negativ ist.
Die Kurve wird unter Verwendung der Falsch-Positiv-Rate (FP/(TN + FP)) und der Wahr-Positiv-Rate (TP/(TP + FN)) aufgezeichnet
Die Fläche unter der Kurve (AUC) zeigt die Leistung des Modells. Wenn die Fläche unter der ROC-Kurve 0,5 beträgt, dann ist unser Modell völlig zufällig. Das Modell mit einer AUC nahe bei 1 ist das bessere Modell.
ROC-Kurve von Hadrien Jean
18. Welche Methoden gibt es, um die Dimensionalität zu reduzieren?
Zur Dimensionalitätsreduzierung können wir Methoden zur Merkmalsauswahl oder zur Merkmalsextraktion verwenden.
Die Merkmalsauswahl ist ein Prozess, bei dem optimale Merkmale ausgewählt und irrelevante Merkmale verworfen werden. Wir verwenden Filter-, Wrapper- und Embedded-Methoden, um die Wichtigkeit von Merkmalen zu analysieren und weniger wichtige Merkmale zu entfernen, um die Modellleistung zu verbessern.
Die Merkmalsextraktion wandelt den Raum mit vielen Dimensionen in weniger Dimensionen um. Während des Prozesses gehen keine Informationen verloren und es werden weniger Ressourcen für die Verarbeitung der Daten benötigt. Die gängigsten Extraktionsverfahren sind die lineare Diskriminanzanalyse (LDA), die Kern-PCA und die quadratische Diskriminanzanalyse.
19. Wie findest du Schwellenwerte für einen Klassifikator?
Im Falle eines Spam-Klassifikators liefert ein logistisches Regressionsmodell die Wahrscheinlichkeit. Wir verwenden entweder die Wahrscheinlichkeit von 0,8999 oder wandeln sie mithilfe eines Schwellenwerts in eine Klasse (Spam/Nicht-Spam) um.
Normalerweise liegt der Schwellenwert für einen Klassifikator bei 0,5, aber in manchen Fällen müssen wir ihn feiner einstellen, um die Genauigkeit zu verbessern. Der Schwellenwert von 0,5 bedeutet, dass es sich um Spam handelt, wenn die Wahrscheinlichkeit gleich oder höher als 0,5 ist, und dass es sich nicht um Spam handelt, wenn sie niedriger ist.
Um den Schwellenwert zu finden, können wir Precision-Recall-Kurven und ROC-Kurven, die Rastersuche und die manuelle Änderung des Wertes verwenden, um einen besseren Lebenslauf zu erhalten.
Werde ein professioneller Ingenieur für maschinelles Lernen, indem du die Ausbildung zum Machine Learning Scientist mit Python absolvierst.
Google Machine Learning Interview Fragen
20. Was sind die Annahmen der linearen Regression?
Die lineare Regression wird verwendet, um die Beziehung zwischen Merkmalen (X) und Ziel (y) zu verstehen. Bevor wir das Modell trainieren, müssen wir ein paar Annahmen treffen:
- Die Residuen sind unabhängig
- Es besteht ein linearer Zusammenhang zwischen der unabhängigen Variable X und der abhängigen Variable y.
- Konstante Restvarianz auf jeder Ebene von X
- Die Residuen sind normal verteilt.
Hinweis: Die Residuen bei der linearen Regression sind die Differenz zwischen den tatsächlichen und den vorhergesagten Werten.
21. Schreibe eine Funktion find_bigrams, die eine Zeichenkette annimmt und eine Liste aller Bigramme zurückgibt.
In Coding-Interviews wirst du nach Problemen des maschinellen Lernens gefragt, aber in manchen Fällen werden deine Python-Kenntnisse auch durch allgemeine Fragen zum Coding beurteilt. Werde ein Experte für Python-Programmierung, indem du den Berufsweg Python-Programmierer/in einschlägst.
Die Erstellung einer Bigram-Funktion ist ganz einfach. Du musst zwei Schleifen mit der Zip-Funktion verwenden.
- In der Bigram-Funktion nehmen wir eine Liste von Sätzen als Eingabe
- Eine Schleife erstellen, um auf einen einzelnen Satz zuzugreifen
- Absenken und Zerlegen des Satzes in eine Liste von Wörtern
zip
verwenden, um eine Kombination aus dem vorherigen und dem nächsten Wort zu bilden- Anhängen der Ausgabe an das Ergebnis
- Drucke die Ergebnisse.
Es ist ganz einfach, wenn du das Problem aufschlüsselst und Zip-Funktionen verwendest.
def bigram(text_list:list):
result = []
for ls in text_list:
words = ls.lower().split()
for bi in zip(words, words[1:]):
result.append(bi)
return result
text = ["Data drives everything", "Get the skills you need for the future of work"]
print(bigram(text))
Ergebnisse:
[('Data', 'drives'), ('drives', 'everything'), ('Get', 'the'), ('the', 'skills'), ('skills', 'you'), ('you', 'need'), ('need', 'for'), ('for', 'the'), ('the', 'future'), ('future', 'of'), ('of', 'work')]
22. Was ist die Aktivierungsfunktion beim maschinellen Lernen?
Die Aktivierungsfunktion ist eine nichtlineare Transformation in neuronalen Netzen. Wir lassen die Eingabe durch die Aktivierungsfunktion laufen, bevor wir sie an die nächste Schicht weitergeben.
Der Netzeingangswert kann zwischen -inf und +inf liegen, und das Neuron weiß nicht, wie es die Werte begrenzen soll, so dass es nicht in der Lage ist, das Feuerungsmuster zu bestimmen. Die Aktivierungsfunktion entscheidet, ob ein Neuron aktiviert werden soll oder nicht, um die Eingangswerte des Netzes zu begrenzen.
Die häufigsten Arten von Aktivierungsfunktionen:
- Schritt Funktion
- Sigmoid Funktion
- ReLU
- Undichte ReLU
Meta Machine Learning Interview Fragen
23. Wie würdest du eine Restaurantempfehlung auf Facebook erstellen?
Die Antwort liegt ganz bei dir. Doch bevor du diese Frage beantwortest, musst du dir überlegen, welches Geschäftsziel du erreichen willst, um eine Leistungskennzahl festzulegen, und wie du die Daten erfassen willst.
In einem typischen maschinellen Lernsystem entwerfen wir:
- Sammle, bereinige und analysiere die Daten.
- Feature Engineering durchführen
- Wähle eine Methodik, einen Algorithmus oder ein maschinelles Lernmodell aus
- Trainiere und bewerte die Leistung auf Test- und Validierungsdatensätzen.
- Rationalisiere die Prozesse und setze das Modell in der Produktion ein.
Du musst sicherstellen, dass du dich auf das Design und nicht auf die Theorie oder die Modellarchitektur konzentrierst. Achte darauf, dass du über die Modellableitung sprichst und darüber, wie die Verbesserung der Modellableitung die Gesamteinnahmen steigern wird.
Gib auch einen Überblick darüber, warum du eine bestimmte Methode der anderen vorgezogen hast.
Erfahre mehr über die Entwicklung von Empfehlungssystemen, indem du einen Kurs auf DataCamp belegst.
24. Schreibe eine Funktion can_shift für zwei Strings A und B, die zurückgibt, ob A um einige Stellen verschoben werden kann, um B zu erhalten.
Wenn du Programmieraufgaben löst und an deinen Python-Kenntnissen arbeitest, hast du bessere Chancen, das Vorstellungsgespräch zu bestehen.
Bevor du dich daran machst, ein Problem zu lösen, musst du die Frage verstehen. Du musst einfach eine boolesche Funktion erstellen, die True zurückgibt, wenn du durch Verschieben der Buchstaben in String B String A erhältst.
A = 'abid'
B = 'bida'
can_shift(A, B) == True
- Gibt false zurück, wenn die Länge des Strings nicht ähnlich ist.
- Schleife um den Längenbereich von String A
- Erstelle mut_a, um verschiedene Zeichenkombinationen mit dem String A zu erstellen
- In der Schleife wird True zurückgegeben, wenn mut_a gleich String B ist, sonst false.
def can_shift(a, b):
if len(a) != len(b):
return False
for i in range(len(a)):
mut_a = a[i:] + a[:i]
if mut_a == b:
return True
return False
A = 'abid'
B = 'bida'
print(can_shift(A, B))
>>> True
25. Was ist Ensemble-Lernen?
Beim Ensemble-Lernen werden die Erkenntnisse mehrerer maschineller Lernmodelle kombiniert, um die Genauigkeit und die Leistungskennzahlen zu verbessern.
Einfache Ensemble-Methoden:
- Mittelwert: Wir bilden den Durchschnitt aus den Vorhersagen mehrerer leistungsstarker Modelle.
- Gewichteter Durchschnitt: Wir weisen den Modellen des maschinellen Lernens je nach Leistung unterschiedliche Gewichte zu und kombinieren sie dann.
Fortgeschrittene Ensemble-Methoden:
- Bagging wird verwendet, um Varianzfehler zu minimieren. Es erstellt nach dem Zufallsprinzip eine Untermenge von Trainingsdaten und trainiert sie auf die Modelle. Die Kombination von Modellen verringert die Varianz und macht sie zuverlässiger im Vergleich zu einem einzelnen Modell.
- Boosting wird eingesetzt, um Verzerrungsfehler zu reduzieren und bessere Vorhersagemodelle zu erstellen. Es handelt sich um eine iterative Ensemble-Technik, bei der die Gewichte auf Grundlage der letzten Klassifizierung angepasst werden. Boosting-Algorithmen geben Beobachtungen mehr Gewicht, die das vorherige Modell ungenau vorhergesagt hat.
Bagging und Boosting von Fernando López
Erfahre mehr über Averaging, Bagging, Stacking und Boosting, indem du den Kurs Ensemble Methods in Python belegst.
Wie du dich auf das Machine Learning Interview vorbereitest
Verstehe die Rolle und das Unternehmen
Es ist wichtig, dass du etwas über das Unternehmen, bei dem du dich bewirbst, und die Stelle weißt. Achte darauf, dass du die Stellenbeschreibung liest und dich entsprechend vorbereitest. Die meisten Bewerbungen beinhalten Werkzeuge, Technologien, Methoden und Fähigkeiten. Nutze diese Informationen und sprich in den technischen und nicht-technischen Phasen des Vorstellungsgesprächs über sie.
Löse Herausforderungen beim Codieren
Übe Python, löse Kodieraufgaben und stelle sicher, dass du dein Training zeitlich einhältst. Der Interviewer wird nicht zulassen, dass du die ganze Zeit nutzt, um eine Lösung zu finden. Du kannst auch Plattformen wie Leetcode, Code wars und DataCamp nutzen, um Coding Challenges zu üben.
Überprüfung aktueller Projekte zum maschinellen Lernen
Die meisten Personalverantwortlichen bereiten Fragen zu deinen früheren Projekten vor, indem sie GitHub-Repositories, deinen Lebenslauf und dein Portfolio verwenden. Sie werden dich bitten zu erklären, wie du bestimmte Probleme in einem bestimmten Projekt lösen kannst. Lass dich nicht überwältigen, sondern schau dir deine Projekte im Portfolio an. Vergiss nicht, dass du DataLab nutzen kannst, um deine Projekte zu präsentieren.
Datenbearbeitung und -verarbeitung
Du musst lernen, wie man mit strukturierten und unstrukturierten Tabellendaten, Tondateien und Bilddaten umgeht. Lerne verschiedene Möglichkeiten kennen, wie du die Daten anreichern, bereinigen und verarbeiten kannst. Lerne, die Größe der Daten auf der Grundlage der Architektur des tiefen neuronalen Netzwerks anzupassen.
Probeinterviewfragen durchgehen
Die beste Art, sich auf ein Vorstellungsgespräch vorzubereiten, ist es, Testfragen zum maschinellen Lernen durchzugehen. Du musst Fragen zum Verhalten und zur Situation, zu den Grundlagen des maschinellen Lernens, zum Kodieren, zur Rolle und zum Betrieb des maschinellen Lernens beantworten.
Lies über die neuesten Entwicklungen im Bereich KI/ML
Während des Gesprächs wirst du über die neuesten Tools, Technologien, Modelle und Methoden befragt. Die Unternehmen suchen nach Personen, die sich in der Branche auskennen und lernwillig sind. Um den Trend zu verstehen und informiert zu sein, musst du Blogs und Forschungsberichte lesen und den sozialen Medien folgen.
Maschinelles Lernen ist eine sich ständig verändernde Landschaft. Jede Woche wirst du neue, hochmoderne Technologien sehen. Derzeit handelt es sich um ein stabiles Text-Bild-Diffusionsmodell.
Entwurf eines durchgängigen Lebenszyklus für maschinelles Lernen
Im letzten Teil des Vorstellungsgesprächs wirst du nach dem Systemdesign gefragt. Erkläre, wie du die Daten sammelst, verarbeitest und eine maschinelle Lernlösung erstellst. Zum Beispiel: Wie würdest du eine Restaurantempfehlung auf Facebook erstellen?
Es ist immer gut, wenn du dich auf die Beantwortung dieser Fragen vorbereitest, indem du im Internet über verschiedene maschinelle Lernsysteme liest. Du musst nicht in die Tiefe gehen, sondern nur die einzelnen Schritte oder den Umgang mit komplexen Daten kennenlernen.
Schlussgedanken
Zum Abschluss unserer Untersuchung der wichtigsten Fragen zum maschinellen Lernen in Vorstellungsgesprächen wird deutlich, dass ein erfolgreiches Vorstellungsgespräch eine Mischung aus theoretischem Wissen, praktischen Fähigkeiten und einem Bewusstsein für die neuesten Trends und Technologien auf diesem Gebiet erfordert. Vom Verständnis grundlegender Konzepte wie semi-supervised learning und der Auswahl von Algorithmen über die Komplexität spezifischer Algorithmen wie KNN bis hin zur Bewältigung rollenspezifischer Herausforderungen in den Bereichen NLP, Computer Vision oder Reinforcement Learning - die Bandbreite ist groß.
Es ist wichtig, daran zu denken, dass es beim maschinellen Lernen nicht nur um Algorithmen und Modelle geht, sondern auch darum, reale Probleme zu verstehen und zu lösen. Das bedeutet nicht nur, dass du dich mit technischen Aspekten auskennst, sondern auch, dass du in der Lage bist, deine Ideen effektiv zu kommunizieren, den geschäftlichen Kontext zu verstehen und neugierig zu bleiben und ständig zu lernen.
Egal, ob du ein Anfänger bist, der den Einstieg ins Berufsleben sucht, oder ein erfahrener Praktiker, der sich weiterentwickeln will, kontinuierliches Lernen und Üben sind der Schlüssel. Das DataCamp bietet einen umfassenden Kurs für Machine Learning Scientist mit Python an, in dem du deine Fähigkeiten auf strukturierte und tiefgreifende Weise erweitern kannst. Dieser Kurs deckt alles von den Grundlagen bis hin zu fortgeschrittenen Themen ab und hilft dir, auf dem Laufenden zu bleiben und für jede Herausforderung, die sich dir bei einem Vorstellungsgespräch oder in deiner beruflichen Laufbahn stellt, gerüstet zu sein.
Verdiene eine Top-KI-Zertifizierung
Machine Learning Interview FAQs
Was sind die drei Teile des maschinellen Lernens?
Datenaufbereitung, Modellierung und Einsatz. Laut CRISP-ML(Q) gibt es mehr als drei Teile, wie z.B. Geschäfts- und Datenverständnis, Datenaufbereitung, Modellierung, Bewertung, Einsatz sowie Überwachung und Wartung.
Wie läuft ein Vorstellungsgespräch zum maschinellen Lernen ab?
Technische Interviews zum maschinellen Lernen sind in der Regel in mehrere Teile unterteilt:
- Interview zur Codierung
- Algorithmen und Datenverarbeitung
- Rollenspezifisches Interview
- ML System Design Interview
- Operatives maschinelles Lernen und Best Practices
Die nicht-technischen oder Vor-Ort-Interviews sind auch Teil des Bewerbungsprozesses für maschinelles Lernen, aber sie sind allgemeiner und unternehmensspezifischer.
Ist es einfach, ein Vorstellungsgespräch für maschinelles Lernen bei Amazon zu bestehen?
Nein, du musst dich auf verschiedene Phasen des Vorstellungsgesprächs vorbereiten. Du musst dich auf einen Online-Einstufungstest, ein Telefongespräch mit dem Personalverantwortlichen, ein technisches Telefongespräch und ein Vorstellungsgespräch vor Ort vorbereiten. Jede Etappe testet deine Fähigkeiten und dein Wissen.
Führen Ingenieurinnen und Ingenieure für maschinelles Lernen Codierungsgespräche?
Ja. Er wird deine Fähigkeiten zur Problemlösung mit Python und zur Datenanalyse mit SQL testen. Außerdem wirst du nach Tools für maschinelles Lernen gefragt. Es ist besser, das Programmieren zu üben, indem du an Challenges teilnimmst, wie z.B. an DataCamp-Tests.
Was sind die Hauptaufgaben eines KI/ML-Ingenieurs?
Im Allgemeinen erforschen, entwerfen und entwickeln KI/ML-Ingenieure maschinelle Lernsysteme, aber das ist von Job zu Job und von Unternehmen zu Unternehmen unterschiedlich.
Zusätzlich:
- Sie bereinigen die Daten, führen eine Datenvalidierung durch und ergänzen die Daten aus dem Modelltraining.
- Passe die Modellarchitektur und die Hyperparameter an, um bessere Ergebnisse zu erzielen.
- Verstehen von Geschäft und Datenverfügbarkeit.
- Leistungskennzahlen, Algorithmen und Einsatzstrategien.
- Manchmal sind sie auch am Cloud Computing und am Entwicklungsbetrieb beteiligt.
Wie bereite ich mich auf ein Vorstellungsgespräch zum maschinellen Lernen vor?
Erfahre mehr über das Unternehmen und die Aufgaben, löse Programmieraufgaben, schaue dir frühere Projekte an, entwerfe und lerne den gesamten Lebenszyklus des maschinellen Lernens kennen, übe Probeinterviews und lese über die neuesten Entwicklungen im Bereich KI/ML. Das ist wichtig, egal, ob du gerade erst Ingenieur für maschinelles Lernen wirst oder schon jahrelang professionell im Bereich maschinelles Lernen arbeitest.
Kurse zum maschinellen Lernen
Course
Maschinelles Lernen für Finanzen in Python
Course