Inteligência artificial para iniciantes: ferramentas para aprender machine learning | Alvin Wan | Skillshare

Velocidade de reprodução


1.0x


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

Inteligência artificial para iniciantes: ferramentas para aprender machine learning

teacher avatar Alvin Wan, Research Scientist

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução

      3:08

    • 2.

      Projeto

      2:04

    • 3.

      O que é IA? ML?

      4:37

    • 4.

      Como aprender machine learning

      7:15

    • 5.

      O modelo mais simples do mundo

      7:55

    • 6.

      Crie um classificador de emoções faciais

      7:53

    • 7.

      Como aprimorar seu modelo

      6:40

    • 8.

      Classificador aprimorado de emoções faciais

      6:14

    • 9.

      Prática: desvendando problemas de ML

      6:21

    • 10.

      Taxonomia de tópicos de ML

      7:21

    • 11.

      Prática: desvendando produtos de IA

      2:32

    • 12.

      Próximos passos

      3:22

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

3.965

Estudantes

13

Projetos

Sobre este curso

O que realmente é a inteligência artificial? “aprendizagem de máquinas”? Vamos fazer as palavras de sentido e falar da verdade de uma conversa.

Este curso aborda os tópicos de que o conhecimento para os produtos de produtos de AI Vamos abordar muitos tópicos e takeaways:

  • Crie um classificador de a emoção de rosto para praticar usando conceitos de a a linha.
  • O que é a inteligência artificial e como a forma como ela se relaciona com a aprendizagem de máquinas
  • Como aprender a aprender a máquinas, com muita prática
  • Pra de que a tecnologia de AI em problemas de de breaking É ótimo para entender as notícias de a o ML.
  • Pra de os problemas de mapas. É ótimo como práticas de entrevistas
  • Entender a taxonomies de problemas de a a ML
  • Conceitos de de leo line, a regression, de tendas e bigas, a classificação, a regression, e de regresso, regression, etc. .

Este curso envolve de uma quantidade mínima de código, mas não precisa de nenhum conhecimento técnico. Independentemente do seu plano de , você vai sair com os fundamentos para conversar, aprender e praticar a aprendizagem de máquinas.

Interessado em mais aprendizado de máquinas? Experimente meu computador de visão 101 (o a o de o ML).

Tem a aprender a codificar? Confira meu programa de coping 101.

Interessando na ciência de dados? Confira meu SQL 101 (design de banco de banco de banco ) ou o curso de dados 101 (de Analytic).

Agradáveis: a introdução de as produções de shvets em pexels.com

Conheça seu professor

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... Visualizar o perfil completo

Habilidades relacionadas

Computador IA e inovação Fundamentos da IA
Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Carros autônomos, realidade aumentada, assistentes de voz. Estes são produtos de um futuro próximo habilitados pela inteligência artificial. Pergunte como funciona a inteligência artificial, e você terá um monte de coisas neurais profundas, gráficos, figuras, visualizações, até memes. Confuso. Esta aula é diferente. Vou explicar o que está acontecendo nos bastidores com substância, sem intimidação. Não usar palavras de voz só por causa disso. Desta vez, você está aprendendo aprendizado de máquina de verdade. Oi. Sou o Alvin. Sou estudante de doutoramento em Ciência da Computação e palestrante na UC Berkeley, onde lecionei mais de 5.000 alunos. Trabalhei em pesquisa de aprendizagem profunda para aplicativos voltados para produção. Primeiro, por dois anos no Facebook Reality Labs e Mixed Reality para produtos como Oculus Quest. Agora, no Piloto Automático Tesla para auto-condução total. Com base em anos de pesquisa voltada para a produção, estou destilando conceitos de aprendizado de máquina em uma introdução prática para você. Esta aula é escrita para qualquer pessoa intrigada por inteligência artificial e aprendizado de máquina. Acredite ou não, o segredo é dar um passo atrás e aprender as bases do ponto zero para quebrar um produto de IA sexy em seu componente e em todas as partes. Ao fazer este curso, você está dando um passo significativo para aplicar ML ao seu produto, seu hobby ou seu negócio. Você pode ser um codificador ou uma pessoa completamente não-técnica de líder de negócios e artista; qualquer pessoa realmente. No entanto, se você ainda não conhece Python, você vai obter muito mais do curso fazendo meu curso Coding 101: Python for Beginners. Para todos, programadores ou não, o objetivo principal deste curso é criar uma base para sua futura educação de aprendizado de máquina. Isso significa: um, como aprender aprendizado de máquina, e dois, aplicar esse método para aprender alguns conceitos introdutórios. Para ter sucesso como praticante de ML, você precisa de código e matemática. Trabalharemos em ambos neste curso. Em particular, abordaremos conceitos e termos matemáticos fundamentais conforme se aplica ao ML. Não se preocupe, sem símbolos gregos funky. Só as ideias. Como usar uma biblioteca de aprendizado de máquina popular em Python? Em seguida, usaremos isso para criar um classificador de rosto e movimento e, finalmente, conhecer o vocabulário para aprendizado de máquina para que você possa falar confortavelmente sobre tópicos de ML. Estamos nos esforçando para entender os principais conceitos de ML, não apenas para colocar algo de aprendizagem profunda em cada frase. Isso pode ser para o nosso curso futuro. Neste curso, estamos aprendendo os fundamentos. Compreender o aprendizado de máquina irá percorrer um longo caminho. Depois de fazer este curso, você terá as ferramentas, o vocabulário, o conhecimento para começar a aprender sobre outros campos de aprendizado de máquina: visão computacional, processamento de linguagem natural, o que quiser. Entenda as aplicações do aprendizado profundo nesse campo, mas primeiro aprenderemos os fundamentos do aprendizado de máquina da maneira correta neste curso. Vamos começar. 2. Projeto: Seu projeto neste curso é quebrar um problema de aprendizado de máquina que você acha empolgante em suas partes componentes. Vamos cobrir essas partes componentes, dados, modelo, objetivo e algoritmo na lição 3. Isso ajudará a reforçar sua compreensão de um mundo de AI ML em rápido movimento. Como exemplo de quebrar um problema junto com o código, você criará um classificador de emoção facial. Não se preocupe, nenhuma experiência de codificação é necessária. Se você ainda não sabe codificação, você pode simplesmente copiar cada linha que eu explicar e escrever. No entanto, você vai obter mais para o curso ao entender Python. Você pode ser pego fazendo meu curso de Coding 101, Python para iniciantes. Este classificador de imersão facial é uma ótima maneira de ver um, conceitos de ML em ação, e dois, uma maneira visual de entender o poder do ML. Esta é uma das minhas partes favoritas da visão computacional. O fato de que você pode ver seu modelo ML funcionando, e talvez o mais importante, é fundamental ver que até mesmo os modelos mais simples de ML podem ser altamente práticos. Se você pode produzir uma solução ML rápida e fácil em apenas alguns minutos, você absolutamente deve. Tudo o que é preciso são os insights e os fundamentos que você aprenderá neste curso. Às vezes você não precisa de um modelo chique e às vezes você precisa. Primeiro, vamos começar com o panorama geral, o que é IA, o que ML é e como aprender ML. segundo lugar, nos concentraremos em ML, dissecando problemas de ML e praticando o aprendizado de conceitos de aprendizado de máquina. Vamos aprender sobre diferentes idéias fundamentais como featurização, viés variância, regularização, regressão linear. Em seguida, reduzimos o zoom discutindo diferentes tópicos de ML e praticando produtos de IA escritos em seus diferentes componentes de ML. Para as duas lições de codificação neste curso, eu recomendo fortemente sentar-se para praticar codificação ao meu lado. Codificador ou não, você consegue. Honestamente, ver é acreditar, uma vez que você começa o primeiro programa ML funcionando, é absolutamente alucinante. Quero que você experimente esse mesmo momento alucinante, não apenas usando um produto de IA, mas construindo sua própria solução de ML. Agora, vamos começar com a pergunta que você veio aqui com, o que é IA? 3. O que é IA? ML?: Vamos agora responder a pergunta, o que é inteligência artificial? Além disso, o que é aprendizado de máquina? Como eles estão relacionados e como eles são diferentes? primeiro é inteligência artificial ou IA para abreviar. IA amplamente definida são máquinas que agem como seres humanos. Há uma série de diferentes produtos de IA que refletem isso: assistência de voz, carros autônomos e dispositivos de realidade aumentada estilo Homem de Ferro. Para realmente entender o que torna esses produtos de IA tão inteligentes, porém, temos que quebrá-los. Para começar, vamos dissecar um assistente de voz. Um assistente de voz em um nível básico é fala em texto, em seguida, uma pesquisa de texto e, finalmente, texto em fala novamente. Essas três partes são problemas de aprendizado de máquina e, juntas, essas soluções de ML se tornam um produto de IA. Agora podemos reresponder o que é IA? A IA é mais especificamente uma combinação de soluções de aprendizado de máquina. Isso levanta a nossa próxima pergunta, o que faz o aprendizado de máquina o que é? O que é aprendizado de máquina? Geralmente, ML estuda modelos que aprendem dados como fizemos com AI tornarão essa definição de ML mais concreta. Aqui estão alguns problemas típicos de aprendizado de máquina. Primeiro, detecte anomalias. Por exemplo, reconheça atividade bancária anormal. Em segundo lugar, recomendar produtos. Encontre produtos que você pode estar procurando. Terceiro, prever o futuro. Por exemplo, preveja o preço da sua próxima compra. Parece uma grande variedade de problemas muito diferentes. O que realmente define aprendizado de máquina? Bem, e se eu te dissesse que estes são todos o mesmo problema? Para entender como, tenho que lhe dar algumas informações secretas. Digamos que você tenha informações sobre meus hábitos de gastos, que é retratado aqui, especificamente, dada uma de minhas compras, você pode atribuir probabilidades ao quanto eu gastei. Por exemplo, com 50% de probabilidade, minha compra é inferior a US$5. Com 25% de probabilidade, minha compra é entre $5 e $10 e assim por diante e assim por diante. Chamamos isso de distribuição. Uma distribuição atribui probabilidades a certos eventos acontecendo. Neste caso, atribuímos probabilidades ao quanto gasto. Esta distribuição é completamente fictícia, a propósito, com uma probabilidade de 100 por cento, minhas compras definitivamente da loja dólar. Como é que esta distribuição nos ajuda? Estes foram os três problemas de ML de antes. Deixe-me mostrar-lhe como responder estes três problemas usando a nossa distribuição. Primeiro, veja como detectar anomalias. Olhe para a distribuição e pergunte quão provável é esse valor de compra. Por exemplo, uma compra de US$200 é extremamente improvável de acordo com essa distribuição. Assim, uma compra de $200 é uma anomalia. Em segundo lugar, veja como recomendar produtos. Digamos que eu compre um item de US$8, isso pode significar que estou comprando itens na categoria US$5 a US$10, para que possamos recomendar mais produtos nessa faixa de preço. Terceiro, eis como prever o futuro. Apenas olhando para esta distribuição, podemos dizer que a faixa de preço mais alta probabilidade é inferior a US $5. Assim, minha próxima compra provavelmente será inferior a US $5. Isso nos leva a uma nova definição de ML. Em particular, ML estuda modelos que aprendem distribuições de dados. Qual a distribuição de dados que queremos aprender depende do problema. Poderíamos estar interessados na distribuição de preços de compra, distribuição de preços de ações, ou talvez distribuição de imagens naturais. Este último, distribuição de imagens é um conceito estranho. Qualquer distribuição sobre o espaço de alta dimensão é difícil de visualizar. Vamos rever isto nas aulas mais tarde. Finalmente, para lançar mais uma definição, vamos definir deep learning. O que é aprendizagem profunda? A aprendizagem profunda é, na verdade, um subconjunto de aprendizado de máquina. Em particular, a aprendizagem profunda estuda modelos complexos que aprendem distribuições de dados. Precisaremos de mais algumas lições para entender o que complexo realmente significa. Isso conclui os tópicos para esta lição. Definimos produtos de inteligência artificial como uma combinação de soluções de aprendizado de máquina. Definimos soluções de aprendizado de máquina como modelos que aprendem distribuições de dados. Finalmente, definimos o aprendizado profundo como modelos de aprendizado de máquina simples complexos. Para resumir ainda mais, para entender a IA, entender o aprendizado de máquina primeiro. Esse é precisamente o objetivo deste curso, começar a entender o ML, não apenas os fundamentos, mas também como aprender aprendizado de máquina. Para obter uma cópia desses slides e mais recursos, confira o site do curso. Isso é tudo para nossas definições fundamentais. Na próxima lição, aprenderemos como aprender aprendizado de máquina. 4. Como aprender machine learning: Nesta lição, discutiremos como aprender aprendizado de máquina. Especificamente, discutiremos quatro categorias diferentes de conhecimento de aprendizado de máquina. As quatro categorias estão listadas aqui, dados, modelo, objetivo e algoritmo. Vamos definir essas categorias antes de mergulhar nelas uma por uma. A primeira categoria são dados. Estas são as entradas e saída desejada para a sua aplicação. Para qualquer aplicação, você deve fazer algumas perguntas. Em um nível alto, qual é o seu objetivo? Como a entrada é estruturada? O que você prevê e existem fontes de dados extras que poderiam fornecer informações adicionais? Aqui estão alguns exemplos de respostas. Por exemplo, seu objetivo pode ser classificar dígitos manuscritos. Sua entrada seria então uma imagem de um número manuscrito. Finalmente, a saída é um número. Para este problema específico, não há nenhuma fonte de dados extra que possamos aproveitar. A segunda categoria é o nosso modelo. Esta é uma função que faz previsões. Para qualquer modelo, você deve perguntar, quão complexo meu modelo deve ser, uma função linear é suficiente? Preciso de uma função quadrática, um polinômio, uma rede neural? Um modelo de exemplo é um modelo linear, como em regressão linear, vamos visualizar regressão linear em mais detalhes mais tarde. A terceira categoria é o nosso objectivo. Um objetivo anteriormente especifica o que você deseja aprender. Para qualquer objetivo, você deve perguntar, eu maximizo o ganho ou minimizo o erro? Como posso definir erro? Como posso definir ganho? Existem desequilíbrios nos meus dados? Há preconceitos que devo abordar? Um exemplo, objetivo é minimizar o erro ajustando a inclinação da linha e interceptar. O erro é a diferença entre nossas previsões e os dados observados como rótulos. Vamos descartar isso mais concretamente mais tarde. Se este exemplo não faz sentido, tudo bem. Vamos repassar isso com mais detalhes em uma lição posterior. A quarta categoria é o algoritmo. Esta é a forma de alcançar seu objetivo de forma eficaz, como fazer a parte de aprendizado de máquina. Existem várias perguntas que você pode fazer. Devo resolver isso manualmente? Devo resolvê-lo iterativamente? Reduzir o problema para um mais fácil? Um exemplo de resposta é levar o conjunto derivado a zero e resolver. Observe que esses algoritmos não são o foco para essa classe. Estes valem a pena aprender em um momento posterior, mas não em uma introdução ainda. Para resumir o propósito desta seção, esta é a minha dica para você. Categorize qualquer novo conhecimento de aprendizado de máquina obtido em dados, modelo, objetivo ou algoritmo. Isso conclui a visão geral de nossa estrutura de quatro categorias para aprendizado de máquina. Agora, vamos começar a usar esta estrutura de aprendizagem. Agora vamos introduzir fundamentos de conhecimento para cada categoria de aprendizado de máquina. Primeiro, os dados ou o que aprender. Os dados em qualquer problema de aprendizado de máquina são divididos em três partes. A primeira parte é o conjunto de trem, os dados que você usa para treinar seu modelo. A segunda parte é o conjunto de validação, os dados com os quais você verifica seu modelo. Você pode usar esse conjunto de validação para escolher o melhor modelo ou melhores ajustes de modelo. A última parte é o conjunto de testes. Você só deve executar seu modelo no conjunto de testes uma vez. Esta é a sua verificação final para o desempenho dos modelos de aprendizado de máquina antes de enviá-los para produção, por exemplo. Agora vamos expandir seu conhecimento sobre modelos ou como prever. Existem dois tipos de modelos, generativos e discriminativos. Modelos generativos aprendem como os dados foram gerados diretamente. Dada a classe, modelos generativos aprendem a distribuição de dados. Por exemplo, modelos generativos podem ser usados para aprimorar automaticamente imagens, gerar ensaios ou transformar texto em fala. Modelos discriminativos aprendem os limites entre as classes. Dado os dados, modelos discriminativos aprendem a probabilidade de cada classe. Por exemplo, modelos discriminativos podem ser usados para classificar emoções faciais, realizar análise de sentimento de tweet ou traduzir fala em texto. Vamos ficar com modelos mais discriminativos em nossas discussões por enquanto. Há outra maneira de dividir modelos. Podemos também considerar um supervisionado contra modelos não supervisionados. Modelos supervisionados têm etiquetas. Aqui estão dois tipos de modelos supervisionados. Os modelos de classificação classificam as entradas em uma ou várias classes. Por exemplo, dada uma imagem, classificar a raça do cão, e modelos de regressão prever uma saída de valor contínuo. Por exemplo, prever um preço de ações futuro. Modelos não supervisionados não têm rótulos. Aqui estão dois tipos de modelos não supervisionados. Um, o agrupamento dividirá as entradas em grupos separados. Por exemplo, você pode perguntar quais sequências de DNA são mais semelhantes e algoritmos de redução de dimensionalidade reduzirão o número de dimensões que seus dados têm. Nesta aula, vamos nos concentrar em modelos supervisionados. Agora, vamos entender os objetivos de aprendizado de máquina ou seu objetivo de forma mais concreta. Para fazer isso, precisamos entender como os dados são gerados e como chegamos a uma noção de erro. Digamos que estamos tentando prever y de x. Y pode ser preços estocados e x pode ser a data. Seu verdadeiro modelo, a verdade funda, a resposta está em verde. Para cada x, esta linha fornece um y. esta linha verde será o nosso verdadeiro modelo de verdade. Agora, vamos amostra de dados deste modelo verdadeiro. Estes dados são os nossos dados verdadeiros. Vamos agora perturbar nossos dados verdadeiros adicionando algum ruído. Este ruído pode ser devido ruído observacional no mundo real, talvez seus governantes imprecisos ou seu relógio é ligeiramente desligado. Adicionando ruído, então, nos dá nossos dados observados. Este é o conjunto de dados que você recolheria e é tudo o que temos para treinar um modelo. Todas as visualizações que mostramos anteriormente em verde os dados verdadeiros, o modelo verdadeiro, não temos acesso a nenhum deles. Só temos acesso aos dados observados aqui em azul. Então treinamos nosso modelo, a linha aqui em preto. Este modelo treinado também nos dá algumas previsões, os pontos pretos. Finalmente, o erro é a diferença entre nossas previsões e os dados observados que coletamos. Esta é uma maneira de definir o erro. Esta é apenas a intuição visual, vamos escrever isso mais formalmente mais tarde. Finalmente, a última categoria é algoritmos. Um algoritmo que você pode lembrar da classe de cálculo para minimizar ou maximizar um objetivo é tomar a derivada, definir para zero, e resolver. No entanto, não vamos muito mais fundo. Como dissemos antes, vamos pular essa categoria de conhecimento por enquanto. Isso conclui os tópicos desta lição. Recapitulando, abordamos a estrutura listada aqui, as quatro categorias de conhecimento de aprendizado de máquina ou modelos de dados, objetivos e algoritmos. À medida que você aprende aprendizado de máquina, você deve compartimentar seu conhecimento nessas quatro categorias. Esta foi uma grande ajuda e eu estava apenas começando e espero que isso irá ajudá-lo a processar as grandes quantidades de conhecimento ML que você vai encontrar. Para obter uma cópia desses slides e mais recursos, confira o site do curso. Isso conclui nossa lição Meta sobre como aprender aprendizado de máquina. Na próxima lição, você aprenderá sobre seu primeiro modelo. Não se esqueça desses quatro compartimentos de conhecimento ML. Para cada novo tópico, certifique-se de se perguntar a quais categorias de conhecimento esses conceitos pertencem. 5. O modelo mais simples do mundo: Nesta lição, exploraremos mais do que os modelos de aprendizado de máquina mais simples, Alinhar. Não se deixe enganar. O modelo em si é simples. É apenas uma linha, mas temos alguns conceitos nesta lição que não são tão simples. Nesta lição de fato, haverá algumas equações matemáticas. Quando encontramos essas equações, não há necessidade de memorizar. Concentre-se no que cada afirmação significa. Vamos agora discutir o que uma linha ou modelo linear pode fazer. Primeiro, um modelo linear pode ser usado para regressão. Regressão é um tipo de problema com saídas e rótulos valorizados contínuos. Valor contínuo significa que o valor pode ser decimais como 1.5 ou 2.365. Aqui está um exemplo de um problema de regressão. Ao longo do eixo x é a altura do cão, ao longo do eixo y é o comprimento da cauda do cão. Traçámos os dados observados em azul. Neste exemplo, nosso objetivo é prever o comprimento da cauda do cão a partir da altura do cão. Em outras palavras, crie uma função que preveja um valor y para cada entrada de valor x. Vamos agora ver como um modelo linear pode ser usado para regressão. Este algoritmo de aprendizado de máquina é chamado de mínimos quadrados comuns ou regressão linear. O objetivo desta próxima seção é apresentar-lhe algumas notações matemáticas. Em particular, vamos rever as visualizações das últimas lições, mas desta vez vamos formalizar essas visualizações como declarações matemáticas. De volta ao nosso problema de regressão. Desta vez, usaremos um x e y genéricos. Nosso objetivo é prever y usando x. Vamos denotar nossos dados observados com pontos azuis à esquerda. Cada ponto azul tem uma coordenada como mostrado à direita. Nosso objetivo é ajustar uma linha retratada em preto aos dados observados. Lembre-se que a equação de uma linha é y é igual a mx mais b. X é a nossa entrada e y é a nossa saída. M e b são os parâmetros do nosso modelo. Alterar os parâmetros do modelo resultará em uma nova linha ou em um novo modelo. Vamos agora fazer previsões usando nossa linha ilustrada aqui como pontos pretos. Para obter essas previsões, conecte sua entrada x_1 na equação de uma linha. Conectando o próximo em nossa equação para uma linha, então nos dá nossa previsão y_1 hat. Você pode repetir isso para cada uma de suas coordenadas. Agora precisamos definir formalmente nossa perda ou erro usando as previsões. Em particular, tome a diferença entre o y observado e o chapéu y previsto. Esta é a distância vertical de cada um dos pontos cinza observados para o ponto preto correspondente na linha. Em seguida, quadramos a diferença porque queremos penalizar tanto subestimar quanto superestimar. Novamente, repita isso para todos os seus pontos. Isso conclui a visualização de nossa perda. Vamos tirar um momento para simplificar um pouco a nossa matemática. Aqui estão as equações para nossas previsões que vimos anteriormente. Podemos escrever uma versão genérica deste, substituindo os números pela letra i. Esta letra i é uma variável que corresponde à i-ésima amostra observada. É apenas uma maneira de resumir as três linhas acima com uma linha aqui onde as perdas vimos anteriormente. Para obter a perda total para o nosso modelo, precisamos somar tudo isso juntos. Podemos representar sucintamente a soma usando alguma notação matemática. Este funky olhando lateralmente w é uma letra grega maiúscula Sigma. Este Sigma maiúsculo com o i minúsculo significa que resumimos tudo i. Sem mais letras gregas, por sinal, só esta. Vamos agora ligar tudo para obter nosso objetivo final em matemática. Para o nosso objetivo, queremos minimizar as perdas que descrevemos anteriormente. Observe o mb subscrito. Este subscrito diz-nos o que podemos ajustar para minimizar a perda. Neste caso, minimizaremos nossa perda ajustando os parâmetros do modelo m e b. Em seguida, observe o script L. Esta é a nossa perda. Vamos ligar nossa perda do slide anterior. Este é o objetivo atualizado, no entanto, nossa previsão y_i hat é indefinido. Vamos ligar isso também. Este é o objectivo final. Parece um monte de letras aleatórias quando você olha para a coisa toda. Mas vamos recapitular as partes individuais. Primeiro, minimizamos a perda ajustando as linhas m e b. Segundo, a perda é a distância vertical entre a predição e o rótulo observado. Finalmente, definimos previsões para ser nossa linha avaliada em cada x i. Isso é tudo para os símbolos. Para resolver esse objetivo, mínimos quadrados comuns simplesmente levam o conjunto derivado para 0 e resolvem. Mas vamos pular essa parte. Agora, se você está se sentindo abalado por todos os símbolos, sinta-se livre para pular para a próxima lição onde começamos a construir um classificador de emoções faciais. Não há mais símbolos matemáticos, mas precisaremos de alguns conceitos para entender como mínimos quadrados podem ser usados para classificação. Ao contrário da regressão, a classificação é distinguida por rótulos categóricos. Por exemplo, os rótulos para o nosso classificador de emoção facial serão felizes, tristes ou surpresos. Este é o nosso objetivo. Nossa previsão é algum valor contínuo e queremos converter isso em uma emoção como feliz. Vamos nos concentrar em representar feliz como um número. Para fazer isso, atribua cada emoção a um número, feliz em 1, definido como 2 e surpresa para 3. Nosso objetivo agora é converter nossa previsão decimal em um rótulo inteiro 1, 2 ou 3. Mas como fazemos isso? Para piorar as coisas, nosso decimal é ilimitado. Pode ser 5.267, pode ser 10.7, pode ser 1.000. Precisamos de um truque. Mudamos a nossa previsão. Em vez de produzir um único número, temos o nosso modelo de saída três números. Se o primeiro número for o maior, prevemos a primeira classe. Se o segundo número for o maior, prevemos a segunda classe. Por exemplo, aqui poderíamos prever a classe 2, uma vez que 5.36 é o maior valor. Aqui, prevemos a classe 1, uma vez que 7.94 é o maior número. Como há apenas três entradas, nossas classes previstas podem ser apenas 1, 2 ou 3. Isso corrige nosso problema com a previsão sendo ilimitada. Esta é a nossa estratégia de previsão final para três classes, prever três números, tomar o índice do maior valor, e esse índice é a sua previsão de classe. Nesse caso, você deve prever a classe 2, já que o segundo valor é maior. Você pode então converter esse índice de classe para um nome de classe. Por exemplo, a classe 2 aqui corresponde a triste. Desta forma, nosso modelo de mínimos quadrados pode prever triste. Em geral, para um problema de classificação com classes k, saída k números, em seguida, tomar o índice do maior número. Esse índice é a sua previsão de classe. Isso resolve a previsão, mas agora, como treinamos isso? Existem três saídas e, no entanto, há apenas um rótulo. Lembre-se, calculamos o erro tomando a diferença entre nossa previsão e nossa etiqueta. Então também precisamos de um rótulo tridimensional. Como converter nosso rótulo inteiro em um rótulo tridimensional? Na verdade, é simples, mais ou menos. Substitua o rótulo 1 por um vetor tridimensional, 1, 0, 0, substitua o rótulo 2 pelos vetores tridimensionais de 0, 1, 0 e, finalmente, substitua três pelo vetor 0, 0, 1. Chamamos essa transformação específica de codificação one-hot. Então agora temos um rótulo tridimensional codificado unidimensional apropriado na parte inferior para supervisionar nossa saída tridimensional no topo. Para resumir para a classificação com classes K , codificar todos os rótulos usando ambos os conceitos. Apenas codifique seu primeiro modelo de mínimos quadrados. Isso conclui conceitos para esta lição. Para recapitular, definimos a regressão como um problema com rótulos valorizados contínuos. Minúsculos quadrados é um método para resolver um problema de regressão. Também definimos a classificação como um problema com rótulos categóricos e exploramos como aplicar mínimos quadrados a classificação usando um hot code para uma cópia desses slides e mais recursos certifique-se de conferir o curso site. Isso conclui esta lição. Apesar do título, esta não é uma lição simples. O modelo, alinhá-lo simples, mas precisávamos de alguns conceitos avançados para fazer essa linha funcionar se você estiver confuso, eu sugiro colocar esta lição de lado por enquanto. Não se frustre revendo de costas para trás. Em vez disso, sugiro revisitar esta lição depois de uma boa noite de sono. Se não fizer sentido agora, fará dentro de um dia. Na próxima lição, vamos codificar um modelo de mínimos quadrados para classificação de emoções faciais. 6. Crie um classificador de emoções faciais: Nesta lição, você construirá seu primeiro modelo de aprendizado de máquina, um classificador de emoções faciais. Você ainda pode acompanhar se não souber codificar. Mas você vai obter mais desta seção do curso se você souber como. Para ser apanhado com a programação Python, você pode fazer o meu curso de Coding 101 Python para iniciantes. Nós também usaremos objetos nesta lição. Você pode opcionalmente ser pego com programação orientada a objetos tomando meu Coding 101 plus, nivelar seu código com programação orientada a objetos. Isso é tudo para as isenções de responsabilidade. Vamos fazer isto. Comece navegando até esse URL e acesse um modelo de resposta. Sugiro pausar o vídeo aqui, incluindo a conta, se ainda não o fez. Enquanto você pode codificar sem uma conta, uma conta permite que você salve seu código. Depois de ver esta página, faça o fork do produto para obter sua própria cópia editável. Para fazer isso, clique no nome do projeto no canto superior esquerdo para obter um menu suspenso. Clique nas reticências para obter outra lista suspensa e, finalmente, clique no botão do garfo. Então eu recomendo colocar suas janelas Skillshare e repl.it lado a lado, como mostrado aqui. Vamos começar com as importações que você vai precisar para este projeto. Primeiro, insira seu modelo. Nosso modelo é chamado de regressão linear. O modelo de regressão linear é fornecido pelo pacote Python scikit-learn. Scikit-learn é uma biblioteca dedicada a ferramentas para estatísticos e profissionais de aprendizado de máquina. Aqui digite, “De”, scikit-learn é abreviado como sklearn, então sklearn.linear_ modelo importação linearRegression. Em seguida, importe um OneHotEncoder para nossas etiquetas. De sklearn novamente, pré-processamento importação OneHotEncoder. Em seguida, o utilitário de importação para avaliar as previsões de classificação de sklearn.metrics importar a pontuação de acy_. Certifique-se de que você está digitando exatamente como eu digito até o caso e a pontuação. Finalmente, importe uma biblioteca de álgebra linear chamada NumPy. Importar NumPy como np. Agora vamos começar o script carregando seus dados de treinamento e validação. Os conjuntos de dados de treinamento e validação estão no diretório de dados. Use a função de carga NumPy para carregar nossos dados de treinamento. Vamos atribuir isso a uma variável chamada data train. Aqui eu vou criar algumas linhas vazias em branco e vamos dizer data_ train é igual a np.load e o caminho para seus dados está no diretório de dados fer 2013 train.npz. Este “fer “significa “reconhecimento de emoções de rosto”. Este arquivo npz carregado age como um dicionário. Podemos acessar a chave X para obter amostras do conjunto de dados de treinamento. Em uma nova linha, vamos digitar em x_ train igual a data train e um X maiúsculo. Repita isso para os rótulos do conjunto de dados de treinamento. Y_train é data_train Y. Podemos repetir este processo para o conjunto de dados de validação. Aqui eu vou digitar data_val np.load data fer 2013 val.npz. Então X_Val é as validações X e Y_Val é as validações Y. Agora, precisamos pré-processar nossos dados. Por enquanto, o único processamento p que precisamos é uma codificação OneHot para nossas etiquetas. Para fazer isso, usaremos um OneHotEncoder, um utilitário fornecido pelo scikit-learn. Primeiro, aqui vai uma dica. Todas as bibliotecas do scikit-learn seguem o mesmo padrão. Vamos criar ou instanciar o objeto scikit-learn como nosso primeiro passo. Para o segundo passo chamar o método de ajuste, este é efetivamente o método de trem. É um pouco enganoso porque para transformações como o OneHotEncoder não existe tal coisa como treinamento. Finalmente, para o seu terceiro passo chamar o método de transformação ou previsão que você chama depende se o objeto é um modelo ou transformação como o OneHotEncoder. Por alguma razão, quando eu estava pegando a biblioteca Scikit estes passos realmente me confundiram, então espero que colocá-los aqui ajuda. Agora vamos seguir os passos. Primeiro, vamos instanciar o seu OneHotEncoder. Aqui o codificador de tipo é igual a OneHotEncoder. Em seguida, o scikit-learn oferece um método puro ajuste transformado que combina o segundo e terceiro passos. Vamos usar isso agora. Precisamos codificar nossos rótulos de treinamento. Chame o método de transformação de ajuste no trem Y. Aqui vamos atribuir o resultado a uma nova variável chamada Y-OH-Train, abreviação de OneHot. Em seguida, vamos chamar codificadores ajuste método de transformação nos dados de treinamento. Finalmente, vamos ligar para a matriz. Esta é uma peculiaridade para OneHotEncoder Em particular, chamando toarray garante que sua saída é uma matriz. Agora, com toda a configuração feita, podemos criar e treinar nosso modelo. Nosso modelo é um modelo LinearRegression de scikit-learn. Vamos seguir os mesmos três passos de antes, instanciar, ajustar e prever. Em seguida, abaixo do seu código existente, vamos instanciar a classe LineARRegression, modelos iguais a LinearRegression com parênteses. Em seguida, treine o modelo LinearRegression no conjunto de dados de treinamento, então model.fit e estamos incorrendo para passar nos dados de treinamento X e os conjuntos de dados de treinamento Y. Em seguida, vamos usar o modelo para produzir pontuações para cada classe no treinamento conjunto de dados. Vamos definir o trem de pontuação é igual às previsões do modelo no conjunto de dados de treinamento. Repita isso no conjunto de dados de validação. Score_val é model.predict no conjunto de dados de validação. Finalmente, para cada amostra encontrar o índice do maior valor. Esse índice é a sua última previsão de classe. Aqui, teremos a previsão é o índice da maior classe. Em seguida, repita isso para o conjunto de validação. Com o modelo treinado e as previsões feitas, agora precisamos avaliar essas previsões usando uma função scikit-learn chamada pontuação de precisão irá avaliar nossas previsões de modelos. Aqui vamos datilografar, “Imprimir”. Primeiro, vamos dar-lhe um rótulo, “Precisão do trem” e então vamos realmente avaliar as previsões dos modelos. Y_train, Yhat_train. Repare aqui que eu realmente não criei uma nova linha, é porque minha janela é tão pequena que esta está enrolada. Em seguida, repita isso para o conjunto de dados de validação. Vamos imprimir a precisão val e, em seguida, repetir pontuação de precisão para os rótulos de validação e as previsões de validação. Agora, aperte a seta verde executar no topo para executar o seu código. Primeiro, você verá um monte de logs de instalação conforme o repl.it configura seu ambiente de execução. Isso levará alguns minutos. Em segundo lugar, você verá um prompt vazio enquanto o modelo estiver treinando, isso levará cerca de 15 segundos. Finalmente, você verá seus resultados de avaliação com cerca de 59% de precisão de treinamento e 61% de precisão de validação e parabéns, esse é o seu primeiro modelo de aprendizado de máquina de classificador de emoções faciais. No entanto, uma precisão de treino de 59 por cento parece bastante baixa. Isso significa que estamos a encaixar o nosso modelo. Vamos consertar isso na próxima lição. Para obter uma cópia desses slides e o código finalizado para esta lição, certifique-se de conferir o site do curso. Isso conclui seu primeiro modelo de aprendizado de máquina, um classificador de emoções faciais. Como dissemos anteriormente, nossa precisão de treinamento de 59 por cento é bastante baixa. Na próxima lição, falaremos sobre maneiras de melhorar seu classificador de emoção facial. 7. Como aprimorar seu modelo: Nesta lição, falaremos sobre como melhorar seu modelo de aprendizado de máquina. Um aviso, há alguns termos nesta lição, mas não há necessidade de memorizar à medida que avançamos. Analisaremos estes termos e conclusões na última parte desta lição. Em particular, vamos cobrir um trade-off conhecido como trade-off de viés variância. Então vamos cobrir dois métodos de controlar esse trade-off, conhecido como featurização e regularização. Vamos agora mergulhar na troca. Ao longo do eixo x, temos complexidade do modelo. Por enquanto, você pode pensar na complexidade do modelo como quantas operações o modelo precisa executar para fazer uma previsão. Ao longo do eixo y, é o erro. Nosso objetivo com qualquer modelo é encontrar o modelo com o menor erro. Encontre o ponto ideal para a complexidade do modelo. No entanto, é fácil perder esse ponto ideal. Torne um modelo muito complexo, e você atinge um dos males mais temidos do aprendizado de máquina, overfitting, que um modelo está muito próximo para ser adaptado aos dados de treinamento no limite que o modelo mais overfit irá memorizar os dados. Faça um modelo muito simples e você acertar um mal relacionado, adequado, onde o modelo não é suficientemente expressivo para capturar informações importantes nos dados. Isso pode significar que você só olha para as pontuações dos trabalhos de casa para prever as pontuações dos exames, ignorando os efeitos da leitura de notas, completando exames práticos e muito mais. A razão pela qual o erro se comporta assim é por causa de viés e variância. Viés é o erro para o seu melhor modelo possível. Como resultado, se você escolher mais e mais modelos expressivos, seu melhor modelo possível fica melhor e melhor, levando a menos erros e menos viés. Em suma, quanto mais complexidade do modelo, menos viés você tem. Variância é a disseminação de suas previsões. Com modelos cada vez mais expressivos, seu conjunto de modelos de possíveis saídas cresce cada vez mais. Isso provavelmente significa que as previsões do seu modelo, para todos os dados fornecidos, também se espalham. Em suma, quanto mais complexidade do modelo, mais variantes você tem. A soma de viés e variância, em seguida, dá-lhe o seu erro. Esta é a troca. Nosso objetivo é equilibrar o viés e a variância para minimizar o erro escolhendo a complexidade apropriada do modelo. Para resumir, balancear o viés e a variância ajustando a complexidade do modelo. Vamos agora falar sobre formas específicas de viés e variância de troca. Dado estes dois males, apropriados e superajustados, há uma variedade de abordagens para combater ambos. primeiro é a caracterização, que luta contra o encaixe aumentando a complexidade do modelo. Primeiro, considere alguns dados. Aqui, os círculos representam amostras de uma classe. Os X representam amostras de uma segunda classe. Nosso objetivo é usar mínimos quadrados para classificar as duas classes. Em outras palavras, queremos encontrar uma linha que separa ambas as classes. Isso acaba por ser muito difícil, não importa qual linha nós traçamos, nós não podemos separar as duas classes. O que realmente queremos é um círculo que separe as duas classes. Isso é um problema porque um círculo não é uma linha e agora, só sabemos como treinar modelos ML que desenham linhas através de pontos. Como podemos usar uma linha para separar essas duas classes? Para entender como, vamos primeiro anotar cada ponto com suas coordenadas. Observe que os eixos são x e y, como normal. Em seguida, vamos quadrar a coordenada x de cada ponto e quadrado a coordenada y de cada ponto. Observe agora que os eixos são x ao quadrado e y ao quadrado. Esses novos rótulos de eixos significam que estamos em um sistema de coordenadas diferente ou em um espaço diferente. Neste espaço, de repente é muito fácil desenhar uma linha que separa as duas classes. Vamos agora definir x tilde como x ao quadrado. Observe que o rótulo do eixo x agora é x til. Em seguida, defina y tilde um como y ao quadrado. Observe que o rótulo do eixo y agora é y tilde. Usando x tilde e y tilde, agora podemos escrever a equação para a linha vermelha. Agora temos uma linha que pode separar as duas classes apenas ao quadrado das coordenadas de entrada. Chamamos esse processo de aprimoramento da featurização de entradas. Agora, para explicar por que isso é possível, porém, vamos revisualizar essa linha no espaço til no espaço original x, y. Observe que temos um círculo em nosso espaço original. Mas por que está tudo bem? Como nos safamos de desenhar um círculo usando uma linha? Bem, esse é o truque. Nós caracterizamos nossas amostras ou recursos levantados em um espaço diferente antes de desenhar uma linha. Uma linha no nosso novo espaço corresponde a um círculo no nosso espaço original. Esse é o poder da caracterização. Neste caso, nossa featurização estava quadrando cada coordenada. Você também pode caracterizar de outras maneiras. Você poderia multiplicar coordenadas umas pelas outras, aumentar cada coordenada para poderes superiores, ou aplicar cosseno, por exemplo. Estes permitem desenhar linhas em espaços dimensionais mais elevados que correspondem a formas complexas no espaço original. Para resumir, caracterize seus dados para aumentar a complexidade do modelo e combater a adequação. O último conceito é a regularização, que combate o excesso de ajuste diminuindo a complexidade do modelo. Existem várias maneiras de regularizar. Uma delas é modificar seu objetivo de otimização para incluir um termo que penaliza a complexidade do modelo. Não vamos entrar em detalhes por enquanto. Para resumir, regularize seus dados para diminuir a complexidade do modelo e combater o excesso de adequação. Recapitulando, cobrimos o trade-off de viés variância, onde o viés diminui com o aumento da complexidade e a variância aumenta com o aumento da complexidade do modelo. Para viés de troca com variantes, usamos a caracterização para combater a adequação e usamos a regularização para combater o excesso de ajuste. Eu sei que isso é um monte de termos. São sete termos em menos de 10 minutos. Pelo menos uma vez, vou dizer que deves memorizar estes termos. Novamente, aqui estão os sete termos que você deve memorizar. Vou redefinir estes brevemente aqui novamente. viés diminui conforme a complexidade do modelo aumenta. A variância aumenta à medida que a complexidade do modelo aumenta. Em seguida, você precisa trocar o viés e a variância para minimizar o erro do modelo. Underfitting ocorre quando seu modelo é muito simples e você pode caracterizar para tornar seu modelo mais complexo. Overfitting ocorre quando seu modelo é muito complexo e você pode regularizar a simplificação. Sei que é muita coisa para absorver ao mesmo tempo. Se você está se sentindo exausta de memorizar agora, tudo bem. Faça uma pausa, tome um banho ou durma nele. Se você está exausto, idealmente espere um dia antes de tentar novamente. Uma boa noite de descanso fará milagres. Outra possibilidade é simplesmente continuar com a classe como os takeaways estão realmente vendo o impacto da featurização e regularização na precisão. Para obter uma cópia desses slides e mais recursos, confira o site do curso. Isso conclui nossa lição de melhoria do modelo. Na próxima lição, implementaremos essas técnicas para modular o viés e a variância, produzindo um classificador de emoção facial melhorado e mais preciso. 8. Classificador aprimorado de emoções faciais: Nesta lição, você melhorará seu classificador de emoções faciais implementando os conceitos da última lição; caracterização e regularização. Comece navegando até esse URL para acessar um modelo do Replit. Você deve então ver a tela como a minha no lado direito. Depois de ver esta página, o fork do projeto para obter sua própria cópia editável. Para fazer isso, clique no nome do projeto no canto superior esquerdo para obter um menu suspenso. Em seguida, clique nas reticências para obter outro menu suspenso. Finalmente, clique no botão “Fork”. Então eu recomendo colocar suas janelas Skillshare e Replit lado a lado, como mostrado aqui. primeiro é características polinômios. Comece importando um novo utilitário de pré-processamento do scikit-learn chamado recursos polinômios. Isso nos permitirá caracterizar nossos dados. Também chamamos esse recurso de levantamento de nossos dados. Então aqui, ao lado de OneHotEncoder, vou digitar características polinômios. Novamente, eu não criei uma nova linha, é simplesmente porque minha janela é muito pequena, então a linha 2 enrolado. As características polinômios aumentarão a dimensionalidade dos nossos dados. O que isso significa é que, se cada amostra tivesse anteriormente 2.400 dimensões, nossa amostra com características polinômios poderia ter 24.000 dimensões, por exemplo. Como resultado, precisamos reduzir a dimensionalidade de cada amostra antes de aplicar a caracterização. Vá em frente e role para baixo para a direita até onde você definiu Y_oh_train. Diretamente abaixo disso, vamos agora reduzir a dimensionalidade do nosso conjunto de dados. Aqui, digite x_train é igual a si mesmo, mas com um colchete, vírgula de dois pontos, mais dois pontos e um 40. Note que esta é uma notação que você nunca viu antes. Indexar em arrays em Python é um tópico um pouco mais avançado que eu vou pular por enquanto. Basicamente, basta saber que esta notação leva cada 40ª dimensão. Isso reduz a dimensionalidade de cada amostra de 2.400 para 60. Vamos continuar e repetir isso para o conjunto de dados de validação. Aqui temos x_val novamente é igual a si mesmo, colchete, vírgula de dois pontos, dois pontos, dois pontos, 40. Novamente, lembre-se de que há duas colunas aqui. Em seguida, vamos calcular recursos polinômios. Como com outros utilitários scikit-learn, faremos isso em três etapas. Vamos instanciar, encaixar e depois transformar. Primeiro, instanciar o nosso “featurizer”. Novamente, diretamente abaixo do código que você acabou de escrever, agora vamos escrever featurizer é igual a feições polinômios, e vamos definir a interação no argumento de palavra-chave como true para limitar o quanto nossa dimensionalidade aumenta. Aqui vamos digitar interaction_only igual a true. Vou apertar “Escape” para descartar este modelo. Novamente, eu não criei uma nova linha, esta é apenas a linha 21 transbordou. Segundo, vamos chamar o ajuste e a transformação ao mesmo tempo nas amostras de treinamento. Diretamente abaixo desta linha, vamos digitar x_train é igual a featurizer.fit_transform. Novamente, x_train. Vou apertar “Escape” para descartar esse modelo. Vamos agora repetir isso para o conjunto de dados de validação. X_val é igual a featurizer.fit_transform x_val. Isso completa nossas modificações. Temos agora um modelo de regressão polinomial, ou, em outras palavras, um modelo de regressão linear com características polinomiais. Agora pressione a seta verde “Executar” na parte superior do seu arquivo. Novamente, responder.it levará alguns minutos para configurar o ambiente. Nosso arquivo, então, tomaremos um minuto para treinar seu modelo. Assim que ambos forem concluídos, você verá uma precisão de treinamento de 72% e uma precisão de validação de 64%, ligeiramente melhor. No entanto, essa diferença de sete por cento entre treinamento e precisão de validação é preocupante. Isso significa que nosso modelo está sobreajustado. Para resolver isso, vamos regularizar nosso modelo em seguida. Para regularizar nosso modelo, usaremos um método chamado regressão de cume. Isso realmente envolve a mudança de apenas duas linhas de código uma vez que o scikit-learn tornou mais fácil para nós ligar e jogar. Vá em frente e role de volta para o topo do seu arquivo. Primeiro vamos mudar nossa importação de regressão linear para cume. Digite em cume. Segundo, apague seu modelo de regressão linear e substitua-o por cume. Role para baixo até onde você definiu seu modelo de regressão linear. Isto está na linha 25 para mim. Exclua seu modelo de regressão linear e substitua-o por cume. A regressão de cume inclui um hiperparâmetro alfa, que rege o quão pesadamente penalizamos a complexidade molar. Vamos penalizar a complexidade molar muito fortemente aqui. Nós vamos adicionar o argumento de palavra-chave alfa é igual a 1e11. Agora, execute novamente seu arquivo clicando na seta verde na parte superior. Seu modelo deve levar um minuto para treinar. Em seguida, você verá uma precisão de treinamento de 67% e uma precisão de validação de 64,5%. Mesmo que a precisão do treinamento seja menor, a precisão da validação é ligeiramente maior em 0,3 por cento. A menor lacuna de precisão de validação de treinamento também significa que regularizamos nosso modelo com sucesso. A próxima pergunta natural é: você pode fazer ainda mais melhorias? As melhorias que fizemos até agora são tudo o que planejei para este curso, porque para fazer mais melhorias, precisamos entender a estrutura das imagens, aproveitar seu conhecimento de domínio para melhorar seus modelos. Neste caso, já que estamos trabalhando com imagens, precisamos alavancar nossa compreensão fundamental da visão computacional. Para saber mais sobre visão computacional e para construir uma demonstração que você pode facilmente jogar com, você pode conferir meu curso de visão computacional para iniciantes. Caso contrário, isso conclui seu melhor classificador de emoção rosto. Incorporamos vários conceitos-chave nesta lição. Agora que estamos cientes do trade-off de variância de viés, podemos usar a caracterização e a regularização para combater o encaixe e o excesso de ajuste em nosso modelo. Aplicamos as duas técnicas aqui, aplicando a caracterização polinomial e depois regularizando com regressão de cume. Para obter uma cópia desses slides e o código concluído para esta lição, certifique-se de conferir o site do curso. Isso conclui nosso classificador de emoção facial. Na próxima lição, começaremos a voltar para uma discussão de alto nível. Em particular, irá quebrar problemas de aprendizado de máquina nas quatro partes sobre as quais falamos anteriormente: Dados, modelo, objetivo e algoritmo. 9. Prática: desvendando problemas de ML: Nesta lição, vamos dividir vários problemas de aprendizado de máquina em dados, modelo, objetivo e algoritmo. Isso é efetivamente praticado para aplicações do mundo real de seu conhecimento. Quando você encontra um artigo ML, postagem de blog, discussão ou notas, recomendo repetir este exercício para entender onde colocar esse novo conhecimento. Em suma, minha dica é dividir problemas de ML em dados, modelo, objetivo e algoritmo. Este slide pode parecer familiar. Anteriormente, eu dei uma dica para sempre categorizar o conhecimento de ML nessas quatro categorias. Esta é realmente a mesma dica aplicada explicitamente a esta lição. Vamos começar quebrando o exercício que você acabou de passar, que é a classificação de emoções faciais. O primeiro é o Data. Passaremos a maior parte de nosso tempo detalhando essa parte, aplicativo e dados. Antes de deixar você tentar este exercício, vamos rever as perguntas aqui, para que eu possa enfatizar o que suas respostas precisam incluir. Primeiro, qual é o seu objetivo? Seu objetivo deve descrever o que você está produzindo e qual é a sua entrada. Segundo, como sua entrada está estruturada? Esta resposta deve descrever como seus dados de entrada serão traduzidos em números. Terceiro, o que você prevê? Esta resposta deve descrever a saída numérica para o seu modelo e como traduzir esses números para o seu formato final. Finalmente, existem fontes de dados extras? Agora, pause o vídeo e tire um minuto para preencher a coluna da direita respondendo as perguntas à esquerda. Aqui estão as respostas que inventei. Primeiro, qual é o seu objetivo? Seu objetivo é classificar a emoção a partir de imagens faciais. Em segundo lugar, a entrada é uma imagem de um rosto. Veja meu curso de visão computacional para iniciantes para ver como as imagens são representadas como números. Terceiro, o que você prevê? Prevemos uma das três emoções: felizes, tristes ou surpresas. Lembre-se que fazemos isso prevendo três saídas e, em seguida, tomando o índice do maior valor. Cada índice, em seguida, corresponde a um nome de classe. Para obter detalhes, consulte a seção de classificação da Lição 5. Finalmente, existem fontes de dados extras? Para este problema, não há. uma vez, para obter mais detalhes sobre como as imagens são representadas como números, veja meu curso de visão computacional para iniciantes. O próximo é o modelo. Vou preencher isto agora. Uma vez que cobrimos apenas um tipo de modelo até agora em nossos exercícios, usamos um modelo linear. Agora o objetivo. Também cobrimos apenas um objetivo em detalhe na Lição 5. Vou preencher isto. Nós minimizamos o erro ajustando nossos parâmetros de modelo, a inclinação da linha e a interceptação. O erro é formalmente definido como a distância entre nossos rótulos e previsões. Finalmente, o algoritmo. Mencionamos isso algumas vezes, mas não discutimos. Como antes, vou preencher isto. Para resolver esses quadrados, você pode pegar a derivada, definir para zero, e resolver. Isso conclui a nossa primeira quebra do problema ML. Nos problemas de ML restantes, analisaremos apenas a primeira categoria, aplicação e dados. Nós só cobrimos um modelo, objetivo e algoritmo. Essas respostas, em teoria, permaneceriam as mesmas. A seguir é a análise do sentimento do tweet. Se você ainda não estiver familiarizado, análise de sentimentos é uma tarefa em que prevemos o sentimento, como frustrado, sarcástico ou animado. análise de sentimento do Tweet significa que analisamos o sentimento de um Tweet. Agora, pausar o vídeo aqui e preencha o detalhamento de dados para análise de sentimento do tweet. Aqui está a minha resposta. Primeiro, qual é o seu objetivo? Seu objetivo é classificar um sentimento de tweets. Segundo, como a entrada está estruturada? Este nós não cobrimos antes. Para representar palavras como números, considere um dicionário de todas as palavras possíveis. Digamos que há 1.000 palavras em nosso dicionário, podemos representar um tweet como números substituindo cada palavra por sua posição no dicionário. Por exemplo, um tweet de três palavras pode ser 200, 350, 75. Terceiro, o que você prevê? Então prevemos o sentimento. Eu inventei três sentimentos aqui, mas você poderia usar o que quiser: feliz, triste e com raiva. Como antes, já discutimos como traduzir números de saída do modelo em um nome de classe. Finalmente, há fontes extras de informação que podemos aproveitar. Uma fonte natural são curtidas e comentários de tweets. Isso conclui nossa análise de sentimento do tweet. Agora, vamos quebrar o discurso em texto. Pause o vídeo aqui e preencha o detalhamento de dados para fala em texto. Aqui está a minha resposta. Qual é o seu objetivo? Seu objetivo é transcrever áudio em texto. Você pode, por enquanto, pensar nisso como classificar cada trecho de áudio em uma das várias palavras possíveis. Segundo, como a entrada está estruturada? Para a entrada, como traduzimos áudio em números? Bem, um formato comum é chamado de espectrograma. Você pode pensar em um espectrograma como partituras para a fala. Terceiro, o que você prevê? Nossa previsão é uma palavra. Nós discutimos anteriormente como traduzir palavras em números usando um dicionário e o índice de palavras. Vamos fazer o mesmo aqui, prevendo um índice de palavras para depois traduzir em uma palavra. Para fontes de dados extras, podemos usar o áudio circundante e outras palavras previstas. Por exemplo, se a última palavra foi você, a próxima palavra é provável que são e não é. Isso conclui a quebra de fala para texto. Agora, vamos quebrar a direção inversa, text-to-speech. Pause o vídeo aqui e preencha o detalhamento de dados para fala em texto. Primeiro, seu objetivo é agora gerar áudio a partir de texto. Em segundo lugar, nós simplesmente trocamos a entrada e a saída do meu último exemplo. A entrada é uma lista de índices de palavras. Terceiro, prevemos um espectrograma ou uma partitura para a fala. Finalmente, para fontes de dados extras, poderíamos usar trechos aleatórios de áudio com pessoas dizendo essas palavras. Isso conclui o detalhamento do texto em fala. Isso também conclui a prática para esta lição. Nós dividimos os quatro problemas listados aqui. Em particular, discutimos uma maneira de representar palavras como números, que é usar posições de palavras no dicionário. Também discutimos uma maneira de representar o áudio como números, que é usar um espectrograma ou partitura para som. Para obter uma cópia desses slides e mais recursos, confira o site do curso. Isso é tudo para dissecar problemas de aprendizado de máquina. Na próxima lição, discutiremos uma maneira de organizar seu conhecimento sobre diferentes tópicos de ML. 10. Taxonomia de tópicos de ML: Nesta lição, estabeleceremos uma taxonomia de diferentes áreas de aprendizado de máquina. Conhecer diferentes categorias de tópicos de aprendizado de máquina é fundamental para aprender como aprender aprendizado de máquina. Isso ajudará você a compartimentar ainda mais seu conhecimento de aprendizado de máquina avançando. No entanto, ao contrário dos quatro primeiros compartimentos de conhecimento, essas categorias são uma lista interminável, sempre em andamento. Em suma, minha dica é categorizar em todos os tópicos em dados, modelo, objetivo e algoritmo. Você pode estar percebendo uma tendência. Eu realmente quis dizer isso. Eu disse para categorizar todo o conhecimento ML nessas quatro categorias. Só estou repetindo essa dica em diferentes formas para realmente levar o ponto para casa. Haverá um monte de termos e definições aleatórios nesta lição, o objetivo não é necessariamente memorizar todos eles. Em vez disso, o objetivo é memorizar o diagrama que será mostrado no final. Dessa forma, você vai saber como organizar sua lista de conhecidos e todos os problemas, Vamos organizar a taxonomia em torno dos compartimentos de conhecimento que discutimos anteriormente. Dados, modelo e objetivo, como de costume, estarão pulando a parte de algoritmos do conhecimento de aprendizado de máquina por enquanto. No final, escolheremos aleatoriamente combinações desses diferentes dados, modelos e objetivos. Cada uma dessas combinações produz uma nova pesquisa e tópico de ML. Primeiramente, são as diferentes aplicações e fontes de dados. Existem muitos tipos de dados de entrada. Existem imagens e vídeos em visão computacional. Há texto em processamento de linguagem natural. Em seguida, há aplicações de aprendizado de máquina para outros campos também. No ML para segurança, sua entrada pode ser imagens criptografadas. Na robótica, sua entrada pode ser imagens com profundidade para um robô cirúrgico. Nas ciências físicas, sua entrada pode ser exames de ressonância magnética para órgãos no corpo. Existem inúmeros outros tipos de insumos e áreas de pesquisa que não incluí. Parte do aprendizado de máquina é adicionar a esta lista de campos e aplicativos. Em seguida, é a taxonomia dos modelos. Na verdade, discutimos isso anteriormente. Antes da completude, vamos revisá-los brevemente. Podemos dividir modelos em generativo, que aprendeu a maneira como os dados são gerados, e discriminativo, que se concentra em limites entre classes. Também podemos dividir modelos em supervisionados com rótulos e sem rótulos. Outro termo que você ouvirá muitas vezes é semi-supervisionado. Isso geralmente significa, ou a, uma combinação de modelos supervisionados e não supervisionados ou b, supervisionando um modelo em sinais que não requerem anotação humana. Existem também várias categorias de objectivos. Anteriormente, cobrimos um tipo de objetivo, um objetivo focado na precisão. No entanto, há outros objetivos amplos de aprendizado de máquina também. Cinco dos mais comuns são precisão, generalização, interpretabilidade, eficiência e estética. A precisão é simples. Generalização é a capacidade para o modelo para obter alta precisão além das amostras de treinamento dadas. A interpretabilidade passa por muitas definições diferentes, mas a ideia básica é entender de alguma forma o processo de tomada de decisão do modelo. A eficiência pode ser a eficiência do treinamento, a rapidez com que o modelo treina. Também pode ser a eficiência da previsão. Quão rápido o modelo é executado, quanta memória ele usa, quanta energia ele precisa, etc. Finalmente, estética. Isto é geralmente para tarefas generativas que tendem a ter uma definição ambígua de qualidade. Finalmente, vamos discutir alguns problemas específicos de aprendizado de máquina e onde eles se enquadram na taxonomia. Aqui está a lista de cinco problemas ML que vamos cobrir. Lembre-se, a escolha desses problemas de ML é bastante arbitrária. Eu os escolhi para mostrar que qualquer problema de ML pode caber em uma taxonomia. Se há algo que você se compromete com a memória nesta lição, é a taxonomia ou o diagrama. Este é o diagrama que usaremos. À esquerda estão as diferentes categorias que discutimos em dados, modelo e objetivo. À direita estão os problemas. Seu objetivo não é memorizar esses problemas de ML à direita, agora. O takeaway é que você pode simplesmente escolher qualquer combinação de dados, modelo e objetivo para encontrar um novo problema ou área. Vamos agora escolher algumas combinações à esquerda e atribuí-las a nomes à direita. Aqui, roxo significa que podemos escolher o que quisermos. Vamos pular esses. Sob modelo, escolha semi-supervisionado, e sob generalização objetiva escolhida. Um tópico ML que otimiza a generalização para modelos semi-supervisionados é o aprendizado de poucos tiros à direita. No aprendizado de poucos tiros, seu objetivo é alcançar a mesma precisão com esses poucos exemplos de treinamento possível. Vamos agora mudar o modelo de um semi-supervisionado para supervisionado mantendo o objetivo o mesmo. Um tópico ML que otimiza a generalização para modelos supervisionados é a adaptação de domínio. Na adaptação do domínio, seu objetivo é treinar um modelo em uma distribuição, por exemplo, vídeos diurnos, e adaptar-se durante o teste a outra distribuição, por exemplo, vídeos noturnos. Vamos manter modelos supervisionados, mas agora considere um objetivo diferente, eficiência. Um tópico ML que melhora a eficiência dos modelos supervisionados é a destilação. Na destilação, seu objetivo é treinar um modelo de aluno usando previsões de um modelo de professor mais complexo e maior. Agora, nós mudamos todas as categorias. Sob dados, escolha visão, sob modelo, escolha generativa e semi-supervisionada, sob objetivo, escolha estética. Um tópico ML nesta categoria é Transferência de estilo. Na transferência de estilo, seu objetivo é combinar o estilo de uma imagem com o conteúdo de outra. Por exemplo, você pode reimaginar uma foto real usando o estilo Noite Estrelada de Van Gogh. Para o nosso último problema, sob o modelo, escolha supervisionada, sob objetivo, precisão de escolha. Um tópico ML nesta categoria são exemplos adversários. Em exemplos adversários, seu objetivo é enganar um modelo adicionando uma marca d'água invisível à entrada. Por exemplo, você pode modificar invisivelmente uma imagem panda para enganar o modelo a pensar que a imagem é de um macaco. Finalmente, exemplos adversários visam a precisão ou melhor, tentar destruir a precisão para modelos supervisionados. Nós fizemos isso. Conseguimos identificar onde em nossa taxonomia cada problema ML pertence. Escolher combinações aleatórias de tópicos à esquerda nos dá diferentes tópicos ML e áreas de pesquisa à direita. Este é o slide sumário, eu prometo. Faça uma captura de tela, se quiser. Basicamente, à medida que você aprende mais e mais tópicos de aprendizado de máquina, sugiro adicionar a este diagrama novos campos para Aprendizagem de Máquina Aplicada à esquerda em dados e novas combinações de dados, modelos e objetivo irá gerar novos problemas à direita. Para obter uma cópia desses slides e mais recursos, confira o site do curso. Isso conclui a taxonomia dos tópicos de aprendizado de máquina. Nesta lição, começamos com amplas categorias de tópicos de ML e vimos como combinações de diferentes categorias podem resultar em novos problemas de ML. No entanto, na realidade, você encontrará o inverso. Você não começará escolhendo categorias e acabará com um novo problema de ML. Em vez disso, você aprenderá sobre um novo problema de ML e, em seguida, trabalhará para trás para encaixá-lo em sua taxonomia. Eu escolhi praticar a direção errada porque a “direção errada é mais fácil”. Praticar esta direção mais fácil muitas, muitas vezes irá ajudá-lo a eventualmente ajustar problemas de ML do mundo real em sua taxonomia. Na próxima lição, dividiremos vários produtos de IA nesses problemas de ML. 11. Prática: desvendando produtos de IA: Nesta lição, dividiremos os produtos de IA em problemas de ML. Considere isso como prática também para aplicações do mundo real de seu conhecimento. Quando você encontra um artigo de notícias, postagem ou outro marketing para um produto de IA, recomendo repetir este exercício de dividir esse produto em diferentes sub-problemas. Resumindo, minha dica é dividir os produtos de IA em sub-problemas de ML sempre que você encontrar um produto de IA. Isso também se aplica a produtos de IA que ainda não existem. Aprender a quebrar é realmente uma arte. Essa habilidade é a chave para entender o que é possível hoje versus o que não é. Vamos dividir três produtos de IA diferentes em sub-problemas ML, assistência de voz, carros autônomos e realidade aumentada. Primeiro, o que é um assistente de voz? Nós mencionamos isso anteriormente. Primeiro, traduza fala em texto, pesquise e traduza textos de volta para fala. Agora você também tem uma compreensão mais profunda do primeiro e último passo. Em seguida, o que é um carro autônomo? Um modelo simplista de um carro inclui a detecção de objetos, onde você desenha caixas em torno de cada objeto na cena. Isto dá-lhe uma ideia do espaço de condução. Em seguida, você planeja um caminho. Isso pode ser um problema de otimização próprio, onde você minimiza a distância e o tempo até o destino enquanto se restringe ao espaço dirigível. Finalmente, temos controles. Este não é um subproblema ML, mas eu incluí por uma questão de completude, controles envolve realmente mover o carro, como girar a roda ou bater no pedal do acelerador. Estas três partes descrevem minimamente um carro autônomo. Finalmente, o que é realidade aumentada? Existem alguns problemas de ML relacionados que fazem com que o AR funcione. Um é o rastreamento de dentro para fora, onde o dispositivo se localiza em relação ao seu ambiente. Isso é o que permite que você passeie em uma realidade virtual ou aumentada. Outro é o rastreamento de mão, onde você rastreia as articulações em segmentos de sua mão. Isso permite que você use gestos para controlar o dispositivo. Finalmente, outra é a detecção de objetos. Onde você novamente, desenhe caixas delimitadoras em torno de todos os objetos na cena. Isso permite que você anote itens em realidade aumentada. Essa é a amostragem de diferentes sub-problemas de ML necessários para a realidade aumentada. Para obter uma cópia desses slides e mais recursos, confira o site do curso. Isso é tudo para os conceitos nesta lição e no curso. Fizemos o círculo completo de volta à abordagem de alto nível para entender IA e ML, terminando com a prática do mundo real para seu conhecimento em IA, ML. Na próxima lição, falaremos sobre as próximas etapas para aprender mais sobre IA, ML. 12. Próximos passos: Parabéns por completar o curso. Realmente, você deveria se dar tapinhas nas costas para aprender aprendizado de máquina. Não só colecionando palavras e fluff de marketing, mas sentando para aprender o código na matemática. Cobrimos tópicos amplos, como IA, para fundamentos específicos, como a caracterização. Estes são todos os conceitos que um entrevistador espera que você conheça, que um praticante de ML como você espera que todos os colegas conheçam. Note que este é apenas o começo de sua educação em ML, mas à medida que você começa a aprender mais, quero que você mantenha duas idéias chave em mente. Número 1, divida todos os problemas de ML em dados, modelo, objetivo e algoritmo. Compartmentalizar seu conhecimento nessas quatro categorias ajudará tremendamente. Quando alguém fala sobre uma nova solução legal de ML, suas perguntas sobre essa solução devem ser orientadas em torno dessas quatro categorias. Somente depois de marcar essas quatro caixas você entende o suficiente para reimplementar completamente essa solução de ML. Se um entrevistador perguntar sobre como resolver um problema de ML, mesma coisa, oriente sua resposta em torno dessas quatro categorias. Em segundo lugar, lembre-se do trade-off de viés variância. Um modelo sofisticado complexo faz para grande fluff de marketing. Mas ao ser mais inteligente sobre o design do seu modelo, você pode trabalhar com mais rapidez e eficiência. Qualquer coisa neural profunda é grande clickbait, mas nem sempre a solução certa. Para suas próximas etapas, eu recomendo primeiro, verificar a visão computacional 101 no meu perfil Skillshare para que você possa mergulhar profundamente em uma aplicação de aprendizado de máquina. Você construirá um Snapchat como filtro de cães e cobrirá os principais conceitos de visão computacional. Você também pode conferir meus cursos relacionados a dados, como SQL 101, e ciência de dados 101 para abranger análise e processamento de dados. Em segundo lugar, consulte o site do curso para ver slides, recursos e links. Você também encontrará artigos que agora você pode ler, entender e implementar. Em terceiro lugar, certifique-se de me acompanhar no Skillshare para mais cursos de ML no futuro. Como você sabe, há muitos tópicos emocionantes e com os fundamentos deste curso, você está pronto para aprender mais. Estou animado para mostrar mais ML a pessoas como você. Agora, a grande questão, posso começar a jogar com ML hoje? Sim, claro, você deve definitivamente começar a jogar com ML hoje para que você possa ver como evitar perder a aplicação ML de maneiras perigosas. Primeiro, a prática é fundamental. Mais experiência significa uma melhor compreensão dos riscos, modos de falha e caminhada está em ML. Em segundo lugar, eu também encorajaria você a continuar aprendendo sobre tópicos técnicos de ML para ampliar sua capacidade de quebrar e adicionar produtos em problemas de componentes de ML. Terceiro, examine cuidadosamente o mundo ao seu redor. Alguns problemas e aplicações são adequados para ML e outros não são. Por exemplo, a previsão do tempo é atualmente realizada por supercomputadores e grandes quantidades de equações diferenciais. Você pode aplicar ML, mas você deve estar preparado para entender por que os estatísticos antes de você ainda não tentou isso ou por que os meteorologistas populares não usam isso no momento. ML tem muitas aplicações, mas eu quero que você resolva problemas reais, não apenas aplique AI ML por causa disso. Espero que estejas a ver a IA sob uma nova luz. Você acabou de completar seu primeiro passo em sua carreira e educação na AI ML. Da próxima vez que você vir o produto AI tente identificar suas partes ML componentes. Da próxima vez que você vir um novo problema de ML, tente dividi-lo em dados, modelo, objetivo e algoritmo. É isso. Parabéns mais uma vez por chegar ao final do curso e até a próxima vez.