Künstliche Intelligenz für Anfänger: Tools zum Erlernen von Machine Learning | Alvin Wan | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Künstliche Intelligenz für Anfänger: Tools zum Erlernen von Machine Learning

teacher avatar Alvin Wan, Research Scientist

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      3:08

    • 2.

      Projekt

      2:04

    • 3.

      Was ist eigentlich AI? ML?

      4:37

    • 4.

      So lernt man maschinelles Lernen

      7:15

    • 5.

      Das einfachste Modell der Welt

      7:55

    • 6.

      Erstellen eines Gesichtsemotionsklassifaktors

      7:53

    • 7.

      So verbesserst du dein Modell

      6:40

    • 8.

      Einen besseren Gesichtsemotionsklassifikator

      6:14

    • 9.

      Übung: Analysieren von ML-Problemen

      6:21

    • 10.

      Taxonomie von ML-Themen

      7:21

    • 11.

      Übung: Analysieren von AI-Produkten

      2:32

    • 12.

      Nächste Schritte

      3:22

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

4.212

Teilnehmer:innen

13

Projekte

Über diesen Kurs

Was ist „künstliche Intelligenz”? „Machine Learning“? Lass uns die bedeutungslosen Buzzwords durchschneiden und den echten Kurs sprechen.

Dieser Kurs deckt genaue Themen für must-know must-know und alle, die sich auf diese aufstrebenden Felder und neugierige Bereiche eingehen. Wir behandeln viele Themen und Takeaway:

  • Erstelle einen a um mit a zu üben.
  • Welche künstliche Intelligenz ist und wie sie auf maschinelles Lernen verwandt
  • Wie du Machine Learning mit viel Übung
  • Übe AI in ML aufzubauen. Großartig für die understanding von ML
  • Übe ML aufgliedern. Großartig als die Übungen für das Interview.
  • taxonomies von of
  • ML wie lineare Regression, Abgleichen, Einstufung, Regression, Merkmalen usw.

Dieser Kurs erfordert minimale amounts aber keine technischen Kenntnisse Unabhängig von deinem Hintergründe wirst du die Grundlagen für das Erlernen des Erlernen, Lernen und Üben von Machine Learning

Möchtest du mehr Machine lernen? Versuche meine Computervision 101 (angewandte (Applied .

Interesse, wie man programmiert Schau dir meinen Kurs an (Python), OOP 101 (Python) oder VR101 (HTML) an.

Interessiert für die Datenwissenschaft? Schau dir meinen SQL 101 (Datenbankdesign) oder Daten 101 (Database an.

Acknowledgments: B-Rolle in der Einführung von Shvets Produktionen auf pexels.com

Triff deine:n Kursleiter:in

Teacher Profile Image

Alvin Wan

Research Scientist

Top Teacher

Hi, I'm Alvin. I was formerly a computer science lecturer at UC Berkeley, where I served on various course staffs for 5 years. I'm now a research scientist at a large tech company, working on cutting edge AI. I've got courses to get you started -- not just to teach the basics, but also to get you excited to learn more. For more, see my Guide to Coding or YouTube.

Welcoming Guest Teacher Derek! I was formerly an instructor for the largest computer science course at UC Berkeley, where I taught for several years and won the Distinguished GSI (graduate student instructor) award. I am now a software engineer working on experimentation platforms at a large tech company. 4.45 / 5.00 average rating (943 reviews) at UC Berkeley. For more, see my Skillshare or Webs... Vollständiges Profil ansehen

Level: Intermediate

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Selbstfahrende Autos, Augmented Reality, Sprachassistenten. Dies sind Produkte der nahen Zukunft, die durch künstliche Intelligenz ermöglicht werden. Fragen Sie, wie künstliche Intelligenz funktioniert, und Sie erhalten eine Reihe von tiefen neuronalen Dingen, Grafiken, Figuren, Visualisierungen, Meme sogar. Verwirrend. Diese Klasse ist anders. Ich werde erklären, was hinter den Kulissen mit Substanz los ist, ohne Einschüchterung. Verwenden Sie keine Schlagwörter nur um es willen. Diesmal lernt man maschinelles Lernen für echtes. Hi. Ich bin Alvin. Ich bin Informatik PhD Student und Dozent an der UC Berkeley, wo ich über 5.000 Studenten unterrichtet habe. Ich habe an Deep Learning Recherche für produktionsorientierte Anwendungen gearbeitet. Zum einen zwei Jahre lang bei Facebook Reality Labs und Mixed Reality für Produkte wie Oculus Quest. Jetzt bei Tesla Autopilot für vollwertige Selbstfahrt. Basierend auf jahrelanger Produktion mit Blick auf die Forschung, destille ich maschinelles Lernen Konzepte in eine praktische Einführung für Sie. Diese Klasse ist für jeden geschrieben, der von künstlicher Intelligenz und maschinellem Lernen fasziniert ist. es glauben oder nicht, das Geheimnis besteht darin, einen Schritt zurück zu gehen und die Grundlagen von Boden Null zu lernen , um ein sexy KI-Produkt in seine Komponente und alle Teile zu zerlegen. In diesem Kurs machen Sie einen sinnvollen Schritt zur Anwendung von ML auf Ihr Produkt, Ihr Hobby oder Ihr Unternehmen. Sie können ein Programmierer oder eine völlig nicht-technische Person des Geschäftsführers und Künstlers sein; jeder wirklich. Wenn Sie Python jedoch noch nicht kennen, erhalten Sie viel mehr aus dem Kurs, indem Sie meinen Coding 101: Python für Anfänger Kurs absolvieren. Für alle, Coder nicht, ist das primäre Ziel dieses Kurses, eine Grundlage für Ihre zukünftige Machine Learning Ausbildung zu schaffen . Dies bedeutet: Erstens, lernen, wie man maschinelles Lernen lernt, und zweitens, diese Methode anzuwenden, um ein paar einführende Konzepte zu lernen. Um als ML-Praktiker erfolgreich zu sein, benötigen Sie Code und Mathematik. Wir werden an beiden in diesem Kurs arbeiten. Insbesondere werden wir grundlegende mathematische Konzepte und Begriffe behandeln, wie sie für ML gelten. Keine Sorge, keine flippigen griechischen Symbole. Nur die Ideen. Wie verwende ich eine beliebte Machine Learning-Bibliothek in Python? Wir werden diese dann verwenden, um einen Gesichts- und Bewegungsklassifikator zu erstellen und schließlich das Vokabular für maschinelles Lernen zu kennen, damit Sie bequem über ML-Themen sprechen können . Wir streben danach, Kernkonzepte von ML zu verstehen nicht nur Deep Learning etwas in jeden einzelnen Satz zu stopfen. Das kann für unseren zukünftigen Kurs sein. In diesem Kurs lernen wir die Grundlagen. Das Verständnis von maschinellem Lernen wird einen langen Weg gehen. Nachdem Sie diesen Kurs absolviert haben, haben Sie die Werkzeuge, das Vokabular, das Wissen, um über andere Bereiche des maschinellen Lernens zu lernen: Computer Vision, natürliche Sprachverarbeitung, Sie nennen es. Verstehen Sie die Anwendungen von Deep Learning auf diesem Gebiet, aber zuerst lernen wir in diesem Kurs die Grundlagen des maschinellen Lernens richtig kennen. Lasst uns loslegen. 2. Projekt: Ihr Projekt in diesem Kurs ist es, ein Machine Learning Problem, das Sie spannend finden, in seine Komponenten zu zerlegen . Diese Komponententeile, Daten, Modell, Ziel und Algorithmus werden in Lektion 3 behandelt. Dies wird Ihnen helfen, Ihr Verständnis für eine sich schnell bewegende AI ML-Welt zu stärken. Als Beispiel für das Aufschlüsseln eines Problems zusammen mit Code erstellen Sie einen Gesichtsemotions-Klassifikator. Keine Sorge, es ist keine Programmiererfahrung erforderlich. Wenn Sie nicht bereits Codierung kennen, können Sie einfach jede Zeile kopieren, die ich erkläre und schreibe. Sie erhalten jedoch mehr zum Kurs, indem Sie Python verstehen. Sie können sich verfangen, indem Sie meinen Coding 101, Python für Anfänger Kurs nehmen. Dieser Gesichtseintauchklassifikator ist eine großartige Möglichkeit, um eines, ML-Konzepte in Aktion zu sehen , und zwei, eine visuelle Möglichkeit, die Macht von ML zu verstehen. Dies ist einer meiner Lieblingsteile der Computervision. Die Tatsache, dass Sie sehen können, wie Ihr ML-Modell funktioniert, und vielleicht am wichtigsten ist, ist es wichtig zu sehen, dass selbst die einfachsten ML-Modelle sehr praktisch sein können. Wenn Sie in nur wenigen Minuten eine schnelle und einfache ML-Lösung herstellen können, sollten Sie unbedingt. Alles, was Sie brauchen, sind die Erkenntnisse und die Grundlagen, die Sie in diesem Kurs aufgreifen werden. Manchmal braucht man kein ausgefallenes Model und manchmal tut man es. Erstens beginnen wir mit dem großen Bild, was AI ist, was ML ist und wie man ML lernt. Zweitens konzentrieren wir uns dann auf ML, sezieren ML-Probleme und praktizieren maschinelles Lernen Konzepte. Wir werden über verschiedene grundlegende Ideen wie Featurization, Bias-Varianz, Regularisierung, lineare Regression lernen. Wir werden dann wieder verkleinern, um verschiedene ML-Themen zu diskutieren und KI-Produkte in ihre verschiedenen ML-Komponenten niederzuschreiben. Für die beiden Codierungsstunden in diesem Kurs empfehle ich dringend, sich hinzusetzen, um neben mir das Codieren zu üben. Coder oder nicht, du schaffst es. Ehrlich gesagt, sehen ist glauben, wenn man das erste ML-Programm funktioniert, ist es absolut überwältigend. Ich möchte, dass Sie denselben Moment erleben, nicht nur ein KI-Produkt verwendet, sondern auch Ihre eigene ML-Lösung entwickelt. Lassen Sie uns mit der Frage beginnen, mit der Sie hierher gekommen sind, was ist KI? 3. Was ist eigentlich AI? ML?: Lassen Sie uns nun die Frage beantworten, was ist künstliche Intelligenz? Was ist Machine Learning? Wie sind sie verwandt und wie unterscheiden sie sich? Zuerst geht es um künstliche Intelligenz oder kurz KI. KI allgemein definiert sind Maschinen, die sich wie Menschen verhalten. Es gibt eine Reihe verschiedener KI-Produkte, die dies widerspiegeln: Sprachunterstützung, selbstfahrende Autos und Augmented-Reality-Geräte im Iron Man-Stil. Um wirklich zu verstehen, was diese KI-Produkte so intelligent macht, müssen wir sie aufschlüsseln. Um zu beginnen, lassen Sie uns einen Sprachassistenten sezieren. Ein Sprachassistent auf einer Grundstufe ist Sprache zu Text, dann eine Textsuche und schließlich wieder Text in Sprache. Diese drei Teile sind alle Probleme des maschinellen Lernens, und zusammen werden diese ML-Lösungen zu einem KI-Produkt. Wir können jetzt erneut beantworten, was ist KI? KI ist genauer gesagt eine Kombination von Lösungen für maschinelles Lernen. Das wirft unsere nächste Frage auf: Was macht maschinelles Lernen zu dem, was es ist? Was ist maschinelles Lernen? Im Allgemeinen werden ML Modelle, die aus Daten lernen, wie wir es mit AI gemacht haben, diese ML-Definition konkreter machen. Hier sind einige typische Probleme beim maschinellen Lernen. Erkennen Sie zunächst Anomalien. Zum Beispiel, erkennen Sie anormale Bankaktivität. Zweitens, empfehlen Produkte. Finden Sie Produkte, die Sie suchen. Drittens, prognostizieren Sie die Zukunft. Prognostizieren Sie beispielsweise den Preis Ihres nächsten Kaufs. Klingt nach einer Vielzahl von sehr unterschiedlichen Problemen. Was definiert Machine Learning eigentlich? Nun, was ist, wenn ich dir sage, dass das alles dasselbe Problem ist. Um zu verstehen, wie, muss ich Ihnen ein paar geheime Informationen geben. Angenommen, Sie hatten Informationen über meine Ausgabengewohnheiten, die hier abgebildet ist, insbesondere angesichts eines meiner Einkäufe, können Sie Wahrscheinlichkeiten zuweisen, wie viel ich ausgegeben habe. Zum Beispiel, mit einer Wahrscheinlichkeit von 50 Prozent, ist mein Kauf weniger als $5. Mit einer Wahrscheinlichkeit von 25 Prozent liegt mein Kauf zwischen $5 und $10 und so weiter und so weiter. Wir nennen das eine Verteilung. Eine Verteilung weist Wahrscheinlichkeiten zu bestimmten Ereignissen geschieht. In diesem Fall weisen wir Wahrscheinlichkeiten zu, wie viel ich ausgebe. Diese Verteilung ist übrigens völlig fiktiv, mit einer 100-prozentigen Wahrscheinlichkeit, meine Einkäufe definitiv aus dem Dollarladen. Wie hilft uns diese Distribution? Dies waren die drei ML-Probleme von vorher. Lassen Sie mich Ihnen zeigen, wie Sie diese drei Probleme mit unserer Distribution beantworten können. Erstens, hier ist, wie man Anomalien erkennt. Schauen Sie sich die Verteilung an und fragen Sie, wie wahrscheinlich dieser Kaufbetrag ist. Zum Beispiel ist ein Kauf von 200 USD nach dieser Verteilung extrem unwahrscheinlich. Somit ist ein $200 Kauf eine Anomalie. Zweitens, hier ist, wie Sie Produkte empfehlen. Angenommen, ich kaufe einen Artikel in Höhe von $8 Dies könnte bedeuten, dass ich Artikel in der Kategorie $5 bis $10 kaufe, so dass wir weitere Produkte in dieser Preisklasse empfehlen können. Drittens, hier ist, wie Sie die Zukunft vorhersagen können. Nur wenn wir diese Verteilung betrachten, können wir sagen, dass die höchste Wahrscheinlichkeit Preisspanne weniger als $5 ist. Daher wird mein nächster Kauf wahrscheinlich weniger als $5 sein. Dies führt uns zu einer neuen ML-Definition. Insbesondere untersucht ML Modelle, die Datenverteilungen lernen. Welche Datenverteilung wir lernen möchten, hängt vom Problem ab. Wir könnten an der Verteilung der Einkaufspreise, der Verteilung der Aktienkurse oder vielleicht der Verteilung von Naturbildern interessiert Verteilung der Aktienkurse sein. Diese letzte, die Verteilung von Bildern ist ein seltsames Konzept. Jede Verteilung über den hochdimensionalen Raum ist eigentlich schwer zu visualisieren. Wir werden dies in späteren Klassen nochmals besuchen. Schließlich, um eine weitere Definition in zu werfen, lassen Sie uns Deep Learning definieren. Was ist Deep Learning? Deep Learning ist eigentlich eine Teilmenge des maschinellen Lernens. Insbesondere untersucht Deep Learning komplexe Modelle, die Datenverteilungen lernen. Wir brauchen noch ein paar Lektionen, um zu verstehen, was komplex wirklich bedeutet. Damit sind die Themen für diese Lektion abgeschlossen. Wir haben Produkte für künstliche Intelligenz als eine Kombination von Lösungen für maschinelles Lernen definiert . Wir haben Lösungen für maschinelles Lernen als Modelle definiert, die Datenverteilungen lernen. Schließlich haben wir Deep Learning als einfach komplexe Machine Learning Modelle definiert. Um noch weiter zusammenzufassen, um AI zu verstehen, verstehen Sie zuerst maschinelles Lernen. Das ist genau das Ziel dieses Kurses, ML zu verstehen, nicht nur die Grundlagen, sondern auch das Lernen des maschinellen Lernens. Eine Kopie dieser Folien und weitere Ressourcen finden Sie auf der Kurs-Website. Das ist es für unsere grundlegenden Definitionen. In der nächsten Lektion lernen wir, wie man maschinelles Lernen lernt. 4. So lernt man maschinelles Lernen: In dieser Lektion besprechen wir, wie man maschinelles Lernen lernt. Konkret werden wir vier verschiedene Kategorien von maschinellem Lernen besprechen. Die vier Kategorien sind hier aufgelistet: Daten, Modell, Ziel und Algorithmus. Lassen Sie uns diese Kategorien definieren, bevor Sie eins nach dem anderen in sie tauchen. Die erste Kategorie sind Daten. Dies sind die Eingänge und die gewünschte Ausgabe für Ihre Anwendung. Für jede Anwendung sollten Sie ein paar Fragen stellen. Was ist Ihr Ziel auf hohem Niveau? Wie ist der Input strukturiert? Was prognostizieren Sie und gibt es zusätzliche Datenquellen, die zusätzliche Informationen liefern könnten? Hier sind ein paar Beispielantworten. Ihr Ziel könnte beispielsweise darin bestehen, handgeschriebene Ziffern zu klassifizieren. Ihre Eingabe wäre dann ein Bild einer handgeschriebenen Nummer. Schließlich ist die Ausgabe eine Zahl. Für dieses spezielle Problem gibt es keine zusätzlichen Datenquellen, die wir nutzen können. Die zweite Kategorie ist unser Modell. Dies ist eine Funktion, die Vorhersagen macht. Für jedes Modell sollten Sie sich fragen, wie komplex mein Modell sein sollte, ist eine lineare Funktion genug? Brauche ich eine quadratische Funktion, ein Polynom, ein neuronales Netzwerk? Ein Beispielmodell ist ein lineares Modell, da wir in der linearen Regression die lineare Regression später genauer visualisieren. Die dritte Kategorie ist unser Ziel. Ein Ziel legt früher fest, was Sie lernen möchten. Für jedes Ziel sollten Sie fragen, ob ich den Gewinn maximiere oder Fehler minimiere? Wie definiere ich Fehler? Wie definiere ich Gewinn? Gibt es Ungleichgewichte in meinen Daten? Gibt es Vorurteile, die ich ansprechen sollte? Ein Beispiel, Ziel ist Minimierungsfehler durch Optimieren von Linienneigung und Schnittpunkt zu minimieren. Der Fehler ist der Unterschied zwischen unseren Vorhersagen und den beobachteten Daten als Etiketten. Wir werden das später konkreter verwerfen. Wenn dieses Beispiel keinen Sinn ergibt, ist das okay. Wir werden dies in einer späteren Lektion genauer erläutern. Die vierte Kategorie ist der Algorithmus. Dies ist, wie Sie Ihr Ziel effektiv erreichen, wie Sie den Lernteil des maschinellen Lernens durchführen können. Es gibt mehrere Fragen, die Sie stellen können. Soll ich das manuell lösen? Soll ich es iterativ lösen? Reduzieren Sie das Problem auf ein einfacheres? Eine Beispielantwort ist, den Ableitungssatz auf Null zu nehmen und zu lösen. Beachten Sie, dass diese Algorithmen nicht der Fokus für diese Klasse sind. Diese sind zu einem späteren Zeitpunkt zu lernen, aber noch nicht in einer Einführung. Um den Zweck dieses Abschnitts zusammenzufassen, ist dies mein Tipp für Sie. Kategorisieren Sie alle neuen Kenntnisse des maschinellen Lernens, die Sie gewinnen, in Daten , Modell, Ziel oder Algorithmus. Damit ist der Überblick über unser Rahmenwerk in vier Kategorien für maschinelles Lernen abgeschlossen. Beginnen wir nun mit diesem Lern-Framework. Wir werden jetzt Grundlagen des Wissens für jede Kategorie des maschinellen Lernens einführen. Zuerst sind Daten oder was man lernen kann. Daten in jedem Problem des maschinellen Lernens sind in drei Teile aufgeteilt. Der erste Teil ist der Zugsatz, die Daten, die Sie verwenden, um Ihr Modell zu trainieren. Der zweite Teil ist der Validierungssatz, die Daten, mit denen Sie Ihr Modell überprüfen. Sie können diesen Validierungssatz verwenden, um das beste Modell oder die besten Modell-Optimierungen auszuwählen. Der letzte Teil ist der Testsatz. Sie sollten Ihr Modell nur einmal auf dem Testsatz ausführen. Dies ist Ihre letzte Prüfung für die Leistung der Machine Learning-Modelle , bevor sie zum Beispiel in die Produktion geliefert werden. Wir werden jetzt Ihr Wissen über Modelle erweitern oder vorhersagen. Es gibt zwei Arten von Modellen, generativ und diskriminierend. Generative Modelle lernen, wie die Daten direkt generiert wurden. Angesichts der Klasse lernen generative Modelle die Verteilung von Daten. Generative Modelle können beispielsweise verwendet werden, um Bilder automatisch zu verbessern, Essays zu generieren oder Text in Sprache zu transformieren. Diskriminative Modelle lernen die Grenzen zwischen den Klassen kennen. Angesichts der Daten lernen diskriminierende Modelle die Wahrscheinlichkeit jeder Klasse. Beispielsweise können diskriminierende Modelle verwendet werden, um Gesichtsemotionen zu klassifizieren, Tweet-Sentimentanalysen durchzuführen oder Sprache in Text zu übersetzen. Wir werden vorerst bei den meisten diskriminierenden Modellen in unseren Diskussionen bleiben. Es gibt eine andere Möglichkeit, Modelle aufzuteilen. Wir können auch eine beaufsichtigte gegen unbeaufsichtigte Modelle in Betracht ziehen. Beaufsichtigte Modelle verfügen über Etiketten. Hier sind zwei Arten von überwachten Modellen. Klassifizierungsmodelle klassifizieren die Eingaben in eine oder mehrere Klassen. beispielsweise ein Bild geben, klassifizieren Sie die Hunderasse, und Regressionsmodelle prognostizieren eine kontinuierliche Ausgabe. Prognostizieren Sie beispielsweise einen zukünftigen Aktienkurs. Nicht überwachte Modelle verfügen über keine Beschriftungen. Hier sind zwei Arten von unbeaufsichtigten Modellen. Erstens teilt das Clustering die Eingaben in separate Gruppen auf. Sie können beispielsweise fragen, welche DNA-Sequenzen am ähnlichsten sind , und Algorithmen zur Dimensionalitätsreduktion verringern die Anzahl der Dimensionen, die Ihre Daten haben. In dieser Klasse konzentrieren wir uns auf überwachte Modelle. Lassen Sie uns nun die Ziele des maschinellen Lernens oder Ihr Ziel konkreter verstehen. Um dies zu tun, müssen wir verstehen, wie Daten generiert werden und wie wir zu einem Begriff des Fehlers kommen. Nehmen wir an, wir versuchen, y von x vorherzusagen. Y kann gelagert werden Preise und x kann das Datum sein. Dein wahres Modell, die Grundwahrheit, die Antwort ist grün. Für jedes x bietet Ihnen diese Linie ein y. Diese grüne Linie wird unser wahres Boden-Wahrheitsmodell sein. Lassen Sie uns nun Daten aus diesem echten Modell abtasten. Diese Daten sind unsere wahren Daten. Lassen Sie uns nun unsere wahren Daten beeinträchtigen, indem wir etwas Rauschen hinzufügen. Dieses Geräusch könnte aufgrund von Beobachtungsgeräuschen in der realen Welt sein, vielleicht Ihre Herrscher in ungenau oder Ihre Uhr ist leicht aus. Das Hinzufügen von Rauschen liefert uns dann unsere beobachteten Daten. Dies ist der Datensatz, den Sie sammeln würden, und es ist alles, was wir brauchen, um ein Modell zu trainieren. Alle Visualisierungen, die wir zuvor in Grün gezeigt haben, die wahren Daten , das wahre Modell, haben wir keinen Zugriff auf diese. Wir haben nur Zugriff auf die beobachteten Daten hier in blau. Dann trainieren wir unser Modell, die Linie hier in schwarz. Dieses trainierte Modell gibt uns auch einige Vorhersagen, die schwarzen Punkte. Schließlich ist der Fehler der Unterschied zwischen unseren Vorhersagen und den beobachteten Daten, die wir gesammelt haben. Dies ist eine Möglichkeit, Fehler zu definieren. Dies ist nur die visuelle Intuition, wir werden das später formeller ausschreiben. Schließlich sind die letzte Kategorie Algorithmen. Ein Algorithmus, an den Sie sich aus der Kalkulus-Klasse erinnern können ein Ziel zu minimieren oder zu maximieren, besteht darin, die Ableitung zu nehmen, auf Null zu setzen und zu lösen. Wir werden jedoch nicht viel tiefer gehen. Wie wir bereits gesagt haben, werden wir diese Kategorie von Wissen vorerst überspringen. Damit werden die Themen in dieser Lektion abgeschlossen. Um zusammenzufassen, haben wir den hier aufgeführten Rahmen behandelt, die vier Kategorien von maschinellem Lernen Wissen oder Datenmodelle, Ziele und Algorithmen. Wenn Sie maschinelles Lernen lernen, sollten Sie Ihr Wissen in diese vier Kategorien einteilen. Dies war eine große Hilfe und ich habe gerade erst begonnen und ich hoffe, dass dies Ihnen helfen wird , die großen Mengen an ML-Wissen zu verarbeiten, auf die Sie stoßen werden. Eine Kopie dieser Folien und weitere Ressourcen finden Sie auf der Kurs-Website. Das schließt unsere Meta-Lektion zum Lernen von maschinellem Lernen ab. In der nächsten Lektion erfahren Sie mehr über Ihr allererstes Modell. Vergessen Sie nicht diese vier Fächer des ML-Wissens. für jedes neue Thema sicher, dass Sie sich fragen, zu welchen Wissenskategorien diese Konzepte gehören. 5. Das einfachste Modell der Welt: In dieser Lektion untersuchen wir mehr als die einfachsten Modelle für maschinelles Lernen, „Ausrichten“. Lassen Sie sich nicht täuschen. Das Modell selbst ist einfach. Es ist nur eine Zeile, aber wir haben einige Konzepte in dieser Lektion, die nicht so einfach sind. In dieser Lektion gibt es tatsächlich ein paar mathematische Gleichungen. Wenn wir auf diese Gleichungen stoßen, brauchen Sie sich nicht auswendig zu lernen. Konzentriere dich darauf, was jede Aussage bedeutet. Lassen Sie uns jetzt diskutieren, was eine Linie oder ein lineares Modell tun kann. Zunächst kann ein lineares Modell für die Regression verwendet werden. Regression ist eine Art von Problem mit kontinuierlichen Wertausgaben und Beschriftungen. Kontinuierlich bewertet bedeutet, dass der Wert Dezimalstellen wie 1,5 oder 2.365 sein kann. Hier ist ein Beispiel für ein Regressionsproblem. Entlang der x-Achse ist Hundehöhe, entlang der y-Achse ist Hundeschwanzlänge. Wir haben unsere beobachteten Daten blau dargestellt. In diesem Beispiel ist es unser Ziel, die Länge des Hundes von der Höhe des Hundes vorherzusagen. Mit anderen Worten, erstellen Sie eine Funktion, die für jede x-Wert-Eingabe einen y-Wert prognostiziert. Sehen wir uns nun an, wie ein lineares Modell für die Regression verwendet werden kann. Dieser maschinelle Lernalgorithmus wird als gewöhnliche kleinste Quadrate oder lineare Regression bezeichnet. Der Punkt dieses bevorstehenden Abschnitts ist es, Ihnen einige mathematische Notation vorzustellen. Insbesondere werden wir die letzten Lektionen Visualisierungen überdenken, aber dieses Mal werden wir diese Visualisierungen als mathematische Aussagen formalisieren. Zurück zu unserem Regressionsproblem. Dieses Mal verwenden wir ein generisches x und y. Unser Ziel ist es, y mit x vorherzusagen. Wir bezeichnen unsere beobachteten Daten mit blauen Punkten auf der linken Seite. Jeder blaue Punkt hat eine Koordinate, wie auf der rechten Seite gezeigt. Unser Ziel ist es, eine schwarz abgebildete Linie an die beobachteten Daten anzupassen. Daran erinnern, dass die Gleichung einer Zeile y gleich mx plus b. X ist unser Eingang und y ist unsere Ausgabe. M und b sind unsere Modellparameter. Das Ändern der Modellparameter führt zu einer neuen Linie oder einem neuen Modell. Wir machen jetzt Vorhersagen mit unserer hier abgebildeten Linie als schwarze Punkte. Um diese Vorhersagen zu erhalten, schließen Sie die Eingabe x_1 in die Gleichung für eine Zeile ein. Einstecken des nächsten in unsere Gleichung für eine Linie gibt uns dann unsere Vorhersage y_1 Hut. Sie können dies für jede Ihrer Koordinaten wiederholen. Jetzt müssen wir formell unseren Verlust oder Fehler anhand der Vorhersagen definieren. Nehmen Sie insbesondere den Unterschied zwischen dem beobachteten y und dem vorhergesagten y Hut. Dies ist der vertikale Abstand von jedem der beobachteten grauen Punkte zum entsprechenden schwarzen Punkt auf der Linie. Wir quadrieren dann den Unterschied, weil wir sowohl unterschätzend als auch überschätzend bestrafen wollen . Wiederholen Sie dies für alle Punkte. Dies schließt die Visualisierung unseres Verlustes. Nehmen wir uns einen Moment Zeit, um unsere Mathematik ein wenig zu vereinfachen. Hier sind die Gleichungen für unsere Vorhersagen, die wir früher gesehen haben. Wir können eine generische Version davon schreiben, indem wir die Zahlen durch den Buchstaben i ersetzen. Dieser Buchstabe i ist eine Variable, die der i-ten beobachteten Probe entspricht. Es ist nur eine Möglichkeit für uns, die drei Zeilen oben mit einer Zeile hier zusammenzufassen , wo die Verluste, die wir zuvor gesehen haben. Um den Gesamtverlust für unser Modell zu erhalten, müssen wir all diese zusammen zusammenfassen. Wir können die Summe prägnant darstellen, indem wir einige mathematische Notation verwenden. Dieser flippige Blick seitlich w ist ein griechischer Großbuchstabe Sigma. Dieses Großbuchstaben Sigma mit dem Kleinbuchstaben i bedeutet, dass wir über alles i. Keine griechischen Buchstaben mehr übrigens, nur diesen. Lassen Sie uns jetzt alles einstecken, um unser endgültiges Ziel in Mathematik zu erreichen. Für unser Ziel wollen wir den Verlust, den wir zuvor beschrieben haben, minimieren. Beachten Sie das tiefgestellte mb. Dieser tiefgestellte Punkt sagt uns, was wir optimieren können, um den Verlust zu minimieren. In diesem Fall werden wir unseren Verlust minimieren, indem wir die Modellparameter m und b optimieren. Als nächstes bemerken Sie das Skript L. Dies ist unser Verlust. Lassen Sie uns unseren Verlust von der vorherigen Folie einstecken. Dies ist ein aktualisiertes Ziel, jedoch ist unsere Vorhersage y_i hat undefiniert. Stecken wir das auch ein. Dies ist das endgültige Ziel. Es sieht aus wie eine Menge zufälliger Buchstaben, wenn man sich die ganze Sache anschaut. Aber lassen Sie uns die einzelnen Teile zusammenfassen. Erstens minimieren wir den Verlust, indem wir die Linien m und b optimieren. Zweitens ist der Verlust der vertikale Abstand zwischen der Vorhersage und dem beobachteten Label. Schließlich definieren wir Vorhersagen, um unsere Linie bei jedem x i ausgewertet zu werden. Das ist es für die Symbole. Um dieses Ziel zu lösen, nehmen gewöhnliche kleinste Quadrate einfach den Ableitungssatz auf 0 und lösen. Wir werden diesen Teil jedoch überspringen. Wenn Sie sich nun von allen Symbolen umwickelt fühlen, können Sie mit der nächsten Lektion überspringen, in der wir anfangen, einen Gesichtsempfindungsklassifikator zu erstellen. Es gibt keine mathematischen Symbole mehr, aber wir benötigen ein paar Konzepte, um zu verstehen wie die kleinsten Quadrate für die Klassifizierung verwendet werden können. Im Gegensatz zur Regression wird die Klassifikation durch kategoriale Beschriftungen unterschieden. Zum Beispiel werden die Etiketten für unseren Gesichtsempfindungsklassifikator glücklich, traurig oder überrascht sein. Das ist unser Ziel. Unsere Vorhersage ist ein kontinuierlicher Wert und wir wollen dies in eine Emotion wie glücklich umwandeln. Konzentrieren wir uns darauf, glücklich als Zahl darzustellen. Weisen Sie dazu jede Emotion einer Zahl zu, glücklich auf 1, setzen Sie auf 2 und überraschen Sie auf 3. Unser Ziel ist es nun, unsere Dezimalprognose in ein ganzzahliges Label 1, 2 oder 3 umzuwandeln. Aber wie machen wir das? Um die Sache noch schlimmer zu machen, ist unsere Dezimalzahl unbegrenzt. Es könnte 5.267 sein, es könnte 10,7 sein, es könnte 1.000 sein. Wir brauchen einen Trick. Wir ändern unsere Vorhersage. Anstatt eine einzelne Zahl auszugeben, haben wir unser Modell drei Zahlen ausgegeben. Wenn die erste Zahl die größte ist, würden wir die erste Klasse vorhersagen. Wenn die zweite Zahl die größte ist, prognostizieren wir die zweite Klasse. Zum Beispiel würden wir hier die Klasse 2 vorhersagen, da 5.36 der größte Wert ist. Hier würden wir die Klasse 1 vorhersagen, da 7.94 die größte Zahl ist. Da es nur drei Einträge gibt, können unsere vorhergesagten Klassen nur 1, 2 oder 3 sein . Dies behebt unser Problem mit der Vorhersage unbegrenzt. Dies ist unsere endgültige Vorhersagestrategie für drei Klassen, prognostizieren drei Zahlen, nehmen Sie den Index des größten Wertes, und dieser Index ist Ihre Klassenvorhersage. In diesem Fall würden Sie Klasse 2 vorhersagen, da der zweite Wert am größten ist. Sie können diesen Klassenindex dann in einen Klassennamen konvertieren. Zum Beispiel entspricht Klasse 2 hier traurig. Auf diese Weise kann unser kleinste Quadrate Modell traurig vorhersagen. Im Allgemeinen für ein Klassifizierungsproblem mit k Klassen, geben Sie k Zahlen aus, dann nehmen Sie den Index der größten Zahl. Dieser Index ist Ihre Klassenvorhersage. Dies löst die Vorhersage, aber jetzt, wie trainieren wir das? Es gibt drei Ausgänge und dennoch gibt es nur ein Label. Denken Sie daran, dass wir Fehler berechnen, indem den Unterschied zwischen unserer Vorhersage und unserem Label nehmen. Deshalb brauchen wir auch ein dreidimensionales Etikett. Wie wandeln wir unser ganzzahliges Label in ein dreidimensionales Label um? Es ist eigentlich unkompliziert, mehr oder weniger. Ersetzen Sie Beschriftung 1 durch einen dreidimensionalen Vektor, 1, 0, 0, ersetzen Sie Beschriftung 2 durch die dreidimensionalen Vektoren 0, 1 , 0, und ersetzen Sie schließlich drei durch den Vektor 0, 0, 1. Wir nennen diese spezifische Transformation eine One-Hot-Codierung. So haben wir jetzt ein ordentliches dreidimensionales ein-hot codiertes Etikett auf der Unterseite, um unsere dreidimensionale Ausgabe auf der Oberseite zu überwachen. Um für die Klassifizierung mit K-Klassen zusammenzufassen , werden alle Beschriftungen mit einem Hot-Codieren beide Konzepte verwendet. Codieren Sie nur das erste Modell der kleinsten Quadrate. Damit werden Konzepte für diese Lektion abgeschlossen. Um zusammenzufassen, haben wir die Regression als Problem mit fortlaufenden Wertebeschriftungen definiert. kleinsten Quadrate ist eine Methode, um ein Regressionsproblem zu lösen. Wir haben die Klassifizierung auch als Problem mit kategorialen Beschriftungen definiert und untersucht, wie die kleinsten Quadrate der Klassifizierung angewendet werden können, indem Sie One-Hot-codierte für eine Kopie dieser Folien verwenden und weitere Ressourcen stellen Sie sicher, dass Sie den Kurs -Webseite. Damit ist diese Lektion abgeschlossen. Trotz des Titels ist dies überhaupt keine einfache Lektion. Das Modell, richten Sie es einfach aus, aber wir brauchten einige erweiterte Konzepte, um diese Linie funktionieren zu lassen, wenn Sie verwirrt sind. Ich schlage vor, diese Lektion vorerst beiseite zu legen. Frustrieren Sie sich nicht, wenn Sie sich zurück-an-back ansehen. Stattdessen schlage ich vor, diese Lektion nach einer guten Nachtruhe erneut zu besuchen. Wenn es jetzt keinen Sinn ergibt, wird es in einem Tag Zeit. In der nächsten Lektion werden wir ein funktionierendes Modell der kleinsten Quadrate für die Emotionsklassifizierung des Gesichts codieren. 6. Erstellen eines Gesichtsemotionsklassifaktors: In dieser Lektion erstellen Sie Ihr allererstes Modell für maschinelles Lernen, einen Gesichtsempfindungsklassifikator. Sie können immer noch folgen, wenn Sie nicht wissen, wie man kodiert. Aber Sie erhalten mehr aus diesem Abschnitt des Kurses, wenn Sie wissen, wie. Um sich mit der Python Programmierung zu beschäftigen, können Sie meinen Coding 101 Python für Anfänger Kurs nehmen. In dieser Lektion werden auch Objekte verwendet. Sie können sich optional mit objektorientierter Programmierung beschäftigen, indem Sie mein Coding 101 Plus nehmen Ihren Code mit objektorientierter Programmierung aufheben. Das war's für die Haftungsausschlüsse. Lass uns das machen. Navigieren Sie zunächst zu dieser URL und greifen Sie auf eine repl.it-Vorlage zu. Ich schlage vor, das Video hier einschließlich des Kontos zu pausieren, wenn Sie es noch nicht getan haben. Während Sie ohne Konto codieren können, können Sie mit einem Konto Ihren Code speichern. Sobald Sie diese Seite sehen Fork das Produkt, um Ihre eigene editierbare Kopie zu erhalten. Klicken Sie dazu oben links auf den Projektnamen, um eine Dropdown-Liste zu erhalten. Klicken Sie auf die Auslassungspunkte, um eine weitere Dropdown-Liste zu erhalten, und klicken Sie schließlich auf die Gabeltaste. Dann empfehle ich, Ihre Skillshare und repl.it Fenster nebeneinander zu platzieren, wie hier gezeigt. Wir beginnen mit den Importen, die Sie für dieses Projekt benötigen. Geben Sie zuerst Ihr Modell ein. Unser Modell wird als lineare Regression bezeichnet. Das lineare Regressionsmodell wird vom Python Paket scikit-learn bereitgestellt. Scikit-Learn ist eine Bibliothek, die Tools für Statistiker und Machine Learning Praktiker gewidmet ist. Hier Typ, „Von“, scikit-learn wird als sklearn abgekürzt, so sklearn.linear_ Modell importieren LinearRegression. Als nächstes importieren Sie einen OneHotEncoder für unsere Etiketten. Von sklearn wieder importieren Sie OneHotEncoder vor der Verarbeitung. Als nächstes importieren Dienstprogramm zum Auswerten Klassifizierungsprognosen aus sklearn.metrics Import accuracy_ score. Stellen Sie sicher, dass Sie genau so eingeben, wie ich auf den Fall und die Satzzeichen hineintippe. Importieren Sie schließlich eine lineare Algebra-Bibliothek namens NumPy. Importieren Sie NumPy als np. Jetzt starten wir das Skript, indem wir Ihre Trainings- und Validierungsdaten laden. Sowohl Trainings- als auch Validierungsdatensätze befinden sich in Ihrem Datenverzeichnis. Verwenden Sie NumPy Load Funktion, um unsere Trainingsdaten zu laden. Wir weisen dies einer Variablen namens Datenzug zu. Hier werde ich ein paar leere Leerzeilen erstellen und wir werden sagen, data_ Zug ist gleich np.load und der Pfad zu Ihren Daten ist im Datenverzeichnis fer 2013 train.npz. Dieser Fer steht nur für Gesichtserkennung. Diese geladene npz-Datei verhält sich wie ein Wörterbuch. Wir können auf den X-Key zugreifen, um unsere Trainingsdatensätze zu erhalten. Auf einer neuen Linie geben wir x_ Zug gleich Datenzug und ein Großbuchstabe X ein. Wiederholen Sie dies für die Beschriftungen des Trainingsdatensatzes. Y_train ist data_train Y. Wir können diesen Vorgang für den Validierungsdatensatz wiederholen. Hier werde ich data_val np.load data fer 2013 val.npz eingeben. Dann ist X_val die Validierungen X und Y_Val ist die Validierungen Y. Jetzt müssen wir unsere Daten vorverarbeiten. Moment ist die einzige p-Verarbeitung, die wir brauchen, eine OneHot-Codierung für unsere Etiketten. Dazu verwenden wir einen OneHotEncoder, ein von scikit-learn bereitgestelltes Dienstprogramm. Erstens, hier ist ein Tipp. Alle scikit-learn-Bibliotheken folgen dem gleichen Muster. Wir erstellen oder instanziieren das scikit-learn-Objekt als unseren ersten Schritt. Für den zweiten Schritt rufen Sie die Fit-Methode auf, dies ist effektiv die Zugmethode. Es ist etwas irreführend, denn für Transformationen wie den OneHotEncoder gibt es kein Training. Schließlich hängt für Ihren dritten Schritt die Transformations- oder Vorhersagemethode, die Sie aufrufen, davon ab, ob das Objekt ein Modell oder eine Transformation wie der OneHotEncoder ist. Aus welchem Grund auch immer, als ich zum ersten Mal die Scikit-Bibliothek aufnahm , haben mich diese Schritte wirklich verwirrt, also hilft hoffentlich, sie hier auszulegen. Lassen Sie uns nun die Schritte folgen. Zuerst instanziieren wir Ihren OneHotEncoder. Hier geben Encoder gleich OneHotEncoder. Als nächstes bietet scikit-learn eine saubere Methodenanpassung Transformation, die den zweiten und dritten Schritt kombiniert. Lasst uns das jetzt benutzen. Wir müssen unsere Trainingsetiketten codieren. Rufen Sie die Fit-Transformationsmethode auf Y-Zug auf. Hier werden wir das Ergebnis einer neuen Variablen namens Y-oh-Zug zuweisen , kurz für OneHot. Dann werden wir Encoder fit Transformationsmethode auf den Trainingsdaten nennen. Endlich rufen wir anArray an. Dies ist eine Eigenart für OneHotEncoder Insbesondere der Aufruf von toarray stellt sicher, dass Ihre Ausgabe ein Array ist. Jetzt können wir mit all dem Setup erstellen und trainieren unser Modell. Unser Modell ist ein LinearRegressionsmodell von scikit-learn. Wir folgen den gleichen drei Schritten von vorher, instanziieren, anpassen und vorhersagen. Als Nächstes unter Ihrem vorhandenen Code werden wir die LinearRegressionsklasse instanziieren, Modelle gleich LinearRegression mit Klammern. Trainieren Sie als nächstes das LinearRegressionsmodell auf dem Trainingsdatensatz, also model.fit und wir entstehen, die Trainingsdatensätze X und die Trainingsdatensätze Y zu übergeben . Dann verwenden wir das Modell, um die Ergebnisse für jede Klasse im Training auszugeben -Datensatz. Wir definieren Punktezug ist gleich den Vorhersagen des Modells auf dem Trainingsdatensatz. Wiederholen Sie dies für den Validierungsdatensatz. score_val ist model.predict für den Validierungsdatensatz. Schließlich finden Sie für jede Stichprobe den Index des größten Werts. Dieser Index ist Ihre endgültige Klassenvorhersage. Hier haben wir die Vorhersage ist der Index der größten Klasse. Wiederholen Sie dies dann für den Validierungssatz. Mit dem Modell geschult und Prognosen gemacht, müssen wir nun diese Vorhersagen mit einer scikit-learn-Funktion namens Genauigkeitsbewertung bewerten unsere Modelle Vorhersagen. Hier werden wir es eingeben, „Drucken“. Zuerst geben wir ihm ein Etikett, „Train accuracy“, und dann werden wir die Vorhersagen der Modelle bewerten. Y_Zug, Yhat_Zug. Beachten Sie hier, dass ich nicht wirklich eine neue Zeile erstellt habe, sondern weil mein Fenster so winzig ist, dass dieses eine umgewickelt ist. Wiederholen Sie dies als Nächstes für den Validierungsdatensatz. Wir werden val-Genauigkeit drucken und dann die Genauigkeitsbewertung für die Validierungsetiketten und die Validierungsprognosen wiederholen . Drücken Sie nun den grünen Pfeil ganz oben, um Ihren Code auszuführen. Zuerst sehen Sie eine Reihe von Installationsprotokollen wenn repl.it Ihre Ausführungsumgebung einrichtet. Das dauert ein paar Minuten. Zweitens sehen Sie eine leere Eingabeaufforderung, während das Modell trainiert, dies dauert etwa 15 Sekunden. Schließlich werden Sie Ihre Evaluationsergebnisse mit etwa 59 Prozent Trainingsgenauigkeit und 61 Prozent Validierungsgenauigkeit und Glückwunsch sehen , das ist Ihr allererstes Machine Learning Modell des Gesicht-Emotions-Klassifikators. Eine Trainingsgenauigkeit von 59 Prozent scheint jedoch recht gering zu sein. Das heißt, wir passen unser Modell an. Wir werden das in der nächsten Lektion beheben. Für eine Kopie dieser Folien und der fertige Code für diese Lektion vergewissern Sie sich, dass Sie die Kurs-Website besuchen. Damit wird Ihr allererstes maschinelles Lernmodell abgeschlossen, ein Gesichtsempfindungsklassifikator. Wie bereits gesagt, unsere Trainingsgenauigkeit von 59 Prozent relativ gering. In der nächsten Lektion werden wir darüber sprechen, wie Sie Ihren Gesichtsempfindungsklassifikator verbessern können. 7. So verbesserst du dein Modell: In dieser Lektion werden wir über die Verbesserung Ihres maschinellen Lernmodells sprechen. Eine Warnung, es gibt einige Begriffe in dieser Lektion, aber es gibt keine Notwendigkeit, sich auswendig zu lernen, während wir gehen. Wir werden diese Begriffe und Takeaways im letzten Teil dieser Lektion überprüfen. Insbesondere decken wir einen Kompromiss ab, der als „Voas-Varianz-Kompromiss“ bezeichnet wird. Dann werden wir zwei Methoden behandeln, um diesen Kompromiss zu kontrollieren, bekannt als Featurization und Regularization. Lasst uns jetzt in den Kompromiss eintauchen. Entlang der X-Achse haben wir Modellkomplexität. Moment können Sie sich die Modellkomplexität als die Anzahl der Operationen vorstellen , die das Modell ausführen muss, um eine Vorhersage zu erstellen. Entlang der y-Achse, ist der Fehler. Unser Ziel bei jedem Modell ist es, das Modell mit dem niedrigsten Fehler zu finden. Finden Sie den Sweet Spot für Modellkomplexität. Es ist jedoch leicht, diesen Sweet Spot zu verpassen. Machen Sie ein Modell zu komplex, und Sie treffen eines der gefürchtetsten Übel des maschinellen Lernens, Überanpassung, wo ein Modell zu nahe ist, um auf die Trainingsdaten in dem Limit zugeschnitten zu werden , dass die meisten Überanpassungsmodelle die Daten speichern. Machen Sie ein Modell zu einfach und Sie treffen ein verwandtes Übel, unterbauend, wo das Modell nicht ausdrucksstark ist um wichtige Informationen in die Daten zu erfassen. Dies könnte bedeuten, dass Sie sich nur die Hausaufgaben ansehen, um Prüfungswerte vorherzusagen, die Auswirkungen des Lesens von Notizen, des Abschlusses von Übungsprüfungen und vieles mehr zu ignorieren . Der Grund, warum sich Fehler so verhält, liegt an Verzerrungen und Varianz. Bias ist der Fehler für Ihr bestmögliches Modell. Wenn Sie also mehr und mehr ausdrucksstarke Modelle auswählen, wird Ihr bestmögliches Modell besser und besser, was zu weniger Fehlern und weniger Vorspannung führt. Kurz gesagt, je mehr Modellkomplexität, desto weniger Bias haben Sie. Varianz ist die Streuung Ihrer Vorhersagen. Mit mehr und mehr ausdrucksstarken Modellen Ihr Modellsatz möglicher Ausgänge immer größer. Dies bedeutet wahrscheinlich, dass sich die Vorhersagen Ihres Modells für alle Daten, die es gegeben hat, ebenfalls ausbreiten. Kurz gesagt, je mehr Modellkomplexität, desto mehr Varianten haben Sie. Die Summe von Bias und Varianz gibt Ihnen dann Ihren Fehler. Das ist der Kompromiss. Unser Ziel ist es, Bias und Varianz auszugleichen, um Fehler zu minimieren, indem die entsprechende Modellkomplexität ausgewählt wird. Zusammenfassend können Sie Bias und Varianz durch Optimieren der Modellkomplexität ausgleichen. Wir werden jetzt über bestimmte Möglichkeiten zur Kompromissverzerrung von Bias und Varianz sprechen. Angesichts dieser beiden Übel, Unter- und Überanpassungen, gibt es eine Vielzahl von Ansätzen, um beide zu bekämpfen. Zunächst einmal ist die Featurisierung, die Unterausstattung durch zunehmende Modellkomplexität bekämpft. Betrachten Sie zuerst einige Daten. Hier stellen die Kreise Samples aus einer Klasse dar. Die X stellen Samples aus einer zweiten Klasse dar. Unser Ziel ist es, die kleinsten Quadrate zu verwenden, um die beiden Klassen zu klassifizieren. Mit anderen Worten, wir wollen eine Zeile finden, die beide Klassen trennt. Das erweist sich als wirklich schwer, egal welche Linie wir zeichnen, wir können die beiden Klassen nicht trennen. Was wir wirklich wollen, ist ein Kreis, der die beiden Klassen sauber trennen würde. Dies ist ein Problem, weil ein Kreis keine Linie ist und wir im Moment nur wissen, wie man ML-Modelle trainiert, die Linien durch Punkte ziehen. Wie können wir eine Zeile verwenden, um diese beiden Klassen zu trennen? Um zu verstehen, wie, werden wir zuerst jeden Punkt mit seinen Koordinaten kommentieren. Beachten Sie, dass die Achsen wie normal x und y sind. Dann werden wir die x-Koordinate jedes Punktes quadrieren und die y-Koordinate jedes Punktes quadrieren. Beachten Sie jetzt, dass die Achsen x Quadrat und y Quadrat sind. Diese neuen Achsenbeschriftungen bedeuten, dass wir uns in einem anderen Koordinatensystem oder in einem anderen Raum befinden. In diesem Raum ist es plötzlich sehr einfach, eine Linie zu zeichnen, die die beiden Klassen trennt. Lassen Sie uns nun x Tilde als x quadriert definieren. Beachten Sie, dass die X-Achsenbeschriftung jetzt x Tilde ist. Als nächstes definieren y tilde a als y quadriert. Beachten Sie, dass die y-Achsenbeschriftung jetzt y Tilde ist. Mit x Tilde und y Tilde können wir nun die Gleichung für die rote Linie schreiben. Wir haben jetzt eine Linie, die die beiden Klassen nur durch Quadrieren der Eingabekoordinaten trennen kann . Wir nennen diesen Prozess der Verbesserung der Eingänge Featurization. Nun, um zu erklären, warum dies möglich ist, lassen Sie uns diese Zeile im Tilde-Raum im ursprünglichen x, y-Raum neu visualisieren. Beachten Sie, dass wir einen Kreis auf unserem ursprünglichen Raum haben. Aber warum ist das in Ordnung? Wie sind wir mit dem Zeichnen eines Kreises mit einer Linie davongekommen? Nun, das ist der Trick. Wir haben unsere Samples oder Features in einen anderen Raum gehoben, bevor wir eine Linie zeichnen. Eine Linie in unserem neuen Raum entspricht einem Kreis in unserem ursprünglichen Raum. Das ist die Macht der Featurisierung. In diesem Fall wurde unsere Featurisierung jede Koordinate quadriert. Sie können auch auf andere Weise Featurize. Sie können Koordinaten untereinander multiplizieren, jede Koordinate auf höhere Kräfte erhöhen oder zum Beispiel Kosinus anwenden. Diese ermöglichen es Ihnen, Linien in höherdimensionalen Räumen zu zeichnen , die komplexen Formen im ursprünglichen Raum entsprechen. Zusammenfassend können Sie Ihre Daten nutzen, um die Modellkomplexität zu erhöhen und die Unteranpassung zu bekämpfen. Das letzte Konzept ist die Regularisierung, die Überanpassung durch die Verringerung der Modellkomplexität bekämpft. Es gibt verschiedene Möglichkeiten, zu regularisieren. einen ändern Sie Ihr Optimierungsziel um einen Begriff einzuschließen, der die Modellkomplexität bestraft. Wir gehen vorerst nicht ins Detail. Zusammenfassend können Sie Ihre Daten regularisieren, um die Komplexität des Modells zu verringern und Überanpassung zu bekämpfen. Um zusammenzufassen, haben wir den Kompromiss mit Vorabweichungen behandelt, bei dem die Verzerrung mit zunehmender Komplexität abnimmt und die Varianz mit zunehmender Modellkomplexität zunimmt. Um Voreinstellungen mit Varianten auszugleichen, verwenden wir Featurization, um Unterausstattung zu bekämpfen und die Regularisierung zur Bekämpfung von Überanpassungen zu nutzen. Ich weiß, das ist ein Bissen voller Begriffe. Das sind sieben Begriffe in weniger als 10 Minuten. Aber einmal werde ich sagen, dass Sie sich diese Begriffe auswendig lernen sollten. Auch hier sind die sieben Begriffe, die Sie auswendig lernen sollten. Ich werde diese hier noch einmal kurz neu definieren. zunehmender Modellkomplexität nimmt die Bias ab Die Varianz steigt mit zunehmender Modellkomplexität. Sie müssen dann Vorspannung und Varianz abwägen, um Modellfehler zu minimieren. Unteranpassung tritt auf, wenn das Modell zu einfach ist , und Sie können Featurize erstellen, um das Modell komplexer zu gestalten. Überanpassung tritt auf, wenn das Modell zu komplex ist und Sie die Vereinfachung regulieren können. Ich weiß, das ist eine Menge, die man auf einmal aufnehmen kann. Wenn du dich erschöpft fühlst, wenn du dich jetzt auswendig lernst, ist das völlig okay. Machen Sie eine Pause, duschen oder schlafen Sie darauf. Wenn Sie erschöpft sind, warten Sie idealerweise einen Tag, bevor Sie es erneut versuchen. Eine gute Nachtruhe wird Wunder wirken. Eine andere Möglichkeit besteht darin, einfach mit der Klasse fortzufahren, da die Takeaways wirklich die Auswirkungen von Featurization und Regularisierung auf die Genauigkeit sehen. Eine Kopie dieser Folien und weitere Ressourcen finden Sie auf der Kurs-Website. Damit ist unsere Lektion zur Modellverbesserung abgeschlossen. In der nächsten Lektion werden diese Techniken implementiert, um Bias und Varianz zu modulieren und einen verbesserten, präziseren Gesichtsemotions-Klassifikator zu erzeugen. 8. Einen besseren Gesichtsemotionsklassifikator: In dieser Lektion verbessern Sie die Gesichtserkennung, indem Sie die Konzepte aus der letzten Lektion implementieren : Featurisierung und Regularisierung. Navigieren Sie zunächst zu dieser URL, um auf eine Replit-Vorlage zuzugreifen. Sie sollten dann den Bildschirm wie meins auf der rechten Seite sehen. Sobald Sie diese Seite sehen, verzweigen Sie das Projekt, um Ihre eigene editierbare Kopie zu erhalten. Klicken Sie dazu auf den Projektnamen oben links, um ein Dropdown-Menü zu erhalten. Klicken Sie dann auf die Auslassungspunkte, um eine weitere Dropdown-Liste zu erhalten. Klicken Sie abschließend auf die Schaltfläche „Fork“. Dann empfehle ich, Ihre Skillshare und Replit Fenster nebeneinander zu platzieren, wie hier gezeigt. Zuerst sind Polynommerkmale. Importieren Sie zunächst ein neues Vorverarbeitungs-Dienstprogramm aus scikit-learn, das als Polynom-Features bezeichnet wird. Dies ermöglicht es uns, unsere Daten kennenzulernen. Wir nennen diese Funktion auch das Aufheben unserer Daten. Also hier, direkt neben OneHotEncoder, werde ich Polynomfunktionen eingeben. Auch hier habe ich keine neue Zeile erstellt, es ist einfach, weil mein Fenster zu klein ist, also Zeile 2 umwickelt. Polynom-Merkmale erhöhen die Dimensionalität unserer Daten. Das bedeutet, dass, wenn jede Probe zuvor 2.400 Dimensionen hatte, unsere polynomielle Featurized Probe beispielsweise 24.000 Dimensionen haben könnte. Daher müssen wir die Dimensionalität jeder Probe reduzieren, bevor die Featurisierung angewendet wird. Gehen Sie weiter und scrollen Sie nach unten nach rechts, wo Sie Y_OH_Train definiert haben. Direkt darunter werden wir nun die Dimensionalität unseres Datensatzes reduzieren. Hier, geben Sie in x_train ist gleich sich selbst, aber mit einer eckigen Klammer, Doppelpunkt Komma, zwei weitere Doppelpunkte und eine 40. Beachten Sie, dass dies eine Notation ist, die Sie noch nicht gesehen haben. Indizierung in Arrays in Python ist ein etwas fortgeschritteneres Thema, das ich vorerst überspringen werde. Grundsätzlich wissen Sie nur, dass diese Notation jede 40. Dimension nimmt. Dadurch wird die Dimensionalität jeder Probe von 2.400 auf 60. Lassen Sie uns fortfahren und wiederholen Sie dies für das Validierungs-Dataset. Hier haben wir x_val wieder gleich sich selbst, quadratische Klammer, Doppelpunkt Komma, Doppelpunkt, Doppelpunkt, 40. Denken Sie daran, dass es hier zwei Spalten gibt. Als Nächstes berechnen wir Polynom-Features. Wie bei anderen scikit-learn Dienstprogrammen werden wir dies in drei Schritten tun. Wir werden instanziieren, anpassen und dann transformieren. Zuerst instanziieren Sie unseren Featurizer. Wieder, direkt unter dem Code, den Sie gerade geschrieben haben, schreiben wir jetzt Featurizer ist gleich Polynom-Features, und wir werden die Interaktion für das Schlüsselwortargument auf true setzen, um zu begrenzen, wie stark unsere Dimensionalität zunimmt. Hier werden wir in interaction_only gleich true eingeben. Ich werde „Escape“ drücken, um dieses Modell zu entlassen. Auch hier habe ich keine neue Zeile erstellt, das ist nur Zeile 21 überlaufen. Zweitens werden wir sowohl fit als auch transformieren gleichzeitig auf den Trainingsbeispielen nennen . Direkt unter dieser Zeile werden wir in x_train eingeben ist gleich featurizer.fit_transform. Wieder, x_train. Ich werde „Escape“ drücken, um das Modell zu entlassen. Wiederholen wir dies nun für das Validierungs-Dataset. X_val ist gleich featurizer.fit_transform x_val. Damit sind unsere Modifikationen abgeschlossen. Wir haben jetzt ein Polynom-Regressionsmodell, also ein lineares Regressionsmodell mit Polynom-Features. Drücken Sie nun den grünen Pfeil „Ausführen“ oben in Ihrer Datei. Wiederum, repl.it dauert ein paar Minuten, um die Umgebung einzurichten. Unsere Datei nehmen wir dann eine Minute Zeit, um Ihr Modell zu trainieren. Sobald beide abgeschlossen sind, sehen Sie eine 72 Prozent Trainingsgenauigkeit und 64 Prozent Validierungsgenauigkeit, etwas besser. Diese sieben Prozent Lücke zwischen Training und Validierungsgenauigkeit ist jedoch betroffen. Das bedeutet, dass unser Modell überpasst. Um dies anzugehen, werden wir unser Modell als nächstes regularisieren. Um unser Modell zu regularisieren, werden wir eine Methode verwenden, die Firstregression genannt wird. Dies beinhaltet tatsächlich nur zwei Codezeilen zu ändern da scikit-learn es uns leicht gemacht hat, Plug and Play zu machen. Gehen Sie weiter und scrollen Sie zurück zum Anfang Ihrer Datei. Wir werden zuerst unseren Import von linearer Regression zu Grat ändern. Geben Sie in Grat ein. Löschen Sie anschließend das lineare Regressionsmodell, und ersetzen Sie es durch Grat. Scrollen Sie nach unten, wo Sie Ihr lineares Regressionsmodell Das ist auf Leitung 25 für mich. Löschen Sie das lineare Regressionsmodell, und ersetzen Sie es durch Grat. Ridge-Regression enthält einen Hyperparameter-Alpha , der regelt, wie stark wir die molare Komplexität bestrafen. Wir werden hier die molare Komplexität sehr stark bestrafen. Wir werden das Schlüsselwortargument Alpha gleich 1e11 hinzufügen. Führen Sie nun Ihre Datei erneut aus, indem Sie auf den grünen Pfeil oben klicken. Ihr Modell sollte eine Minute dauern, um zu trainieren. Dann sehen Sie eine Trainingsgenauigkeit von 67 Prozent und eine Validierungsgenauigkeit von 64,5 Prozent. Auch wenn die Trainingsgenauigkeit niedriger ist, ist die Validierungsgenauigkeit um 0,3 Prozent etwas höher. Die geringere Genauigkeitslücke bei der Trainingsprüfung bedeutet auch , dass wir unser Modell erfolgreich reguliert haben. Die nächste natürliche Frage ist: Können Sie noch mehr Verbesserungen vornehmen? Die Verbesserungen, die wir bisher gemacht haben, sind alles, was ich für diesen Kurs geplant habe , denn um mehr Verbesserungen vornehmen zu können, müssen wir die Struktur der Bilder verstehen und Ihr Domain-Wissen nutzen, um Ihre Modelle zu verbessern. In diesem Fall müssen wir, da wir mit Bildern arbeiten, unser grundlegendes Verständnis von Computer Vision nutzen. Um mehr über Computer Vision zu erfahren und eine Demo zu bauen, die Sie leicht spielen können, können Sie meine Computer Vision für Anfänger Kurs überprüfen. Andernfalls schließt das Ihren besseren Gesichtseemotions-Klassifikator ab. In dieser Lektion haben wir mehrere Schlüsselkonzepte integriert. Jetzt, da wir uns des Kompromisses mit Vorabweichungen bewusst sind, können wir Featurization und Regularisierung nutzen, um sowohl Unterausstattung als auch Überanpassung in unserem Modell zu bekämpfen. Wir haben diese beiden Techniken hier angewendet, indem wir polynomiale Featurisierung anwenden und dann mit Firstregression regulieren. Eine Kopie dieser Folien und der fertige Code für diese Lektion Sie auf der Kurs-Website. Dies schließt unseren Gesichtsempfindungsklassifikator ab. In der nächsten Lektion beginnen wir, zu einer Diskussion auf hoher Ebene zurückzukehren. Insbesondere zerlegt maschinelles Lernen Probleme in die vier Teile, über die wir zuvor gesprochen haben: Daten, Modell, Ziel und Algorithmus. 9. Übung: Analysieren von ML-Problemen: In dieser Lektion werden mehrere Probleme beim maschinellen Lernen in Daten, Modell, Ziel und Algorithmus aufgeschlüsselt . Dies wird effektiv für reale Anwendungen Ihres Wissens praktiziert. Wenn Sie auf ein ML-Papier, einen Blogbeitrag, eine Diskussion oder Notizen stoßen , empfehle ich, diese Übung zu wiederholen, um zu verstehen, wo dieses neue Wissen eingefügt werden soll. Kurz gesagt, mein Tipp ist es, ML-Probleme in Daten, Modell, Ziel und Algorithmus zu zerlegen . Diese Folie kann vertraut aussehen. Zuvor habe ich einen Tipp gegeben, um ML Wissen immer in diese vier Kategorien zu kategorisieren. Dies ist wirklich der gleiche Tipp, der nur explizit auf diese Lektion angewendet wurde. Lassen Sie uns beginnen, indem Sie die Übung, die Sie gerade durchgemacht haben, brechen, die Gesichts-Emotions-Klassifizierung ist. Zuerst sind die Daten. Wir werden die meiste Zeit damit verbringen, diesen Teil, die Anwendung und die Daten aufzuschlüsseln . Bevor Sie diese Übung ausprobieren lassen, lassen Sie uns die Fragen hier überprüfen, damit ich betonen kann, was Ihre Antworten enthalten müssen. Erstens, was ist Ihr Ziel? Ihr Ziel sollte beschreiben, was Sie ausgeben und was Ihre Eingabe ist. Zweitens, wie ist Ihr Input strukturiert? Diese Antwort sollte beschreiben, wie Ihre Eingabedaten in Zahlen übersetzt werden. Drittens, was prognostizierst du? Diese Antwort sollte die numerische Ausgabe für Ihr Modell beschreiben und wie diese Zahlen in Ihr endgültiges Format übersetzt werden. Gibt es schließlich zusätzliche Datenquellen? Jetzt pausieren Sie das Video und nehmen Sie sich eine Minute Zeit, um die rechte Spalte auszufüllen und die Fragen auf der linken Seite zu beantworten. Hier sind die Antworten, die ich mir ausgedacht habe. Erstens, was ist Ihr Ziel? Ihr Ziel ist es, Emotion aus Gesichtsbildern zu klassifizieren. Zweitens ist die Eingabe ein Bild eines Gesichts. Sehen Sie meinen Computer Vision für Anfänger Kurs, um zu sehen, wie Bilder als Zahlen dargestellt werden. Drittens, was prognostizierst du? Wir sagen eine von drei Emotionen voraus: glücklich, traurig oder überrascht. Wir erinnern uns daran, dass wir dies tun, indem wir drei Ausgänge vorhersagen und dann den Index des größten Wertes nehmen. Jeder Index entspricht dann einem Klassennamen. Weitere Informationen finden Sie im Abschnitt „Klassifikation“ in Lektion 5. Gibt es schließlich zusätzliche Datenquellen? Für dieses Problem gibt es nicht. Auch hier, für weitere Details, wie Bilder als Zahlen dargestellt werden, siehe meinen Computer Vision für Anfänger Kurs. Als Nächstes ist das Modell. Ich werde das jetzt nur ausfüllen. Da wir bisher nur einen Typ von Modell in unseren Übungen behandelt haben, haben wir ein lineares Modell verwendet. Jetzt das Ziel. Wir haben auch nur ein Ziel im Detail in Lektion 5 behandelt. Ich werde das ausfüllen. Wir minimieren den Fehler, indem wir unsere Modellparameter, die Linienneigung und den Schnittpunkt optimieren . Der Fehler ist formell definiert als der Abstand zwischen unseren Etiketten und Vorhersagen. Endlich der Algorithmus. Wir haben das ein paar Mal erwähnt, aber nicht besprochen. Wie zuvor werde ich das ausfüllen. Um diese Quadrate zu lösen, können Sie das Derivat nehmen, auf Null setzen und lösen. Damit ist unser erstes ML-Problem zu Ende gegangen. In den verbleibenden ML-Problemen werden wir nur die erste Kategorie, Anwendung und Daten betrachten . Wir haben nur ein Modell, ein Ziel und einen Algorithmus behandelt . Diese Antworten würden theoretisch gleich bleiben. Als Nächstes ist die Tweet Sentiment-Analyse. Wenn Sie noch nicht vertraut sind, ist die Stimmungsanalyse eine Aufgabe, bei der wir das Gefühl vorhersagen, wie frustriert, sarkastisch oder aufgeregt. Tweet Stimmungsanalyse bedeutet, dass wir die Stimmung für einen Tweet analysieren. Jetzt pausieren Sie das Video hier und füllen Sie die Datenaufschlüsselung für die Tweet-Sentimentanalyse aus. Hier ist meine Antwort. Erstens, was ist Ihr Ziel? Ihr Ziel ist es, eine Stimmung aus Tweets zu klassifizieren. Zweitens, wie ist die Eingabe strukturiert? Das haben wir vorher noch nicht abgedeckt. Um Wörter als Zahlen darzustellen, betrachten Sie ein Wörterbuch aller möglichen Wörter. Nehmen wir an, es gibt 1.000 Wörter in unserem Wörterbuch, wir können einen Tweet als Zahlen darstellen indem wir jedes Wort durch seine Position im Wörterbuch ersetzen. Zum Beispiel könnte ein Drei-Wort-Tweet 200, 350, 75 sein. Drittens, was prognostizierst du? Dann prognostizieren wir die Stimmung. Ich habe hier drei Gefühle gebildet, aber du könntest alles gebrauchen, was du willst: glücklich, traurig und wütend. Wie zuvor haben wir bereits diskutiert, wie Modellausgabenummern in einen Klassennamen übersetzt werden. Schließlich gibt es zusätzliche Informationsquellen, die wir nutzen können. Eine natürliche Quelle sind Tweet Likes und Kommentare. Damit ist unsere Tweet-Sentimentanalyse abgeschlossen. Lassen Sie uns jetzt die Rede in den Text brechen. Halten Sie das Video hier an und füllen Sie die Datenaufschlüsselung für Sprache in Text aus. Hier ist meine Antwort. Was ist dein Ziel? Ihr Ziel ist es, Audio in Text zu transkribieren. Sie können sich vorerst vorstellen, dass jedes Audio-Snippet in eines von mehreren möglichen Wörtern klassifiziert wird. Zweitens, wie ist die Eingabe strukturiert? Wie übersetzen wir für die Eingabe Audio in Zahlen? Nun, ein gemeinsames Format wird als Spektrogramm bezeichnet. Man kann sich ein Spektrogramm als Noten für Sprache vorstellen. Drittens, was prognostizierst du? Unsere Vorhersage ist ein Wort. Wir haben zuvor diskutiert, wie Wörter mit einem Wörterbuch und dem Wortindex in Zahlen übersetzt werden können. Wir werden das gleiche hier tun und einen Wortindex vorhersagen, der später in ein Wort übersetzt werden soll. Für zusätzliche Datenquellen können wir das umgebende Audio und andere vorhergesagte Wörter verwenden. Zum Beispiel, wenn das letzte Wort Sie war, ist das nächste Wort wahrscheinlich sind und nicht ist. Damit ist die Aufschlüsselung für Sprache zu Text abgeschlossen. Lassen Sie uns nun die umgekehrte Richtung aufschlüsseln, Text-zu-Sprache. Halten Sie das Video hier an und füllen Sie die Datenaufschlüsselung für Sprache in Text aus. Erstens ist es Ihr Ziel, jetzt Audio aus Text zu generieren. Zweitens wechseln wir einfach den Eingang und die Ausgabe von meinem letzten Beispiel. Die Eingabe ist eine Liste von Wortindizes. Drittens prognostizieren wir ein Spektrogramm oder ein Notenblatt für Sprache. Schließlich könnten wir für zusätzliche Datenquellen zufällige Audioausschnitte mit Leuten verwenden, die diese Wörter sagen. Damit ist die Aufschlüsselung von Text zu Rede abgeschlossen. Das schließt auch die Praxis für diese Lektion ab. Wir haben die vier hier aufgeführten Probleme aufgeschlüsselt. Insbesondere haben wir eine Möglichkeit diskutiert, Wörter als Zahlen darzustellen, die stattdessen Wortpositionen im Wörterbuch verwendet werden sollen. Wir diskutierten auch eine Möglichkeit, Audio als Zahlen darzustellen, nämlich ein Spektrogramm oder Noten für Sound zu verwenden. Eine Kopie dieser Folien und weitere Ressourcen finden Sie auf der Kurs-Website. Das ist es, um Probleme mit maschinellem Lernen zu sezieren. In der nächsten Lektion besprechen wir eine Möglichkeit, Ihr Wissen über verschiedene ML-Themen zu organisieren. 10. Taxonomie von ML-Themen: In dieser Lektion werden wir eine Taxonomie verschiedener Bereiche für maschinelles Lernen einrichten. Kenntnis verschiedener Kategorien von maschinellen Lernthemen ist entscheidender Bedeutung, um das Lernen des maschinellen Lernens zu lernen. Dies wird Ihnen helfen, Ihr maschinelles Lernen Wissen weiter zu partimentalisieren. Im Gegensatz zu den ersten vier Kammern des Wissens sind diese Kategorien jedoch eine nie endende, immer weitergehende Liste. Kurz gesagt, mein Tipp ist es, in allen Themen in Daten, Modell, Ziel und Algorithmus zu kategorisieren . Möglicherweise bemerken Sie einen Trend. Ich meinte es wirklich. Ich sagte, alle ML-Kenntnisse in diese vier Kategorien zu kategorisieren. Ich wiederhole diesen Tipp nur in verschiedenen Formen, um den Punkt wirklich nach Hause zu fahren. Es wird eine Reihe von zufälligen Begriffen und Definitionen in dieser Lektion geben, das Ziel ist nicht unbedingt, alle von ihnen auswendig zu lernen. Stattdessen ist das Ziel, sich das Diagramm zu merken, das am Ende angezeigt wird. Auf diese Weise werden Sie wissen, wie Sie Ihre Liste der bekannten und alle Probleme organisieren, Wir organisieren die Taxonomie rund um die Fächer des Wissens wir früher diskutiert. Daten, Modell und Ziel werden, wie üblich, überspringen die Algorithmen Teil des maschinellen Lernens Wissen vorerst. Am Ende wählen wir nach dem Zufallsprinzip Kombinationen dieser verschiedenen Daten, Modelle und Ziele aus. Jede dieser Kombinationen ergibt eine neue ML Forschung und Thema. Zunächst einmal sind die verschiedenen Anwendungen und Datenquellen. Es gibt viele Arten von Eingabedaten. Es gibt Bilder und Videos in Computer Vision. Es gibt Text in der Verarbeitung natürlicher Sprache. Dann gibt es Anwendungen des maschinellen Lernens auch in anderen Bereichen. In ML aus Sicherheitsgründen kann es sich bei Ihrer Eingabe um verschlüsselte Bilder handeln. In der Robotik können Ihre Eingabe Bilder mit Tiefe für einen chirurgischen Roboter sein. In den physikalischen Wissenschaften kann Ihr Beitrag MRT-Scans für Organe im Körper sein. Es gibt unzählige andere Arten von Inputs und Forschungsbereichen, die ich nicht einbezogen habe. Ein Teil des Lernens maschinelles Lernen ist das Hinzufügen zu dieser Liste von Feldern und Anwendungen. Weiter oben ist die Taxonomie der Modelle. Wir haben das eigentlich schon vorher besprochen. Vor der Vollständigkeit werden wir sie kurz überprüfen. Wir können Modelle in generative, die gelernt, wie Daten generiert werden, und diskriminierend, die auf Grenzen zwischen Klassen konzentriert unterteilen die gelernt, wie Daten generiert werden, . Wir können Modelle auch in beaufsichtigte mit Etiketten unterteilen und unbeaufsichtigt ohne Etiketten. Ein anderer Begriff, den Sie oft hören werden, ist halb beaufsichtigt. Dies bedeutet oft, entweder a, eine Kombination von überwachten und unbeaufsichtigten Modellen oder b, Überwachung eines Modells auf Signalen, die keine menschliche Anmerkung erfordern. Es gibt auch mehrere Kategorien von Zielen. Zuvor haben wir eine Art von Ziel abgedeckt, eine genauigkeitsfokussierte. Es gibt jedoch auch andere breit angelegte Ziele des maschinellen Lernens. Fünf der häufigsten sind Genauigkeit, Verallgemeinerbarkeit, Interpretierbarkeit, Effizienz und Ästhetik. Genauigkeit ist unkompliziert. Generalisierung ist die Fähigkeit für das Modell, eine hohe Genauigkeit über die Trainingsproben hinaus zu erhalten , die gegeben sind. Interpretierbarkeit geht an viele verschiedene Definitionen, aber die Grundidee ist, den Entscheidungsprozess des Modells irgendwie zu verstehen. Effizienz kann Trainingseffizienz sein, wie schnell das Modell trainiert. Es könnte auch Prognoseeffizienz sein. Wie schnell das Modell läuft, wie viel Speicher es verbraucht, wie viel Strom es benötigt, et cetera. Endlich Ästhetik. Dies ist in der Regel für generative Aufgaben, die tendenziell eine mehrdeutige Definition von Qualität haben. Lassen Sie uns schließlich einige spezifische Probleme des maschinellen Lernens besprechen und wo sie in die Taxonomie fallen. Hier ist die Liste der fünf ML-Probleme, die wir behandeln werden. Denken Sie daran, die Wahl dieser ML-Probleme ist eher willkürlich. Ich habe sie ausgewählt, um zu zeigen, dass jedes ML-Problem in eine Taxonomie passen kann. Wenn Sie in dieser Lektion etwas zum Speicher verpflichten, handelt es sich um die Taxonomie oder das Diagramm. Dies ist das Diagramm, das wir verwenden werden. Auf der linken Seite sind die verschiedenen Kategorien, die wir in Daten, Modell und Ziel diskutiert haben . Auf der rechten Seite sind die Probleme. Ihr Ziel ist es nicht, diese ML-Probleme auf der rechten Seite zu merken, gerade jetzt. Der Takeaway ist, dass Sie einfach eine beliebige Kombination aus Daten, Modell und Ziel auswählen können, um neue Probleme oder Bereiche zu finden. Lassen Sie uns nun ein paar Kombinationen auf der linken Seite auswählen und sie Namen auf der rechten Seite zuweisen. Lila bedeutet, dass wir alles auswählen können, was wir wollen. Die werden wir überspringen. Wählen Sie unter Modell halbüberwachte und objektive Verallgemeinerung aus. Ein ML-Thema, das die Generalisierung für ein semi-überwachtes Modell optimiert , ist das Few-Shot-Lernen auf der rechten Seite. In wenigen Lernprozessen ist es Ihr Ziel, mit diesen wenigen Trainingsbeispielen die gleiche Genauigkeit wie möglich zu erreichen . Lassen Sie uns nun das Modell von einem halbüberwachten zu beaufsichtigten ändern , wobei das Ziel gleich bleibt. Ein ML-Thema, das die Generalisierung für überwachte Modelle optimiert, ist die Domänenanpassung. Bei der Domainanpassung ist es Ihr Ziel, ein Modell auf einer Distribution zu trainieren, beispielsweise tagsüber Videos, und während der Testzeit an eine andere Distribution anzupassen, zum Beispiel Nachtvideos. Lassen Sie uns beaufsichtigte Modelle behalten, aber jetzt betrachten Sie ein anderes Ziel, Effizienz. Ein ML-Thema, das die Effizienz überwachter Modelle verbessert, ist die Destillation. Bei der Destillation ist es Ihr Ziel, ein Schülermodell mit Vorhersagen aus einem komplexeren, größeren Lehrermodell zu trainieren . Jetzt ändern wir alle Kategorien. Unter Daten, wählen Sie Vision, unter Modell, wählen Sie generative und halbüberwachte, unter objektive, wählen Sie Ästhetik. Ein ML-Thema in dieser Kategorie ist die Stilübertragung. Bei der Stilübertragung ist es Ihr Ziel, den Stil eines Bildes mit dem Inhalt eines anderen zu kombinieren. Zum Beispiel können Sie sich ein echtes Foto mit Van Goghs Sternennacht-Stil neu vorstellen. Für unser letztes Problem, unter Modell, wählen Sie beaufsichtigt, unter objektiver, Pick-Genauigkeit. Ein ML-Thema in dieser Kategorie sind gegnerische Beispiele. In gegnerischen Beispielen ist es Ihr Ziel, ein Modell zu täuschen, indem Sie der Eingabe ein unsichtbares Wasserzeichen hinzufügen. Zum Beispiel können Sie unsichtbar ein Panda-Bild ändern , um das Modell zu täuschen, dass das Bild von einem Affen ist. Schließlich zielen gegnerische Beispiele auf die Genauigkeit ab oder versuchen vielmehr, die Genauigkeit für überwachte Modelle zu zerstören. Wir haben es geschafft. Wir haben es geschafft herauszufinden, wo in unserer Taxonomie jedes ML-Problem hingehört. Auswahl von zufälligen Kombinationen von Themen auf der linken Seite gibt uns verschiedene ML-Themen und Forschungsbereiche auf der rechten Seite. Das ist die Übersichtsfolie, verspreche ich Ihnen. Machen Sie einen Screenshot, wenn Sie möchten. Wenn Sie mehr und mehr maschinelles Lernen Themen erfahren, schlage ich vor, diesem Diagramm neue Felder für Applied Machine Learning auf der linken Seite unter Daten und neue Kombinationen von Daten, Modell und Ziel wird neue Probleme auf der rechten Seite hervorbringen. Eine Kopie dieser Folien und weitere Ressourcen finden Sie auf der Kurs-Website. Damit wird die Taxonomie von Machine Learning Themen abgeschlossen. In dieser Lektion begannen wir mit breiten Kategorien von ML-Themen und sahen wie Kombinationen verschiedener Kategorien zu neuen ML-Problemen führen können. In Wirklichkeit werden Sie jedoch umgekehrt begegnen. Sie werden nicht mit der Auswahl von Kategorien beginnen und am Ende mit einem neuen ML-Problem. Stattdessen erfahren Sie mehr über ein neues ML-Problem und arbeiten dann rückwärts, um es in Ihre Taxonomie zu passen. Ich entschied mich, die falsche Richtung zu üben, weil die „Falsche Richtung ist einfacher.“ diese einfachere Richtung oft praktizieren, wird Ihnen helfen, schließlich reale ML-Probleme in Ihre Taxonomie zu passen. In der nächsten Lektion werden wir mehrere KI-Produkte in diese ML-Probleme aufschlüsseln. 11. Übung: Analysieren von AI-Produkten: In dieser Lektion werden AI-Produkte in ML-Probleme aufgeschlüsselt. Betrachten Sie dies als Praxis auch für reale Anwendungen Ihres Wissens. Wenn Sie auf einen Nachrichtenartikel, einen Beitrag oder ein anderes Marketing für ein KI-Produkt stoßen , empfehle ich, diese Übung zu wiederholen, um dieses Produkt in verschiedene Unterprobleme zu zerlegen . Zusammenfassend ist mein Tipp, KI-Produkte in ML-Unterprobleme zu zerlegen , wenn Sie auf ein KI-Produkt stoßen. Dies gilt auch für KI-Produkte, die übrigens noch nicht existieren. lernen, wie man zusammenbricht, ist wirklich eine Kunst. Diese Fähigkeit ist der Schlüssel, um zu verstehen, was heute möglich ist im Vergleich zu dem, was nicht ist. Wir werden drei verschiedene KI-Produkte in ML-Unterprobleme, Sprachunterstützung, selbstfahrende Autos und Augmented Reality aufschlüsseln . Erstens, was ist ein Sprachassistent? Das haben wir bereits erwähnt. Übersetzen Sie zuerst Sprache in Text, suchen und übersetzen Sie Texte zurück in Sprache. Sie haben jetzt auch ein tieferes Verständnis für den ersten und letzten Schritt. Als nächstes, was ist ein selbstfahrendes Auto? Ein einfaches Modell eines Autos umfasst die Objekterkennung, bei der Sie Kästchen um jedes Objekt in der Szene zeichnen. Dies gibt Ihnen eine Vorstellung von dem fahrbaren Raum. Als Nächstes planen Sie einen Pfad. Dies könnte ein eigenes Optimierungsproblem sein, bei dem Sie Abstand und Zeit zum Ziel minimieren , während Sie sich auf fahrbaren Platz beschränken. Endlich haben wir Kontrollen. Dies ist kein ML-Teilproblem, aber ich habe es aus Gründen der Vollständigkeit aufgenommen, Kontrollen beinhalten tatsächlich das Bewegen des Autos, wie das Drehen des Rades oder das Betreten des Gaspedals. Diese drei Teile beschreiben minimal ein selbstfahrendes Auto. Schließlich, was ist Augmented Reality? Es gibt ein paar verwandte ML-Probleme, die AR funktionieren lassen. einen ist das Inside-Out-Tracking, bei dem sich das Gerät relativ zu seiner Umgebung lokalisiert. Dies ermöglicht es Ihnen, in einer virtuellen oder erweiterten Realität herumlaufen. Eine andere ist Hand-Tracking, bei der Sie die Gelenke in Segmenten Ihrer Hand verfolgen. Auf diese Weise können Sie Gesten verwenden, um das Gerät zu steuern. Schließlich ist eine andere Objekterkennung. Zeichnen Sie an der Stelle, an der Sie wieder Begrenzungsrahmen um alle Objekte in der Szene herum. Auf diese Weise können Sie Elemente in Augmented Reality kommentieren. Das ist die Abtastung verschiedener ML-Subprobleme, die für Augmented Reality erforderlich sind. Eine Kopie dieser Folien und weitere Ressourcen finden Sie auf der Kurs-Website. Das ist es für die Konzepte in dieser Lektion und im Kurs. Wir haben den vollständigen Kreis zurück zum High-Level-Ansatz zum Verständnis von KI und ML gemacht, bis hin zur Praxis für Ihr KI, ML-Wissen. In der nächsten Lektion werden wir über die nächsten Schritte sprechen, um mehr über KI, ML zu erfahren. 12. Nächste Schritte: Herzlichen Glückwunsch zum Abschluss des Kurses. Wirklich, Sie sollten sich auf den Rücken klopfen, um maschinelles Lernen zu lernen. Nicht nur das Sammeln von Schlagwörtern und Marketing-Flusen, sondern auch das Hinsetzen, um den Code in der Mathematik zu lernen. Wir haben breite Themen wie KI zu spezifischen Grundlagen wie Featurisierung behandelt. Dies sind alles Konzepte, die ein Interviewer erwartet, dass Sie wissen, dass ein ML Praktizierender wie Sie von jedem Kollegen erwartet. Beachten Sie, dass dies nur der Anfang Ihrer ML Ausbildung ist, aber wenn Sie beginnen, mehr zu lernen, möchte ich, dass Sie zwei wichtige Ideen im Auge behalten. Nummer 1, unterteilen Sie jedes ML-Problem in Daten, Modell, Ziel und Algorithmus. Einteilung Ihres Wissens in diese vier Kategorien wird enorm helfen. Wenn Ihnen jemand von einer coolen neuen ML-Lösung erzählt, sollten Ihre Fragen zu dieser Lösung auf diese vier Kategorien ausgerichtet sein. Erst nachdem Sie diese vier Boxen deaktiviert haben, verstehen Sie genug, um diese ML-Lösung vollständig neu zu implementieren. Wenn Sie von einem Interviewer nach der Lösung eines ML-Problems gefragt werden, richten Sie Ihre Antwort auf diese vier Kategorien aus. Zweitens, erinnere dich an den Kompromiss für die Voreingenommenheit. Ein komplexes Phantasiemodell sorgt für große Marketing-Flusen. Wenn Sie jedoch klüger in Bezug auf Ihr Modelldesign sind, können Sie schneller und effizienter arbeiten. Tief neuronales alles ist großartig Clickbait, aber nicht immer die richtige Lösung. Für Ihre nächsten Schritte empfehle ich zuerst, Computer Vision 101 auf meinem Skillshare Profil zu überprüfen , damit Sie tief in eine Anwendung des maschinellen Lernens eintauchen können. Du baust einen Snapchat als Hundefilter und deckst wichtige Computervisionskonzepte ab. Sie können auch meine datenbezogenen Kurse wie SQL 101 und Data Science 101 überprüfen, um Daten zu analysieren und zu verarbeiten. Zweitens finden Sie auf der Kurs-Website Folien, Ressourcen und Links. Sie finden auch Artikel, die Sie jetzt selbst lesen, verstehen und implementieren können. Drittens, stellen Sie sicher, dass Sie mir auf Skillshare folgen für weitere ML Kurse in der Zukunft. Wie Sie wissen, gibt es viele spannende Themen und mit den Grundlagen dieses Kurses sind Sie bereit, mehr zu erfahren. Ich freue mich, Leuten wie dir mehr ML zu zeigen. Nun, die große Frage, kann ich heute anfangen, mit ML zu spielen? Ja, natürlich sollten Sie heute definitiv anfangen, mit ML zu spielen, damit Sie sehen können , wie Sie vermeiden können, ML auf gefährliche Weise anzuwenden. Erstens: Übung ist der Schlüssel. Mehr Erfahrung bedeutet ein verbessertes Verständnis der Risiken, Ausfallmodi und Gehen ist in ML. Zweitens möchte ich Sie auch ermutigen, weiter über technische ML-Themen zu lernen, um Ihre Fähigkeit zu erweitern, Produkte in ML-Komponentenprobleme zu zerlegen und hinzuzufügen. Drittens, untersuchen Sie sorgfältig die Welt um Sie herum. Einige Probleme und Anwendungen sind für ML geeignet und andere nicht. Beispielsweise wird die Wettervorhersage derzeit von Supercomputern und großen Mengen an Differentialgleichungen durchgeführt . Sie könnten ML anwenden, aber Sie sollten bereit sein zu verstehen, warum Statistiker dies noch nicht ausprobiert haben oder warum beliebte Wettervorhersagen dies derzeit nicht verwenden. ML hat viele Anwendungen, aber ich möchte, dass Sie echte Probleme lösen, nicht nur AI ML dafür anwenden. Ich hoffe, Sie sehen KI in neuem Licht. Sie haben gerade Ihren ersten Schritt in Ihrer Karriere und Ausbildung von AI ML abgeschlossen. Das nächste Mal, wenn Sie AI-Produkt sehen, versuchen Sie, seine Komponente ML-Teile zu identifizieren. Wenn Sie das nächste Mal ein neues ML-Problem sehen, versuchen Sie es in Daten, Modell, Ziel und Algorithmus zu unterteilen . Das war's. Herzlichen Glückwunsch noch einmal, dass es bis Ende des Kurses und bis zum nächsten Mal.