Aprendizado de máquina e redes neurais - página 15

 

Aula 9. Compreendendo Dados Experimentais



9. Compreendendo dados experimentais

Nesta palestra, o professor Eric Grimson discute o processo de compreensão de dados experimentais, desde a coleta de dados até o uso de modelos para fazer previsões. Ele usa o exemplo de uma mola para demonstrar a importância de medir a precisão ao prever relações lineares e explora diferentes métodos para medir a qualidade do ajuste. Grimson introduz o conceito de regressão linear e ajustes polinomiais, enfatizando que um alto valor de r quadrado não significa necessariamente que um polinômio de ordem superior é a melhor escolha. Grimson usa código para otimizar em um espaço de 16 dimensões, deixando a escolha de usar ou não esse ajuste polinomial para a próxima palestra.

  • 00:00:00 Nesta seção da palestra, o professor Eric Grimson discute a importância de entender os dados experimentais no mundo de hoje com uso intensivo de dados. Ele enfatiza que, seja você um cientista, um engenheiro, um cientista social ou qualquer outra profissão que lide com dados, você precisa de um software que possa manipular dados para extrair informações úteis. Ele também fala sobre o processo de conduzir um experimento, obter dados e usar modelos para fazer previsões sobre os dados. Usando o exemplo de uma mola, ele explica como coletar dados sobre ela, modelá-la e escrever um software que possa ajudar a analisar os dados.

  • 00:05:00 Nesta seção, o conceito da lei de elasticidade de Hooke é introduzido. A lei afirma que a força necessária para comprimir ou esticar uma mola está linearmente correlacionada com a distância em que ela é comprimida ou esticada. O sinal negativo denota que a força é exercida na direção oposta da compressão ou alongamento. A lei de Hooke vale para uma ampla gama de molas, mas tem um limite de quanto uma mola pode ser esticada antes que a lei seja quebrada. O exemplo é dado para calcular a força necessária para comprimir uma mola em um centímetro usando a lei de Hooke e a constante da mola.

  • 00:10:00 Nesta seção, o palestrante explica o processo de determinação da constante elástica por meio de medições de diferentes massas em uma mola. Idealmente, uma única medição seria suficiente, mas como as massas podem não ser confiáveis e as molas podem conter materiais imperfeitos, várias tentativas são necessárias para produzir um conjunto de medições com uma relação linear que pode ser plotada para extrair a constante da mola. O palestrante demonstra o uso de uma função de matriz para dimensionar todos os valores uniformemente antes de representar graficamente os pontos de dados. A relação linear ideal permitiria aos pesquisadores calibrar microscópios de força atômica e medir a força em estruturas biológicas.

  • 00:15:00 Nesta seção, o palestrante discute como ajustar uma linha aos dados experimentais e medir a distância entre a linha e os pontos medidos. Eles explicam que uma função objetivo é necessária para determinar o quão bom é o ajuste da linha, o que é feito encontrando a linha que minimiza a função objetivo. O locutor também considera várias maneiras de medir a distância, como o deslocamento ao longo do eixo x, o deslocamento vertical ou a distância até o ponto mais próximo da linha. Em última análise, eles escolhem o deslocamento vertical, pois mede o valor dependente que está sendo previsto, dado um novo valor independente.

  • 00:20:00 Nesta seção, Eric Grimson explica como medir a precisão de uma linha prevista usando o método dos mínimos quadrados. O método envolve encontrar a diferença entre os valores de y previstos e observados, elevando-os ao quadrado para eliminar o sinal e, em seguida, somando essas diferenças ao quadrado para todos os valores observados. Essa soma fornece uma medida de como a linha se ajusta aos valores observados. Ao minimizar a diferença da soma dos quadrados, pode-se encontrar a linha de melhor ajuste. Além disso, Grimson discute como encontrar a curva de melhor ajuste assumindo que o modelo da curva prevista é um polinômio e usando a técnica de regressão linear para encontrar o polinômio de grau um ou grau dois que melhor se ajusta aos dados.

  • 00:25:00 Nesta seção, o conceito de regressão linear é introduzido como o método para encontrar o ponto mais baixo em uma superfície que pode ser representada por todas as linhas possíveis em um espaço bidimensional. A regressão linear é usada para encontrar a melhor linha de ajuste começando em algum ponto e descendo ao longo do gradiente por alguma distância, medindo o novo gradiente e repetindo até que o ponto mais baixo seja alcançado. O algoritmo para fazer isso é muito semelhante ao método de Newton. A seção também aborda como usar o polyFit, uma função interna do PyLab, para encontrar os coeficientes de um polinômio com um determinado grau que fornece o melhor ajuste de mínimos quadrados.

  • 00:30:00 Nesta seção, o apresentador demonstra como usar o Python para ajustar uma linha aos dados e como alterar a ordem do polinômio que está sendo usado. Eles explicam que quanto maior a ordem do polinômio usado, mais próximo o ajuste estará dos dados. O apresentador fornece um exemplo visual de um conjunto de dados em que ajustar uma linha não funciona e ajustar uma linha quadrática é um ajuste melhor. Eles também explicam como usar a função polyval para ajustar qualquer polinômio de ordem e retornar uma matriz de valores previstos, demonstrando a natureza abstrata do código.

  • 00:35:00 Nesta seção, o palestrante discute como medir a qualidade do ajuste dos dados experimentais. Para comparar modelos diferentes, ele sugere medir o erro médio quadrado, pois essa abordagem é útil para comparar dois modelos. No entanto, esse método tem um problema porque não fornece uma maneira definitiva de saber se um ajuste é realmente melhor do que outro. Para resolver esse problema, o palestrante recomenda o uso do coeficiente de determinação (r-quadrado), que é independente da escala e pode dizer o quão perto um ajuste está de ser perfeito. Ele fornece uma fórmula para calcular o r quadrado que envolve medir a diferença entre os valores observados e previstos e o erro médio.

  • 00:40:00 Nesta seção, o palestrante explica como calcular a variância e o valor de r ao quadrado para avaliar a precisão de um modelo. A variância pode ser obtida dividindo a soma dos erros quadrados pelo número de amostras. O valor de r quadrado indica quanto da variabilidade nos dados é contabilizada pelo modelo e varia entre zero e um. Um r quadrado de um significa que o modelo explica toda a variabilidade, enquanto um r quadrado de zero significa que não há relação entre o modelo e os dados. O palestrante então apresenta duas funções, genFits e testFits, que geram e testam modelos com diferentes graus de complexidade e retornam os valores de r-quadrado correspondentes. Essas funções podem ajudar a determinar o melhor ajuste para um conjunto de dados.

  • 00:45:00 Nesta seção, o instrutor executa o código com ajustes polinomiais quadráticos, quárticos, de 8ª ordem e 16ª ordem para determinar o melhor ajuste para os dados. Eles explicam que usar o tipo de código PyLab permite otimizar um espaço de 16 dimensões e usar regressão linear para encontrar a melhor solução. Embora o polinômio de 16ª ordem faça um excelente trabalho e tenha um valor de r ao quadrado de quase 97%, o instrutor adverte que um valor alto de r ao quadrado não significa necessariamente que usar um polinômio de 16ª ordem seja a melhor escolha. Eles deixam a decisão de usar ou não para a próxima palestra.
 

Aula 10. Compreendendo Dados Experimentais (continuar)



10. Compreendendo dados experimentais (continuar)

Nesta seção do vídeo, o apresentador enfatiza a importância de encontrar o modelo certo para ajustar os dados experimentais, evitando também o overfitting. Vários métodos são discutidos, como o uso de validação cruzada para determinar o equilíbrio certo entre a complexidade do modelo e a eficácia na previsão de novos dados. O palestrante fornece exemplos de modelos de ajuste de diferentes ordens para dados experimentais e demonstra os efeitos do overfitting adicionando ruído aos conjuntos de dados. O valor de R-quadrado também é introduzido como uma ferramenta para determinar o quão bem um modelo se ajusta aos dados. No geral, destaca-se a importância de equilibrar a complexidade do modelo e a eficácia na previsão de novos dados.

  • 00:00:00 Nesta seção, o instrutor lembra aos alunos que eles discutiram anteriormente o conceito de ajustar modelos a dados experimentais para entender os dados. O objetivo é ter um modelo que explique os fenômenos subjacentes aos dados e possa fazer previsões sobre o comportamento em novos cenários. No entanto, como os dados são sempre ruidosos, é necessário levar em conta a incerteza experimental ao ajustar o modelo. O instrutor recapitula o uso de expressões polinomiais, especificamente regressão linear, para encontrar coeficientes que minimizam as diferenças entre dados observados e previstos.

  • 00:05:00 Nesta seção, o conceito de regressão linear é explorado em detalhes. A ideia por trás da regressão linear é representar todas as linhas possíveis em um espaço que tem um acesso com valores a e outro acesso com valores B, onde o valor ou a altura da superfície é o valor daquela função objetivo em cada ponto. A ideia é começar em algum ponto dessa superfície e descer a ladeira até chegar ao fundo, onde sempre haverá um ponto inferior um, e uma vez atingido esse ponto, o valor de a e B dará a melhor linha. A seção termina com uma discussão sobre a determinação do coeficiente R ao quadrado, que é um valor independente de escala entre 0 e 1 que mede o quão bem um modelo se ajusta aos dados.

  • 00:10:00 Nesta seção, o palestrante discute a importância do valor de R-quadrado no ajuste de modelos a dados experimentais. O valor R-quadrado indica quão bem o modelo ajusta os dados, com um valor de 1 indicando um ajuste perfeito e um valor próximo de 0 indicando um ajuste ruim. Embora um modelo de ordem superior possa ajustar melhor os dados, não é necessariamente o melhor modelo a ser usado para explicar os fenômenos ou fazer previsões. O palestrante também explica como gerou os dados para seu exemplo usando uma função parabólica com ruído adicionado.

  • 00:15:00 resumo. Nesta seção, o palestrante discute como testar a eficácia de um modelo usando validação ou validação cruzada. Eles geram dados de um arco parabólico com ruído adicionado e ajustam modelos para graus 2, 4, 8 e 16 usando dois conjuntos de dados diferentes. O melhor modelo de ajuste ainda é de ordem 16, mas o enigma é por que um polinômio de 16ª ordem é o melhor ajuste quando os dados foram gerados a partir de um polinômio de grau 2. O palestrante explica que um pequeno erro de treinamento é necessário, mas não suficiente para um ótimo modelo e que a validação ou validação cruzada é necessária para ver o desempenho do modelo em diferentes dados gerados pelo mesmo processo.

  • 00:20:00 Nesta seção, o palestrante discute o uso de dados experimentais e como ajustar um modelo a eles. Eles também exploram a importância de testar modelos em diferentes conjuntos de dados, bem como o potencial de superajuste ao usar muitos graus de liberdade em um modelo. Por meio de seu exemplo, eles mostram que modelos de baixa ordem (por exemplo, ordem 2 ou 4) podem realmente ser mais eficazes para prever o comportamento do que modelos de alta ordem (por exemplo, ordem 16) e que é importante testar modelos em vários conjuntos de dados para garantir que eles não são muito complexos.

  • 00:25:00 Nesta seção, o palestrante adverte sobre os perigos do overfitting aos dados, onde um modelo é projetado para ajustar dados de treinamento tão perfeitamente que não pode ajustar novos conjuntos de dados. Ele explica como usar a validação para detectar o overfitting e por que ordens mais altas de variáveis de entrada são desnecessárias em alguns casos. Ele demonstra um exemplo de ajuste de um modelo quadrático a uma linha e mostra que o sistema diz não ao coeficiente de termo mais alto porque começará a ajustar o ruído, levando a um ajuste menos eficaz. O exemplo do locutor ajusta uma quadrática a uma linha e mostra como o modelo funciona perfeitamente até que seja adicionado um ponto que leve o sistema a ajustar o ruído perfeitamente, prevendo assim novos valores de forma eficaz.

  • 00:30:00 Nesta seção, o palestrante apresenta o conceito de overfitting e demonstra seus efeitos adicionando uma pequena quantidade de ruído a um conjunto de dados e ajustando um modelo quadrático e um modelo de primeiro grau. É mostrado que o modelo quadrático não funciona bem com o ruído adicionado, enquanto o modelo de primeiro grau é mais resiliente a ele. O palestrante enfatiza que encontrar o equilíbrio certo entre um modelo excessivamente complexo e um modelo insuficientemente complexo é crucial para prever os resultados com precisão. A seção termina com um método sugerido para encontrar o modelo certo.

  • 00:35:00 Nesta seção, o vídeo discute como determinar o melhor modelo para um determinado conjunto de dados, principalmente nos casos em que não há uma teoria para orientar a escolha. Uma abordagem é aumentar a ordem do modelo até que ele faça um bom trabalho na previsão de novos dados, mas não sobreajuste os dados de treinamento originais. Como exemplo, o vídeo mostra como a lei de Hooke se aplica ao alongamento de uma mola e mostra que diferentes modelos lineares são necessários para diferentes segmentos dos dados, destacando a importância de segmentar os dados adequadamente. A validação cruzada, incluindo a validação de deixar um de fora e a validação K-fold, também pode ajudar a orientar a escolha da complexidade do modelo ao lidar com conjuntos de dados maiores.

  • 00:40:00 Nesta seção, o palestrante explica como usar a validação cruzada para determinar o melhor modelo para prever a temperatura máxima diária média nos EUA durante um período de 55 anos. Eles usam amostragem aleatória repetida para selecionar amostras aleatórias do conjunto de dados, treinar um modelo no conjunto de treinamento e testá-lo no conjunto de teste. Eles também calculam médias anuais para a alta temperatura para plotá-la e criam modelos com dimensões lineares, quadráticas, cúbicas e quárticas, onde treinam em uma metade dos dados, testam na outra metade e registram o coeficiente de determinação para obter uma média. Eles relatam os valores médios para cada dimensionalidade.

  • 00:45:00 Nesta seção, o apresentador demonstra como dividir aleatoriamente o conjunto de dados em conjuntos de treinamento e teste usando um método de amostragem de pontos aleatórios. Em seguida, ele percorre um loop em que configura diferentes conjuntos de treinamento e teste e, em seguida, ajusta cada dimensão usando um ajuste polinomial. O modelo pode então ser usado para prever os valores do conjunto de teste e compará-los com os valores reais, calculando o valor R-quadrado e adicionando-o. Ele conclui que é necessário executar várias tentativas para obter estatísticas sobre essas tentativas, bem como estatísticas dentro cada tentativa. Isso permite que eles selecionem o modelo mais simples possível que considere os dados.

  • 00:50:00 Nesta seção, o palestrante discute a complexidade dos modelos que podem efetivamente prever novos dados com base em dados experimentais. Essa complexidade pode vir da teoria ou da validação cruzada para determinar o modelo mais simples que ainda faz um bom trabalho de prever o comportamento dos dados.
 

Aula 11. Introdução ao Machine Learning



11. Introdução ao Machine Learning

O vídeo discute o conceito de aprendizado de máquina, como ele funciona e duas formas comuns de fazê-lo: aprendizado supervisionado e não supervisionado. Em seguida, mostra um exemplo de aprendizado supervisionado treinando uma máquina para prever a posição de novos jogadores de futebol com base em sua altura e peso.

  • 00:00:00 Este resumo de 1 parágrafo destina-se a fornecer uma visão geral do vídeo Machine Learning. Ele começa apresentando a ideia de aprendizado de máquina e suas várias aplicações, antes de discutir os dois principais métodos de aprendizado de máquina: classificação e agrupamento. O vídeo passa a apresentar os fundamentos da regressão linear, antes de discutir o tópico de aprendizado de máquina com mais detalhes. A última seção do vídeo se concentra em apresentar os conceitos de aprendizado de máquina aos alunos de maneira mais concisa.

  • 00:05:00 O aprendizado de máquina é o processo de aprendizado de um computador sem ser explicitamente programado. Nesta palestra, discutimos alguns dos diferentes tipos de algoritmos de aprendizado de máquina e como eles funcionam. Também destacamos alguns exemplos de onde o aprendizado de máquina está sendo usado atualmente.

  • 00:10:00 Este vídeo discute a ideia de aprendizado de máquina, como ele funciona e duas formas comuns de fazê-lo: aprendizado supervisionado e não supervisionado. Em seguida, mostra um exemplo de aprendizado supervisionado treinando uma máquina para prever a posição de novos jogadores de futebol com base em sua altura e peso.

  • 00:15:00 Neste vídeo, é demonstrado um algoritmo de aprendizado de máquina que pode ser usado para criar clusters de dados com base na distância. O algoritmo funciona escolhendo dois exemplos como exemplares, agrupando todos os outros exemplos simplesmente dizendo para colocá-lo no grupo ao qual está mais próximo desse exemplo e, em seguida, encontrando o elemento mediano desse grupo.

  • 00:20:00 O aprendizado de máquina é um processo de aprender a identificar padrões nos dados. O processo começa treinando um modelo de aprendizado de máquina em dados rotulados e, em seguida, usando esse modelo para identificar padrões em dados não rotulados. Existem duas maneiras principais de fazer isso: usando dados rotulados e usando dados não rotulados. No primeiro caso, o modelo de aprendizado de máquina é capaz de identificar padrões nos dados que correspondem aos rótulos que foram atribuídos a ele. No segundo caso, o modelo de aprendizado de máquina é capaz de identificar padrões nos dados que correspondem a recursos selecionados pelo usuário.

  • 00:25:00 Este vídeo discute o conceito de engenharia de recursos, que é o processo de determinar quais recursos medir e como ponderá-los para criar um modelo o mais preciso possível. O exemplo usado é o de rotular répteis e, embora seja fácil rotular um único exemplo, torna-se mais difícil à medida que o número de exemplos aumenta. O vídeo passa a discutir o conceito de seleção de recursos, que é o processo de escolher quais recursos manter e quais descartar para criar um modelo o mais preciso possível. O vídeo termina com um exemplo de rotulagem de galinhas, que não se encaixa no modelo para répteis, mas se encaixa no modelo para galinhas.

  • 00:30:00 O vídeo fornece uma introdução ao aprendizado de máquina e seus princípios. Aborda a importância de projetar um sistema que nunca rotula falsamente nenhum dado como sendo algo que não é, usando o exemplo de um jogo em que dois jogadores estão tentando determinar a diferença entre si. Ele apresenta a métrica de Minkowski, que é uma forma de medir a distância entre vetores.

  • 00:35:00 Este vídeo apresenta a distância euclidiana, uma medida de distância padrão no plano, e a distância de Manhattan, uma métrica usada para comparar distâncias entre objetos com características diferentes. A distância euclidiana é baseada na raiz quadrada de dois, enquanto a distância de Manhattan é baseada na distância entre pontos em uma grade. Em alguns casos, como ao comparar o número de pernas de diferentes criaturas, a diferença de características entre os objetos pode ser mais importante do que a distância entre os próprios objetos. A engenharia de recursos — escolher quais recursos medir e como ponderá-los — é importante no aprendizado de máquina.

  • 00:40:00 Este vídeo aborda a importância das escalas e como elas podem afetar o funcionamento de um algoritmo de aprendizado de máquina. Ele discute como os pesos podem ser usados de diferentes maneiras e como medir a distância entre os exemplos. Ele também discute como agrupar dados usando vários métodos e como escolher o número certo de clusters.

  • 00:45:00 Este vídeo apresenta o conceito de aprendizado de máquina e demonstra como ajustar uma curva aos dados para separar dois grupos. Ele também fornece um exemplo de como avaliar um modelo de aprendizado de máquina.

  • 00:50:00 Este vídeo discute a troca entre sensibilidade (quantas coisas foram rotuladas corretamente) e especificidade (com que precisão os rótulos identificaram os itens desejados). O professor Guttag demonstra uma técnica chamada ROC (Receiver Operator Curves), que ajuda a tornar essa troca mais fácil de entender.
 

Aula 12. Agrupamento




12. Agrupamento

Este vídeo analisa o conceito de agrupamento de pontos de dados em grupos. Ele explica como executar clustering usando o algoritmo k-means e como otimizar o algoritmo para velocidade. Ele também discute como usar clustering para diagnosticar problemas com dados.

  • 00:00:00 O objetivo deste vídeo é revisar os conceitos de variabilidade e agrupamento. O vídeo explica que a variabilidade é a soma da distância entre a média de um cluster e cada exemplo no cluster, e que o clustering é o problema de otimização de agrupar um conjunto de exemplos em um único cluster.

  • 00:05:00 Agrupamento hierárquico é um método para agrupar itens em um conjunto de dados. O algoritmo começa atribuindo cada item ao seu próprio cluster e, em seguida, encontra os dois clusters mais semelhantes. Se houver menos de cinco clusters restantes, o algoritmo mesclará os dois clusters mais próximos em um único cluster.

  • 00:10:00 O vídeo discute diferentes métricas de agrupamento e explica como cada uma afeta os resultados finais do agrupamento. Por exemplo, a ligação simples é usada para unir cidades que estão mais próximas umas das outras, enquanto a ligação completa é usada para unir cidades que estão mais distantes umas das outras.

  • 00:15:00 O vídeo explica como funciona o clustering, e o algoritmo mais usado é o k-means. É rápido e eficiente, mas pode ser otimizado para torná-lo ainda mais rápido.

  • 00:20:00 Neste vídeo, o autor explica como agrupar objetos selecionando aleatoriamente K centróides e atribuindo pontos a esses centróides. O autor também discute a possível desvantagem de escolher K incorretamente. Finalmente, o autor recomenda o uso de um bom algoritmo k-means para encontrar o melhor K.

  • 00:25:00 Neste vídeo, o autor mostra como realizar agrupamento hierárquico e k-means em um subconjunto de dados. Ele também discute os pontos fracos do algoritmo e como corrigi-los.

  • 00:30:00 Este vídeo explica como agrupar dados usando o algoritmo k-means. Os dados são divididos em clusters e os centróides de cada cluster são calculados.

  • 00:35:00 Nesta palestra, o professor explica como agrupar dados usando escala e variância. Ele mostra como dimensionar um vetor de recursos e como calcular a média e o desvio padrão dos dados dimensionados.

  • 00:40:00 Este vídeo explica como agrupar dados usando diferentes métodos, incluindo escala Z, interpolação e k-means. Os resultados mostram que os dados não estão bem agrupados e que não há diferença estatisticamente significativa entre os dois agrupamentos.

  • 00:45:00 O vídeo discute como o agrupamento pode ser usado para diagnosticar problemas com dados. Em particular, demonstra como o agrupamento pode ser usado para encontrar grupos de pacientes com características semelhantes, como aqueles com probabilidade de serem positivos. O vídeo mostra como o clustering pode ser usado para encontrar diferentes valores de K, o que aumenta o número de clusters encontrados.

  • 00:50:00 Neste vídeo, cientistas de dados discutem clustering. Eles explicam que agrupamento é o processo de agrupar dados em grupos semelhantes. Eles discutem como diferentes parâmetros podem ser usados para criar diferentes clusters e como o cientista de dados deve pensar sobre os dados para criar os melhores clusters.
 

Aula 13. Classificação



13. Classificação

Este vídeo aborda vários métodos de classificação, incluindo vizinho mais próximo, K-vizinhos mais próximos (KNN) e regressão logística. O apresentador demonstra o KNN usando exemplos de classificação de animais e reconhecimento de caligrafia e explica como ele evita dados ruidosos para fornecer resultados mais confiáveis. Eles apresentam o conjunto de dados do Titanic e explicam a importância de encontrar o equilíbrio certo ao usar métricas como sensibilidade e especificidade para avaliar o desempenho de um modelo de classificação. Além disso, o vídeo discute dois métodos de teste, deixar um de fora e subamostragem aleatória repetida, e como aplicá-los à classificação KNN. Por fim, o apresentador explica por que a regressão logística é preferível à regressão linear para problemas de classificação, destacando sua capacidade de atribuir diferentes pesos a diferentes variáveis e fornecer insights sobre variáveis por meio de pesos de recursos.

  • 00:00:00 Nesta seção, o instrutor começa apresentando o conceito de classificação no aprendizado supervisionado, que é o ato de prever um valor discreto, muitas vezes chamado de "rótulo", associado a um vetor de recursos. Isso pode incluir prever se alguém terá uma reação adversa a um medicamento ou sua nota em um curso. O instrutor então fornece um exemplo usando uma matriz de distância e representação binária de animais para classificá-los como répteis ou não. A abordagem mais simples para classificação, conhecida como vizinho mais próximo, envolve lembrar os dados de treinamento e selecionar o rótulo associado ao exemplo mais próximo ao prever o rótulo de um novo exemplo.

  • 00:05:00 Nesta seção, o apresentador explica o método de classificação dos K vizinhos mais próximos (KNN), que evita dados com ruído e é mais confiável do que apenas o método do vizinho mais próximo. Ele demonstra KNN usando exemplos como classificação de animais e reconhecimento de escrita. O método KNN leva o “voto” de vários vizinhos mais próximos, geralmente um número ímpar, em vez de apenas o mais próximo, e isso reduz a influência de outliers. O apresentador conclui que, embora não seja infalível, o KNN é um método de classificação tipicamente mais confiável para dados com ruído.

  • 00:10:00 Nesta seção, o vídeo discute o algoritmo K-vizinhos mais próximos e algumas de suas limitações. Embora K-vizinhos mais próximos seja eficiente e fácil de entender, ele requer o armazenamento de todos os exemplos de treinamento, o que pode consumir muita memória, e a previsão de classificações pode levar muito tempo devido à necessidade de comparar exemplos. Além disso, se K for muito grande, o algoritmo pode ser dominado pelo tamanho da classe, levando a erros de classificação. O vídeo sugere o uso de validação cruzada para escolher o melhor valor para K e explica que é importante escolher K de forma que haja um vencedor claro no processo de votação.

  • 00:15:00 Nesta seção, o apresentador apresenta um novo exemplo de classificação - prever quais passageiros sobreviveriam ao desastre do Titanic usando aprendizado de máquina. O conjunto de dados inclui informações sobre a classe dos passageiros, idade, sexo e se eles sobreviveram ou não. Para avaliar o modelo de aprendizado de máquina, o apresentador explica por que a precisão por si só não é uma boa métrica quando há um desequilíbrio de classe e apresenta outras métricas, como sensibilidade, especificidade, valor preditivo positivo e valor preditivo negativo. Ele também explica a importância de escolher o equilíbrio certo e como essas medidas fornecem percepções diferentes.

  • 00:20:00 Nesta seção, o palestrante discute a importância da sensibilidade e especificidade em classificadores e como testar um classificador. Sensibilidade e especificidade precisam ser equilibradas dependendo da aplicação do classificador. Por exemplo, um teste de câncer exigiria mais sensibilidade, enquanto um teste para cirurgia de coração aberto exigiria mais especificidade. O palestrante então explica dois métodos para testar um classificador: deixar um de fora (usado para conjuntos de dados menores) e subamostragem aleatória repetida (usada para conjuntos de dados maiores). O último envolve a divisão aleatória dos dados em conjuntos para treinamento e teste, e um parâmetro chamado método de aprendizado de máquina é introduzido para comparar diferentes métodos, como kN e regressão logística. O código desses testes é mostrado e o palestrante enfatiza a importância de testar um classificador para validar seu desempenho.

  • 00:25:00 Nesta seção, o instrutor discute dois métodos de teste, deixa um de fora e amostragem aleatória repetida e mostra como aplicá-los à classificação KNN. O instrutor também explica como usar a abstração lambda, um truque de programação comum em matemática, para transformar uma função de quatro argumentos em uma função de dois argumentos. Os resultados da classificação KNN usando ambos os métodos de teste são mostrados e não são significativamente diferentes, indicando que a precisão dos critérios de avaliação é consistente. A classificação KNN também teve um desempenho melhor do que a previsão aleatória.

  • 00:30:00 Nesta seção, o palestrante discute a regressão logística, que é um método comum usado no aprendizado de máquina. Ao contrário da regressão linear, projetada para prever um número real, a regressão logística prevê a probabilidade de um determinado evento. Esse método encontra pesos para cada recurso, calcula para cada recurso um peso que é usado para fazer previsões e usa um processo de otimização para calcular esses pesos a partir dos dados de treinamento. A regressão logística usa a função log, daí seu nome, e o modelo linear de aprendizagem SK é uma biblioteca Python usada para implementá-la.

  • 00:35:00 Nesta seção, o palestrante explica como construir um modelo de regressão logística usando dados de treinamento e testá-lo usando um conjunto de vetores de características. O modelo de regressão logística é criado usando a biblioteca SKLearn e, uma vez calculados os pesos das variáveis, o modelo pode ser usado para prever as probabilidades de diferentes rótulos com base em um determinado vetor de recursos. O palestrante também apresenta a compreensão de lista, uma maneira versátil e eficiente de criar novas listas a partir das existentes, o que pode ser especialmente útil ao criar conjuntos de vetores de recursos de teste.

  • 00:40:00 Nesta seção, o palestrante discute a compreensão de lista em Python e sua conveniência para determinadas tarefas, mas adverte contra seu uso indevido. Seguindo em frente, o palestrante explica o processo de aplicação da regressão logística como modelo e como eles o constroem e testam usando os dados de treinamento e teste. Eles então definem LR, ou regressão logística, e mostram como o modelo pode ser aplicado com os rótulos "sobreviveu" e "não sobreviveu". O palestrante observa que a regressão logística é mais rápida que a KNN, pois uma vez obtidos os pesos, a avaliação do modelo é um processo rápido.

  • 00:45:00 Nesta seção, o instrutor explica por que a regressão logística é preferível à regressão linear para problemas de classificação. Em primeiro lugar, a regressão logística é considerada mais sutil e pode atribuir diferentes pesos a diferentes variáveis para melhor desempenho. Em segundo lugar, fornece informações sobre variáveis por meio de pesos de recursos que podem ser impressos como saída. Olhando para os pesos, pode-se entender as variáveis usadas para classificação. Por exemplo, no modelo apresentado, os passageiros da cabine de primeira classe tiveram um efeito positivo na sobrevivência, enquanto a idade e ser do sexo masculino tiveram efeitos negativos. O instrutor também aconselha cautela ao interpretar pesos de recursos, pois as variáveis podem estar correlacionadas.
 

Aula 14. Classificação e pecados estatísticos



14. Classificação e pecados estatísticos

Este vídeo do YouTube discute várias classificações e erros estatísticos que podem levar a conclusões incorretas. Uma conclusão importante é a importância de entender os insights que podem ser obtidos com o estudo de modelos de aprendizado de máquina, pois interpretar os pesos das variáveis na regressão logística pode ser enganoso, especialmente quando os recursos estão correlacionados. O vídeo também enfatiza a importância de avaliar o desempenho dos classificadores usando a curva de área sob a característica de operação do receptor (AUROC) e evitar a tentação de usar números de forma incorreta. Além disso, destaca-se a importância de escrutinar os dados e evitar amostragem não representativa, pois podem levar a erros estatísticos como Garbage In, Garbage Out (GIGO) e viés de sobrevivência.

  • 00:00:00 Nesta seção do vídeo, o instrutor discute a importância de estudar modelos de aprendizado de máquina para obter insights sobre os sistemas e processos que geraram os dados. Ele demonstra isso examinando os pesos de diferentes variáveis em um modelo de regressão logística, que foi usado para prever as taxas de sobrevivência para o conjunto de dados do Titanic. Observando os pesos relativos de diferentes variáveis, o instrutor conclui que ser passageiro do sexo masculino na terceira classe estava associado a uma probabilidade muito maior de não sobreviver ao naufrágio. Ele adverte contra confiar apenas em modelos de aprendizado de máquina para fazer previsões sem entender os insights que podem ser obtidos ao estudá-los.

  • 00:05:00 Nesta seção, o palestrante explica os problemas com a interpretação de pesos na regressão logística, principalmente quando as características são correlacionadas. Existem duas maneiras de usar a regressão logística, L1 e L2, sendo L2 o padrão em Python. O L1 foi projetado para encontrar pesos e levá-los a zero, tornando-o útil para evitar o overfitting em problemas de alta dimensão. No entanto, L1 levará uma variável a zero, mesmo que seja importante, mas correlacionada com outra variável que tenha mais peso. Por outro lado, L2 distribui o peso por todas as variáveis, fazendo com que nenhuma delas pareça muito importante, principalmente quando estão correlacionadas. Para ilustrar isso, o palestrante deu um exemplo das classes de cabine do Titanic e discutiu como a eliminação de uma variável poderia alterar a interpretação dos resultados.

  • 00:10:00 Nesta seção, o vídeo explora a questão da superinterpretação dos pesos ao lidar com recursos correlacionados. Ao analisar alguns exemplos, o vídeo enfatiza que interpretar o sinal dos pesos pode ser útil, enquanto a interpretação dos próprios pesos pode ser enganosa. O vídeo aborda o parâmetro P da regressão logística e explica como diferentes valores de P podem afetar a precisão e a sensibilidade das previsões. O vídeo conclui destacando que mesmo que a precisão pareça boa, pode haver problemas com a sensibilidade, indicando a necessidade de analisar os resultados de forma abrangente antes de tirar conclusões significativas.

  • 00:15:00 Nesta seção, o palestrante fala sobre a característica de operação do receptor (ROC) e como é uma curva que nos permite olhar para todos os cortes possíveis de um modelo para ver a forma dos resultados, onde o eixo y apresenta sensibilidade e o eixo x mostra 1 menos especificidade. Eles mencionam a importância da área sob a curva (AUC) e como ela ajuda a entender melhor o desempenho de um modelo. O palestrante adverte para evitar os cantos da curva que são altamente sensíveis/inespecíficos ou muito específicos/insensíveis ao escolher um corte para um modelo, para evitar que o modelo tome decisões ruins e erros desnecessários.

  • 00:20:00 Nesta seção, o palestrante discute o conceito de avaliação de desempenho de classificadores usando a área sob a curva de operação do receptor (AUROC). Eles explicam como a curva mostra a eficácia do classificador em relação a um classificador aleatório e que quanto mais próxima a curva estiver de um, melhor será o desempenho do classificador. O palestrante também observa que determinar a significância estatística da pontuação AUROC pode ser um desafio e depende de vários fatores, incluindo o número de pontos de dados e o aplicativo em questão. Em última análise, a utilidade da pontuação AUROC é o que importa e deve ajudar na tomada de decisões práticas.

  • 00:25:00 Nesta seção, o palestrante discute o conceito da curva Area Under the Receiver Operating Characteristic (AUROC) e explica como ela é comumente usada em comparação com a especificidade. Eles explicam que o truque de calcular a área sob a curva é auxiliado pelo uso da curva côncava que eles obtêm da medição da especificidade, e isso ajuda a tornar as estatísticas fáceis de visualizar e comparar. No entanto, eles advertem que esta ferramenta pode ser usada para fins enganosos, e os estatísticos devem entender como evitar a tentação de usar números de forma incorreta. Eles enfatizam que os números em si não mentem, mas os mentirosos usam números para criar falsas impressões. O palestrante oferece um conjunto de pares XY onde eles explicam que, embora estatisticamente os pares pareçam iguais, eles podem ser muito diferentes quando representados graficamente.

  • 00:30:00 Nesta seção, o palestrante discute a importância de não confundir estatísticas com dados reais e destaca o valor de visualizar dados por meio de plotagens e gráficos. No entanto, ele também adverte que imagens enganosas podem ser criadas intencionalmente ou não e enfatiza a necessidade de examinar os rótulos e entender o contexto de um gráfico antes de tirar conclusões. O palestrante apresenta dois exemplos de gráficos visualmente enganosos, um envolvendo uma comparação de notas por gênero e o outro uma comparação do número de pessoas com assistência social e empregos de tempo integral.

  • 00:35:00 Nesta seção, o palestrante discute o pecado estatístico comum de Garbage In, Garbage Out (GIGO). Eles fornecem um exemplo da década de 1840 em que os dados do censo foram usados para afirmar que a escravidão era boa para os escravos, afirmando que os escravos libertos tinham maior probabilidade de serem loucos do que os escravos escravizados. John Quincy Adams expôs os erros nesta afirmação e argumentou que foram feitas deturpações atrozes. O palestrante enfatiza que a precisão dos dados é crucial e, mesmo que haja erros, eles devem ser imparciais, independentes e distribuídos de forma idêntica para evitar lixo dentro, lixo fora.

  • 00:40:00 Nesta seção, o palestrante adverte contra a análise de dados ruins que podem ser piores do que nenhuma análise. Muitas vezes as pessoas fazem análises estatísticas incorretas com dados incorretos, levando a conclusões arriscadas. O palestrante dá o exemplo da análise falha dos dados do censo do século XIX pelos abolicionistas. A análise de erros não aleatórios nos dados levou a conclusões que não eram precisas. O palestrante então cita como o viés do sobrevivente fez com que os aliados concluíssem a coisa errada sobre seus aviões durante a Segunda Guerra Mundial. Eles analisaram os aviões que retornaram de bombardeios e pontos reforçados que sofreram buracos de balas de flak, em vez de aviões que foram abatidos. O palestrante explica que as técnicas estatísticas são baseadas na suposição de que, por amostragem aleatória de um subconjunto da população, podem ser feitas declarações matemáticas sobre toda a população. Quando a amostragem aleatória é usada, conclusões significativas podem ser feitas.

  • 00:45:00 Nesta seção, o palestrante discute a amostragem não representativa, também conhecida como amostragem por conveniência, e seu impacto na análise estatística. Ele explica como as amostras de conveniência geralmente não são aleatórias e, portanto, sofrem de viés de sobrevivência, que pode distorcer os resultados de pesquisas de opinião e avaliações de cursos, entre outras coisas. Além disso, ele observa como o cálculo do erro padrão, que assume amostras aleatórias e independentes, não pode tirar conclusões confiáveis de amostras de conveniência, citando pesquisas políticas como um exemplo da falta de confiabilidade da análise estatística. A principal conclusão é a importância de entender como os dados foram coletados e analisados e se as suposições subjacentes à análise são verdadeiras, para evitar ser vítima de pecados estatísticos.
 

MIT 6.0002 Introdução ao pensamento computacional e ciência de dados, outono de 2016. Aula 15. Pecados estatísticos e conclusão



15. Pecados estatísticos e conclusão

Neste vídeo, John Guttag discute os três principais tipos de pecados estatísticos e fornece um exemplo de como cada um pode levar a conclusões falsas. Ele insta os alunos a estarem cientes do tipo de dados que estão olhando e a usar um intervalo apropriado para garantir que suas conclusões sejam precisas.

  • 00:00:00 John Guttag discute os três principais tipos de pecados estatísticos: cometer os pecados do eixo y de começar em 0, truncar os dados para torná-los corretos e confundir flutuações com tendências. Ele também dá um exemplo de um tema menos polêmico, febre e gripe, onde fica claro que a temperatura não muda quando se pega gripe. Guttag incentiva os alunos a estarem cientes do tipo de dados que estão olhando e a usar um intervalo apropriado para garantir que suas conclusões sejam precisas.

  • 00:05:00 Neste vídeo, o estatístico e professor discute os perigos de escolher dados a dedo, que podem levar a conclusões falsas. Ele sugere que, para tirar conclusões sólidas, os cientistas devem analisar os dados durante um período de tempo apropriado.

  • 00:10:00 O palestrante ressalta que os números por si só nem sempre significam muito, e que o contexto é importante ao considerar as estatísticas. Ele discute dois exemplos de estatísticas em que o contexto é importante: a gripe suína e a gripe sazonal. Ele também observa que, ao falar sobre variação percentual, é importante conhecer o denominador.

  • 00:15:00 Este vídeo discute as armadilhas de usar porcentagens para calcular coisas, como grupos de câncer. Ele mostra como as simulações matemáticas podem fornecer uma imagem mais precisa da probabilidade de algo e como os advogados podem usar essas informações em seus casos legais.

  • 00:20:00 Este vídeo explica como a análise estatística pode ajudar a esclarecer se uma determinada região tem ou não um alto número de casos de câncer. O vídeo também mostra como o advogado em questão realizou uma análise estatística imprópria, que levou a conclusões incorretas.

  • 00:25:00 Neste vídeo, o instrutor aborda várias falácias estatísticas, incluindo a falácia do atirador de elite do Texas e a verificação de várias hipóteses. Ele adverte que ceticismo e negação são diferentes e que, ao fazer inferências a partir de dados, deve-se ter cuidado para não cometer erros.

  • 00:30:00 A principal conclusão deste vídeo é que a programação trata da resolução de problemas usando bibliotecas e algoritmos. O vídeo também enfatiza a importância de pensar em termos de probabilidades e o uso da aleatoriedade na resolução de problemas.

  • 00:35:00 Neste vídeo, o professor discute os diferentes modelos estatísticos que os alunos podem usar para analisar dados. Ele enfatiza a importância de compreender a confiabilidade dos resultados e fornece dicas sobre como apresentar os dados de forma eficaz.

  • 00:40:00 Este vídeo apresenta uma breve história da computação e apresenta o conceito de UROP (estágio de pesquisa). Ele explica que, embora a ciência da computação possa não ser o curso mais popular no campus, é um campo que vale muito a pena seguir. Finalmente, o vídeo fornece alguns conselhos finais sobre como ter sucesso na vida.
 

Curso de aprendizado de máquina para iniciantes (partes 6-10)


Curso de aprendizado de máquina para iniciantes

Parte 6
  • 05:00:00 Nesta seção, o instrutor discute o conceito de modelos de alta variância e alto viés, onde pode ocorrer overfitting e underfitting. O objetivo do aprendizado de máquina é ter um modelo de baixo viés e baixa variância para obter a precisão ideal. O instrutor dá exemplos de aprendizado conjunto, onde vários modelos são treinados em dados e as previsões são tiradas de cada modelo para serem votadas e, finalmente, determinar a resposta ou previsão correta. A maioria geralmente é mais precisa do que a resposta de um indivíduo no aprendizado conjunto, e o instrutor explica o conceito usando exemplos como perguntas de questionário e votação eleitoral.

  • 05:05:00 Nesta seção, o instrutor fornece uma visão geral do aprendizado conjunto e como ele pode ser usado para problemas de classificação e regressão. Na classificação, a maioria dos votos é levada em consideração, enquanto na regressão, a média ou mediana dos resultados dos modelos básicos são usados para a previsão final. As técnicas usadas no aprendizado conjunto incluem ensacamento, aumento, empilhamento e cascata, e a maioria dos vencedores da competição Kaggle usa alguma forma de técnicas de aprendizado conjunto. Além disso, o instrutor destaca que empresas como Amazon e Google utilizam esses algoritmos, como XGBoost e random forest, em seus próprios produtos.

  • A seção 05:10:00 discute os fundamentos do bagging, uma técnica de aprendizagem em conjunto também conhecida como agregação bootstrap. Bagging envolve amostragem aleatória de subconjuntos de dados de treinamento e modelos de treinamento em cada subconjunto. A ideia é reduzir o overfitting e melhorar a precisão do modelo usando um conjunto de vários modelos. A seção explica como o ensacamento funciona, incluindo como amostrar os dados, treinar subconjuntos de modelos e combinar as previsões para melhor precisão.

  • 05:15:00 Nesta seção, o palestrante explica o conceito de bagging, uma técnica para melhorar a precisão dos modelos de aprendizado de máquina. Bagging envolve dados de amostragem com substituição e, em seguida, modelos de treinamento em cada amostra. Os modelos individuais são então combinados para formar um modelo agregado que produz previsões mais precisas. O palestrante observa que o ensacamento é uma técnica conceitualmente simples que não envolve matemática avançada.

  • 05:20:00 Nesta seção, o palestrante discute bagging, que ajuda a reduzir a variância de modelos de base de alta variância e baixo viés. Bagging combina esses modelos para criar um modelo maior, de baixa variância e baixo viés. A amostragem de linha é usada durante a amostragem dos dados, o que envolve a amostragem apenas das linhas da grande distribuição de dados. É importante observar que no ensacamento, apenas a amostragem de linha é usada, ao contrário da floresta aleatória, que usa amostragem de linha e coluna. Bagging também é conhecido como agregação bootstrap, que envolve bootstrapping e agregação de modelos básicos.

  • 05:25:00 Nesta seção, o instrutor recapitula a técnica de ensacamento, que é uma forma de reduzir a variância em modelos de alta variância e baixo viés. Bagging envolve pegar subconjuntos de dados para treinamento e combinar a maioria dos votos para classificação. O instrutor acredita que um algoritmo poderoso para isso é a floresta aleatória, que é uma combinação de árvores de decisão, bagging e amostragem de coluna. As árvores de decisão tomam decisões simples e dividem os nós, enquanto o bagging envolve a obtenção de subconjuntos de dados para treinamento. A amostragem de coluna ou ensacamento de recursos também é usada, tomando subconjuntos das colunas. O instrutor afirma que florestas aleatórias são poderosas e grandes empresas como Google, Quora e Amazon as usam.

  • 05:30:00 Nesta seção, o instrutor de aprendizado de máquina explica o conceito de ensacamento e floresta aleatória. Bagging envolve amostragem de linhas com substituição e treinamento de uma árvore de decisão no subconjunto, enquanto a floresta aleatória adiciona amostragem de colunas à mistura. Isso significa que tanto as linhas quanto as colunas são amostradas, o que cria uma chance maior de um modelo com bom desempenho devido à técnica de aprendizado conjunto. O instrutor também menciona o conceito de pontos fora do saco (oob), que são os pontos deixados de fora após a amostragem e podem ser usados para validação cruzada. Por fim, o instrutor recapitula as principais diferenças entre ensacamento e floresta aleatória.

  • 05:35:00 Nesta seção, o vídeo discute as técnicas de ensacamento e floresta aleatória no aprendizado de máquina. O ensacamento envolve amostragem de linha, o que leva a um modelo maior, reduzindo a variância. A floresta aleatória é a mesma, mas com amostragem de coluna e árvores de decisão como modelos básicos. A complexidade do trem em árvores de decisão é da ordem de n log m vezes n vezes d, enquanto em florestas aleatórias é d vezes k vezes n. O vídeo também discute como as florestas aleatórias são trivialmente paralelizadas, tornando-as fáceis de treinar. Por fim, é introduzido o conceito de árvores extremamente aleatórias, que testam possíveis valores para determinar o limiar em árvores de decisão.

  • 05:40:00 Nesta seção, o palestrante discute o conceito de Árvores Extremamente Randomizadas como uma alternativa ao método computacionalmente caro de tentar todos os valores possíveis em Random Forest. Ao amostrar um subconjunto de colunas e linhas, a variância é reduzida, mas há uma chance menor de obter bons resultados em comparação com a Random Forest. O palestrante também menciona as desvantagens de usar o Random Forest em grandes conjuntos de dados devido à sua complexidade de tempo, mas sugere experimentá-lo e ajustar os hiperparâmetros usando a pesquisa em grade. Em seguida, eles apresentam a API scikit-learn para implementar a Random Forest e mencionam um projeto de ajuste fino de hiperparâmetros.

  • 05:45:00 Nesta seção, o classificador de floresta aleatória é discutido com seus parâmetros e atributos. O primeiro parâmetro é n_estimators, que é o número de árvores de decisão usadas. Os critérios de seleção de atributos e a profundidade máxima da árvore também são explicados junto com outros parâmetros, como amostra mínima necessária para dividir e número máximo de feições. O uso da importância do recurso também é mencionado para selecionar recursos importantes para o modelo. O regressor da floresta aleatória também é brevemente discutido com suas semelhanças com o classificador.

  • 05:50:00 Nesta seção do vídeo, o instrutor discute as técnicas de conjunto, principalmente o Boosting. Boosting é outra técnica popular de aprendizagem em conjunto, e o instrutor fornece uma visão geral de Gradient Boosting, Adaptive Boosting ou AdaBoost e Extreme Boosting ou XGBoost. O instrutor também menciona que há um conjunto de problemas disponível no GitHub para os espectadores experimentarem e incentiva os espectadores a se inscreverem no canal do YouTube para apoiar a criação de mais conteúdo gratuito.

  • 05:55:00 Nesta seção, o vídeo aborda os tópicos de bagging e boosting no aprendizado de máquina. Bagging é usado para reduzir a alta variância em modelos fazendo amostragem de coluna e linha, seguida de agregação. O reforço, por outro lado, é usado para reduzir o viés nos modelos, combinando aditivamente alunos fracos em um modelo forte. A ideia central de usar o boosting é reduzir o viés em um modelo altamente tendencioso. O vídeo fornece uma intuição básica de reforço usando um exemplo de dados de treinamento.

Parte 7

  • 06:00:00 Nesta seção, o palestrante explica a ideia central por trás do boosting e como ele funciona para minimizar erros. Boosting é uma técnica de aprendizado supervisionado que envolve o treinamento de um modelo em dados de treinamento (x e y) com um rótulo para cada exemplo. O modelo é então usado para prever a saída para cada entrada, e a diferença entre o valor previsto e o valor real é medida para calcular a perda. O modelo é treinado para reduzir o erro residual, focando nos dados mal classificados ou com alto MSE ou MAE. Boosting envolve o ajuste de vários modelos nos erros residuais, minimizando o erro ajustando-o para cada exemplo de treinamento. O modelo final é a soma de todos esses modelos, ponderados pelo alfa.

  • 06:05:00 Nesta seção, é explicado o conceito de boosting, que é uma técnica para reduzir o viés em modelos de aprendizado de máquina. O boosting converte aprendizes fracos em aprendizes fortes ajustando os erros residuais dos modelos anteriores, resultando em um modelo de baixo viés e baixa variância que funciona bem no conjunto de treinamento. No entanto, existe o risco de overfitting se o modelo for muito bom no conjunto de treinamento. Várias técnicas de aumento, como aumento de gradiente, aumento adaptativo e aumento extremo, são discutidas. Além disso, é mencionada brevemente a ideia por trás do ensacamento, que é outra técnica para melhorar o desempenho do modelo.

  • 06:10:00 Nesta seção, o instrutor explica o conceito de aumento de gradiente, que é um algoritmo de aumento que converte alunos fracos em alunos fortes. O aumento de gradiente é um algoritmo poderoso usado por grandes empresas de tecnologia e produção. É uma função de custo diferenciável que permite derivações para melhorar o erro em um conjunto de treinamento. O instrutor fornece exemplos do mundo real de aumento de gradiente e discute funções de custo diferenciáveis e sua importância no algoritmo. A discussão inclui o uso de dados de treinamento e uma função de custo na descida do gradiente, tornando-a uma ferramenta útil no aprendizado de máquina.

  • 06:15:00 Nesta seção, o palestrante explica o algoritmo para treinar um modelo usando boosting. O algoritmo envolve inicializar o modelo com um valor constante, calcular os resíduos ou pseudo-resíduos, obter a derivada parcial da função de custo em relação ao modelo, ajustar os aprendizes básicos aos resíduos dos modelos anteriores e, em seguida, iterar em cada modelo para calcular os pseudo-resíduos e ajustar os aprendizes de base. O objetivo é encontrar o valor lambda que minimiza a função de custo e melhora a precisão do modelo.

  • 06:20:00 Nesta seção, o palestrante explica o processo do algoritmo de aumento de gradiente, que começa inicializando o modelo com alguma constante e, em seguida, aplica um loop for para retirar os resíduos de cada exemplo de treinamento. O modelo então ajusta um aprendizado básico aos resíduos e calcula o lambda m do multiplicador para cada modelo. Para atualizar o modelo, o modelo anterior é ajustado aos resíduos anteriores, e o modelo final é obtido adicionando o modelo anterior e o novo modelo obtido após a resolução do problema de otimização unidimensional. O palestrante também aborda os conceitos de regularização e encolhimento e por que eles são necessários no reforço devido ao viés alto.

  • 06:25:00 Nesta seção, o vídeo discute como o boosting pode ser usado para reduzir o viés alto em modelos de aprendizado de máquina. O reforço envolve ajustar os resíduos do modelo anterior durante cada iteração, o que pode resultar em superajuste e aumento na variância. Para evitar esse problema, regularização e encolhimento podem ser adicionados usando um parâmetro que pode ser aprendido chamado v. Empiricamente, descobriu-se que um valor de v igual a 0,1 resulta em melhorias dramáticas. O vídeo também aborda a complexidade de tempo das árvores de decisão de aumento de gradiente e a implementação do aumento de gradiente por meio da API scikit-learn.

  • 06:30:00 Nesta seção, o palestrante discute a implementação do Gradient Boosting Classifier usando a API Scikit-learn. Eles explicam os diferentes parâmetros envolvidos, como perda, taxa de aprendizado, número de estimadores e muito mais. A taxa de aprendizado é usada para reduzir a variação excessiva e evitar o ajuste excessivo. A implementação do Gradient Boosting Classifier é apenas uma linha de código, e a probabilidade de previsão fornece a probabilidade de os dados serem verdadeiros para uma determinada classe. O palestrante também discute brevemente a implementação do Gradient Boosting Regressor e enfatiza a importância de aprender com a documentação.

  • 06:35:00 Nesta seção do vídeo "Machine Learning Course for Beginners", o instrutor discute o classificador AdaBoost e sua implementação usando a API Cython, bem como o algoritmo Extreme Gradient Boosting (XGBoost). O instrutor explica que o XGBoost é uma versão avançada do Gradient Boosting que adiciona randomização por meio de amostragem de linha e coluna, tornando-o uma ferramenta poderosa para problemas de aprendizado de máquina. A seção também cobre os diferentes parâmetros usados no XGBoost e sua importância no ajuste fino do modelo.

  • 06:40:00 Nesta seção, o palestrante fala sobre os diferentes pacotes para algoritmos de aprendizado de máquina, como Gradient Boosting Tree, GB Linear e DART. Eles discutem os diferentes parâmetros que podem ser ajustados, incluindo matriz de avaliação e regularização, e como eles afetam o modelo. O palestrante também menciona o XGBoost e mostra como ele é usado no Python. Eles enfatizam a importância do ajuste fino do modelo e como isso pode levar a uma melhor precisão. Por fim, o palestrante apresenta o conceito de empilhamento e como ele pode ajudar a melhorar a precisão dos modelos.

  • 06:45:00 Nesta seção, o instrutor apresenta o conceito de stacking e como ele difere de bagging e boosting. O empilhamento envolve pegar diferentes aprendizes de base que são altamente ajustados e têm uma boa compensação de viés e variância e treiná-los em diferentes subconjuntos de dados para criar modelos diferentes. Isso é diferente de bagging, que é usado para reduzir a alta variância usando aprendizes de base com alta variância e baixo viés, e boosting, onde os modelos de base não são necessariamente altamente ajustados. O instrutor fornece um exemplo de empilhamento com diferentes modelos de base, como regressão logística, máquinas de vetores de suporte e k vizinhos mais próximos, que passaram por um amplo ajuste fino para produzir bons modelos com uma boa compensação de variação de tendência.

  • 06:50:00 Nesta seção, o palestrante explica a intuição básica por trás do empilhamento, que é um tipo de aprendizado conjunto. O empilhamento envolve dividir os dados de treinamento em subconjuntos e treinar diferentes classificadores em cada subconjunto. Esses aprendizes básicos são bons em equilibrar viés e variância. Ao contrário do bagging, que tem alta variância e baixo viés, e do boosting, que tem alto viés e baixa variância. Após obter as predições de cada modelo, um metaclassificador é treinado nos rótulos das classes preditas ou em suas probabilidades. A ideia é combinar as previsões desses modelos de ensemble para criar um classificador mais preciso e robusto.

  • 06:55:00 Nesta seção, o instrutor discute o empilhamento, um método de combinar vários modelos para criar um novo modelo com melhor desempenho. O processo envolve o treinamento de vários modelos de base e o uso de suas previsões como recursos para treinar um classificador de segundo nível, que gera as previsões finais. O instrutor mostra um exemplo de criação de um modelo de classificação empilhado usando regressão logística, k vizinhos mais próximos, Gaussian naive Bayes e modelos de floresta aleatórios em Python usando a biblioteca sklearn. Eles também demonstram como usar o classificador de empilhamento da biblioteca mlx10.

Parte 8

  • 07:00:00 Nesta seção, o palestrante explica como implementar um classificador de empilhamento usando diferentes modelos, como K vizinhos, floresta aleatória e regressão logística. Eles passam pela instanciação do objeto e pela validação cruzada tripla para selecionar o melhor modelo com a maior precisão. O palestrante também demonstra como traçar limites de decisão e usar a pesquisa de grade para ajustar o viés e a compensação de variância. Ao selecionar os melhores parâmetros e recursos, o classificador de empilhamento pode fornecer uma previsão mais precisa do que os modelos individuais.

  • 07:05:00 Nesta seção, o instrutor resume os tópicos abordados nas seções anteriores sobre aprendizado conjunto, incluindo ensacamento, florestas aleatórias, aumento, árvores de decisão de aumento de gradiente, AdaBoost e XGBoost. O instrutor também fornece uma visão geral do empilhamento e fornece exemplos do algoritmo em ação. A seção termina com um lembrete para se inscrever no canal do instrutor no YouTube e informações sobre um curso de aprendizado de máquina, CS01, que abrange tópicos além do aprendizado conjunto, incluindo redes neurais, GANs e redes neurais convolucionais. Por fim, o instrutor apresenta as próximas seções sobre aprendizado não supervisionado e projetos futuros.

  • 07:10:00 Nesta seção, o palestrante apresenta o conceito de aprendizado não supervisionado, que envolve apenas ter acesso a pontos de dados sem rótulos ou um supervisor para orientar o processo de aprendizado. Ao contrário do aprendizado supervisionado, onde a saída é conhecida, o aprendizado não supervisionado envolve fazer clusters de pontos de dados para melhor entendê-los. Como exemplo motivador, o palestrante sugere segmentar os clientes de uma empresa como a Amazon com base em semelhanças, embora não haja rótulos que indiquem qual cliente pertence a qual segmento. O objetivo do aprendizado não supervisionado é descobrir padrões e estruturas no conjunto de dados.

  • 07:15:00 Nesta seção, o instrutor discute o aprendizado não supervisionado e suas aplicações. Ele explica que os cientistas de dados podem usar o aprendizado não supervisionado para dividir os clientes em segmentos e fornecer recomendações de produtos com base em suas atividades no site. Ele usa a Amazon como um exemplo de empresa que usa aprendizado não supervisionado para segmentação de clientes e mecanismos de recomendação. O instrutor também explica que o aprendizado não supervisionado pode ser usado para agrupar em espaços de alta dimensão, com itens semelhantes próximos uns dos outros e itens diferentes distantes. Ele dá exemplos de análise de sequência em biologia e agrupamento de clusters semelhantes em negócios como aplicações de aprendizado não supervisionado. No geral, o instrutor fornece uma breve visão geral do aprendizado não supervisionado e suas possíveis aplicações em vários setores.

  • 07:20:00 Nesta seção, o palestrante discute diferentes aplicações de aprendizado de máquina, como agrupar clusters semelhantes em dados de negócios para marketing direcionado e usar mecanismos de recomendação para sugerir produtos com base na atividade do usuário. O palestrante também menciona segmentação de imagens para detecção de objetos, análise de sentimentos para determinar se um texto é positivo ou negativo e detecção de anomalias para encontrar outliers em um modelo. Essas várias aplicações demonstram a versatilidade do aprendizado de máquina em diferentes campos.

  • 07:25:00 Nesta seção, o palestrante apresenta o tópico de agrupamento e os diferentes tipos de algoritmos de agrupamento, como baseados em centro e baseados em densidade. O foco será no algoritmo de agrupamento k-means, que será explorado em profundidade. O palestrante também incentiva os espectadores a trabalhar em conjuntos de problemas e projetos para obter uma melhor compreensão do aprendizado de máquina. O palestrante destaca a importância do aprendizado não supervisionado e mostra como o clustering pode ser aplicado em diversos campos. O agrupamento em um plano X e Y é usado para ilustrar o conceito de agrupamento. No geral, a seção destaca os próximos tópicos a serem abordados no curso e incentiva os espectadores a continuar aprendendo.

  • 07:30:00 Nesta seção, o palestrante explica o aprendizado não supervisionado e o clustering, que envolve a segmentação de dados em diferentes clusters. A terminologia de distância intracluster e intercluster é discutida, onde intracluster refere-se à distância entre pontos de dados dentro de um cluster, enquanto intercluster refere-se à distância entre clusters. O objetivo é ter uma pequena distância intracluster e uma grande distância intercluster, o que significa que os dados dentro dos clusters devem ser semelhantes e os dados entre os clusters devem ser diferentes. Isso é conhecido como o objetivo da otimização.

  • 07:35:00 Nesta seção, aprendemos sobre técnicas de avaliação para clustering ou modelos de aprendizado não supervisionados. A primeira técnica introduzida é o índice de Dunn, que representa a maior distância entre clusters dividida pela distância mínima dentro dos clusters. O objetivo é ter um índice de Dunn alto, o que significa que a distância entre os clusters deve ser grande, enquanto a distância dentro dos clusters deve ser pequena. Essa técnica nos permite avaliar a qualidade do nosso modelo de agrupamento.

  • 07:40:00 Nesta seção, o instrutor discute técnicas de avaliação para modelos de agrupamento. O foco está no índice de Dunn, que é uma matriz de avaliação usada para determinar se o intracluster é grande e o intercluster é pequeno. O instrutor fornece a definição básica do índice de Dunn, que envolve a avaliação das distâncias máximas entre diferentes pontos de dados dentro e entre clusters. Outra técnica de avaliação discutida é o índice de Davies-Bouldin, que é semelhante ao índice de Dunn, mas com mais restrições. O instrutor também fornece uma definição de uma linha de agrupamento, que é o agrupamento de objetos ou elementos de uma maneira específica.

  • 07:45:00 Nesta seção, o palestrante explica a definição básica de agrupamento, que é o processo de organização de dados em grupos com base em semelhanças e diferenças. Existem dois casos de agrupamento: intracluster e intercluster, que medem a distância dentro de um cluster e a diferença entre todos os clusters, respectivamente. Em seguida, o palestrante discute diferentes tipos de agrupamento, incluindo agrupamento baseado em partição, que divide os dados em dois agrupamentos, e agrupamento hierárquico, que usa dendrogramas para visualizar o processo de agrupamento. O palestrante entra em mais detalhes sobre agrupamento aglomerativo e agrupamento divisivo dentro do agrupamento hierárquico, fornecendo um exemplo de dendrograma para ilustrar o processo.

  • 07:50:00 Nesta seção, o instrutor aborda diferentes tipos de clustering, incluindo clusters baseados em partições, hierárquicos, bem separados, baseados em centros e baseados em densidade. O instrutor explica que o clustering consiste em agrupar objetos semelhantes de forma que os objetos dentro de um cluster sejam semelhantes entre si e os objetos entre os clusters sejam diferentes. O instrutor também explica como avaliar o desempenho de modelos de agrupamento usando diferentes índices, incluindo o índice de Dunn e o índice de Davis-Bouldin. A próxima seção se concentrará no agrupamento k-means, um dos algoritmos baseados em centro.

  • 07:55:00 Nesta seção, o instrutor recapitula as subseções anteriores que abrangem aplicativos de aprendizado não supervisionado, tipos de agrupamento e a intuição e definição formal de agrupamento. O foco então muda para o algoritmo de agrupamento k-means, também conhecido como algoritmo de Lloyd, e seus vários recursos, como inicialização, centróides, hiperparâmetros, métricas de avaliação e limitações. O instrutor fornece uma visualização do algoritmo com dois centróides inicializados aleatoriamente e ilustra a etapa de atribuição seguida pela etapa de cálculo da média na primeira iteração.

Parte 9

  • 08:00:00 Nesta seção, o instrutor explica em detalhes o algoritmo de agrupamento k-means. O algoritmo envolve a inicialização de k centroides, atribuição de cluster, atualização dos clusters tirando a média e atualização do centroide atribuindo o ponto de dados mais próximo. Este processo é repetido até que os centróides não mudem, indicando que o algoritmo convergiu. O instrutor também menciona que o agrupamento k-means também é chamado de algoritmo de Lloyd e envolve a inicialização aleatória de centroides.

  • 08:05:00 Nesta seção, o palestrante explica as etapas para o algoritmo de agrupamento k-means. Eles primeiro selecionam o número de clusters (k) e, em seguida, atribuem cada ponto ao cluster mais próximo. Eles recalculam o centróide pegando a média e movendo-a, então repetem o processo até que os centróides parem de mudar. O objetivo da otimização é minimizar a função de custo, que pode ser calculada usando a distância euclidiana entre os pontos de dados e os centróides do cluster. A função de custo também é conhecida como SSE (erro quadrado da soma) e o objetivo é minimizar a variabilidade intra-cluster. O palestrante observa que outras métricas de distância além da euclidiana também podem ser usadas.

  • 08:10:00 Nesta seção, o instrutor explica por que a inicialização aleatória de centróides no agrupamento K-means pode causar problemas e apresenta o algoritmo K-means++ como uma solução. K-means++ envolve a seleção de vários centróides e a escolha daquele que minimiza a soma dos erros quadrados (SSE). O instrutor também apresenta o método do cotovelo, que é usado para determinar o número ideal de centróides com base em um gráfico de SSE versus o número de clusters. Recomenda-se usar o K-means++ e o método de cotovelo em vez da inicialização aleatória para obter melhores resultados de agrupamento no aprendizado de máquina.

  • 08:15:00 Nesta seção, o instrutor explica a técnica de avaliação para k-means, que envolve minimizar o intra-cluster calculando a distância entre os pontos dentro do cluster usando o erro quadrado da soma. A inicialização dos centróides tem impacto no algoritmo, e a técnica k-means++ é um método recomendado para selecionar centróides com base em múltiplas execuções com baixo SSE. O número de clusters pode ser determinado usando o método do cotovelo, onde o valor k ideal é o ponto onde o cotovelo vira. O instrutor também menciona algumas limitações do agrupamento k-means, como a sensibilidade a outliers, que podem ser resolvidas usando técnicas baseadas em densidade, como DBSCAN ou agrupamento hierárquico. A complexidade de tempo do clustering k-means depende do tamanho da entrada, número de clusters e dimensões. O instrutor recomenda o curso de domínio do DSA para entender melhor o conceito de complexidade de tempo.

  • 08:20:00 cluster com p1 e p2, e então adicionamos p4 a este cluster. Em seguida, mesclamos esse cluster em um e, finalmente, adicionamos p3 ao cluster para terminar com um cluster. Este é um exemplo de agrupamento hierárquico, que é uma técnica em que os pontos de dados são agrupados com base em suas semelhanças, formando uma hierarquia de agrupamentos. A subseção também abordará clustering aglomerativo e divisivo, bem como um cálculo manual do algoritmo.

  • 08:25:00 Nesta seção, o palestrante explica o agrupamento hierárquico e o processo de conversão de um agrupamento de números em uma hierarquia de agrupamentos. O exemplo dado mostra como os clusters são anexados uns aos outros com base na similaridade até que reste apenas um cluster. O palestrante então explica os dois tipos de clustering hierárquico - clustering aglomerativo e divisivo, e dá uma intuição por trás de ambos os métodos. O clustering aglomerativo é uma abordagem de baixo para cima, onde clusters mais semelhantes são anexados, enquanto o clustering divisivo é uma abordagem de cima para baixo, onde os clusters são divididos em clusters menores com base na similaridade.

  • 08:30:00 Nesta seção, o palestrante explica a intuição básica por trás do agrupamento hierárquico, que envolve a criação de uma hierarquia de números ou agrupamentos. O clustering pode ser feito em uma abordagem up-to-down ou down-to-up, dependendo do tipo de agrupamento, aglomerativo ou divisivo. O clustering aglomerativo envolve a fusão de diferentes clusters em um, enquanto o clustering divisivo envolve a divisão de um cluster em grupos únicos. O orador passa a explicar o algoritmo para clustering aglomerativo que envolve o cálculo de uma matriz de proximidade e a repetição do processo de fusão de clusters e atualização da matriz até que todos os clusters sejam cobertos. Por fim, o palestrante dá um exemplo de matriz aproximada com quatro pontos para ilustrar o conceito.

  • 08:35:00 Nesta seção, o palestrante explica como criar uma matriz de proximidade e um dendrograma usando um exemplo de pontos de dados. A matriz de proximidade ajuda a medir a similaridade entre dois pontos ou clusters, enquanto o dendrograma mostra a hierarquia dos clusters. O palestrante destaca os três métodos usados para medir a similaridade entre clusters, a saber, min, max e group average.

  • 08:40:00 Nesta seção, o instrutor discute dois métodos para mesclar clusters em agrupamento hierárquico: mínimo e máximo. A abordagem mínima envolve considerar a similaridade entre dois clusters como a distância mínima entre quaisquer dois pontos nos clusters. Os clusters com a menor distância são mesclados primeiro e o processo continua até que todos os pontos estejam em um único cluster. A abordagem máxima é semelhante, mas considera a semelhança entre dois clusters como a distância máxima entre quaisquer dois pontos nos clusters. O instrutor fornece um exemplo usando uma matriz de proximidade para ilustrar esses conceitos.

  • 08:45:00 Nesta seção, o instrutor explica o conceito de medida de similaridade intercluster média do grupo, que é outro tipo de medida de similaridade intercluster. Ele fornece uma equação para isso e mostra um dendrograma para explicar como funciona. O instrutor então discute as desvantagens da medida de distância mínima, afirmando que ela é sensível a valores discrepantes e sugere que os alunos consultem as páginas da Wikipédia para uma melhor compreensão. Ele também fornece complexidade de tempo e espaço para agrupamento aglomerativo, que é ordem de n quadrado para espaço e ordem de n quadrado log de n ou ordem de n cubo para complexidade de tempo. Por fim, ele conclui a seção incentivando os alunos a praticar com muitos projetos para consolidar sua compreensão do aprendizado de máquina.

  • 08:50:00 Nesta seção, o palestrante discute a seção de projeto do curso e apresenta o modelo de previsão de insuficiência cardíaca que será construído. O palestrante explica que o modelo preverá se uma pessoa morrerá com base em várias características, como idade, sexo, pressão arterial, diabetes e tabagismo. Os dados deste projeto estão disponíveis em um link fornecido, e o palestrante explica que o objetivo comercial deste projeto é construir um sistema de IA de saúde que ajudará na detecção precoce de problemas de saúde para salvar vidas. Além disso, o palestrante menciona que também será apresentado no curso um projeto de sistema de detecção de spam. O alto-falante importa as bibliotecas necessárias, carrega os dados e imprime a forma dos dados.

  • 08:55:00 Nesta seção, aprendemos sobre os fundamentos da exploração dos dados, como verificar a forma dos dados e suas informações. Usando o método info(), podemos ver se existem valores nulos, o tipo de dados e o uso de memória. Também podemos usar o método describe() para obter informações sobre a distribuição estatística dos dados numéricos. A análise exploratória de dados (EDA) é uma etapa essencial no aprendizado de máquina, onde fazemos perguntas aos dados e encontramos respostas para ajudar no fornecimento de soluções de negócios. Para este problema de classificação binária, examinaremos a distribuição de classes, onde '1' significa que a pessoa morreu e '0' significa que a pessoa está viva.

Parte 10

  • 09:00:00 Nesta seção do vídeo, o instrutor discute a questão dos dados desbalanceados no aprendizado de máquina. O trecho de código mostra a distribuição dos dados onde há 203 casos vivos e 96 casos mortos, o que é desequilibrado. Dados desbalanceados significam que os dados não são distribuídos igualmente entre as classes, e isso pode fazer com que o modelo seja enviesado para certas classes. O instrutor explica que dados desequilibrados são um grande problema no aprendizado de máquina, onde o modelo pode ser mais propenso a ser treinado na classe majoritária e prever essa classe com mais frequência.

  • 09:05:00 Nesta seção, o palestrante explica o conceito de dados balanceados e como os modelos funcionam melhor com eles, pois são mais robustos e imparciais. Eles então mostram várias maneiras pelas quais os dados podem ser analisados, como distribuição de idade e filtragem de dados com base em certas condições. O palestrante demonstra um código python para selecionar linhas onde a idade está acima de 50 anos e ver se a pessoa morreu ou não. Eles usam gráficos de pizza para visualizar os dados e responder a questões de negócios, como o número total de casos de morte sendo duas vezes menor do que casos vivos e que a maior parte da idade sobe de 40 para 95 anos.

  • 09:10:00 Nesta seção, o instrutor analisa um trecho de código em Python onde calcula o número total de casos de dieta e casos sem dieta. Eles descobrem que, de um total de 203 casos, a maioria dos casos são casos de dieta, mas mais de 50 deles têm mais de 50 anos e morreram. O instrutor passa a explicar como eles podem responder a mais perguntas com base nesses dados e representá-los visualmente para facilitar a compreensão. Por fim, o instrutor verifica a correlação entre as variáveis e fornece um gráfico para explicar o que significa correlação.

  • 09:15:00 Nesta seção, o instrutor explica a correlação e como ela varia de menos um a mais um. Uma variável mais próxima de menos um significa que ela é muito semelhante, enquanto um valor mais próximo de zero significa que não há transmissão linear. A correlação de Pearson é uma forma de determinar se os dados são lineares ou não, e quanto mais próxima de um for a correlação, mais positivamente correlacionados os dados serão. O instrutor fala sobre correlação perfeita e como as diagonais são todas iguais, o que significa que os quadrados estão correlacionados com cada variável em si. Depois de discutir os dados e entender, o instrutor passa para o desenvolvimento do conjunto de dados e como dividir os dados em conjuntos de treinamento e teste para validar o modelo funciona melhor. O instrutor fornece um exemplo de engenharia de recursos, que é adicionar mais recursos com variáveis categóricas e aplicar transformações nos dados para inserir recursos. Um termo de interação é adicionar o produto de dois recursos, e o instrutor mostra como iterar por todas as colunas e multiplicar as duas colunas.

  • 09:20:00 Nesta seção, o apresentador discute o processo de construção de um modelo e avalia sua exatidão, precisão, recuperação e matriz de confusão. O apresentador usa um algoritmo chamado algoritmo de otimização para restringir um conjunto de dados com 10.000 pontos de dados e dez recursos. Eles explicam como a descida do gradiente estocástico funciona e como ela pode ser usada para minimizar o tempo de computação. Além disso, eles explicam termos-chave como 'verdadeiro positivo' e 'classe positiva', que são importantes para entender o desempenho geral do modelo.

  • 09:25:00 Nesta seção, o palestrante explica os conceitos de verdadeiro positivo, falso positivo, verdadeiro negativo e falso negativo, e como eles são usados para criar uma matriz de confusão, que mostra o número de instâncias classificadas corretamente para positivo e classes negativas em um modelo. O palestrante também discute precisão e revocação, que respondem a diferentes perguntas sobre a precisão de previsões positivas e suas ocorrências reais. O palestrante demonstra o uso de regressão logística e classificadores de vetores de suporte com amplo ajuste fino, bem como classificadores de árvore de decisão, usando pesquisa aleatória para otimização de parâmetros. As pontuações de treinamento e teste para cada classificador também são apresentadas.

  • 09:30:00 Nesta seção do vídeo, o instrutor explica como construir um sistema detector de spam e ham usando um conjunto de dados baixado do repositório UCI. Os dados estão em formato de tabela, e o instrutor os lê e separa com base em uma guia, com os cabeçalhos definidos como nenhum e as colunas rotuladas como 'rótulo' e 'mensagens'. O objetivo é classificar as mensagens como spam ou não spam (ham), e o instrutor percorre o processo de ajuste fino de diferentes modelos (como um classificador de floresta aleatória e um classificador XGBoost) para conseguir isso. O instrutor também destaca a importância da seleção de recursos e mostra como salvar o modelo XGBoost para uso futuro. No geral, este é um projeto interessante que demonstra como o aprendizado de máquina pode ser usado para resolver problemas do mundo real.

  • 09:35:00 Nesta seção do vídeo, o apresentador passa pelo processo de exploração e análise de um conjunto de dados de mensagens de texto baixadas de um repositório UCI. O objetivo é construir um modelo de aprendizado de máquina que possa diferenciar entre mensagens spam e não spam. O apresentador explica que os dados do texto precisam ser convertidos em números para o modelo trabalhar e demonstra como usar um vetorizador de texto para isso. Eles então exploram a distribuição das classes, observando que o conjunto de dados está desequilibrado com mais mensagens não spam do que mensagens spam. Por fim, explicam a importância da limpeza dos dados do texto, pois pequenas diferenças na ortografia ou no uso de maiúsculas podem levar a classificações incorretas.

  • 09:40:00 Nesta seção, o instrutor explica o processo de pré-processamento de texto, que envolve a conversão de todo o texto em minúsculas, substituindo certos caracteres como 0 e 3 por equivalentes de texto significativos e removendo caracteres desnecessários. O instrutor também sugere explorar a lematização e a lematização para uma redução significativa de palavras no texto. Um exemplo é fornecido usando lambda para aplicar o pré-processamento de texto a cada mensagem, que é armazenado em uma nova coluna chamada "texto processado".

  • 09:45:00 Nesta seção, o palestrante fala sobre pré-processamento de texto e aplicação de lematização usando o lematizador de Porter para reduzir a inflexão nas palavras. O palestrante também menciona a engenharia de recursos, onde a mão é codificada para zero e expandida para um chamando o método map. O conjunto de treinamento é então convertido em word embeddings, que convertem palavras em números usando técnicas como count vectorizer, tf-idf vectorizer e bag of words. O texto é convertido em uma matriz esparsa com elementos armazenados, que é então usado no algoritmo Naive Bayes para classificação. Por fim, o palestrante dá um exemplo de como testar um novo texto chamando o vetorizador de contagem e o modelo para determinar se é spam ou não.

  • 09:50:00 Nesta seção do vídeo, o palestrante demonstra como construir um sistema básico de detecção de spam e ham usando técnicas de processamento de linguagem natural (NLP), como contagem de transformação vetorial e previsão de Naive Bayes. O sistema recebe as mensagens como entrada, pré-processa-as e prevê se são spam ou não. O palestrante enfatiza que esta é apenas uma amostra de como trabalhar com dados em PNL, e que existem várias outras técnicas que podem ser utilizadas. O palestrante conclui o curso e parabeniza os espectadores por concluí-lo.
 

Curso intensivo de aprendizado profundo para iniciantes


Curso intensivo de aprendizado profundo para iniciantes

Este vídeo fornece um curso intensivo sobre aprendizado profundo, com foco em algoritmos de aprendizado supervisionado e não supervisionado. Abrange os principais conceitos de cada abordagem, incluindo modelo, estado, recompensa, política e valor. A principal desvantagem dos modelos de aprendizado profundo é que eles podem ser superajustados aos dados de treinamento, resultando em generalização ruim. Técnicas para combater o overfitting são discutidas, incluindo dropout e aumento do conjunto de dados. Este curso introdutório sobre aprendizado profundo fornece uma visão geral do tópico, destacando a importância das redes neurais e do Dropout. Ele também explica como o overfitting pode ser reduzido ao entender os fundamentos do aprendizado profundo.

  • 00:00:00 Neste vídeo, Jason leva os espectadores a um curso intensivo de aprendizado profundo, explicando o que é aprendizado profundo e sua importância. Ele continua explicando como o deep learning funciona, focando em suas principais vantagens sobre o aprendizado de máquina tradicional: ele pode aprender recursos e tarefas diretamente dos dados, sem precisar de conhecimento de domínio ou intervenção humana. Por fim, Jason aborda alguns dos sucessos recentes do aprendizado profundo, incluindo sua capacidade de superar os humanos em uma variedade de tarefas.

  • 00:05:00 Os modelos de aprendizado profundo exigem muito poder computacional e dados e não estavam disponíveis algumas décadas atrás. Em terceiro lugar, esses modelos são simplificados com a crescente popularidade de software de código aberto como TensorFlow e PyTorch. As redes neurais formam a base do aprendizado profundo, um subcampo do aprendizado de máquina em que os algoritmos são inspirados na estrutura do cérebro humano. Assim como os neurônios compõem o cérebro, os blocos de construção fundamentais de uma rede neural também são neurônios. As redes neurais recebem dados e se treinam para reconhecer padrões nesses dados e prever saídas para um novo conjunto de dados semelhantes. Na última etapa antes da propagação, uma nova rede gera uma previsão. Se a previsão estiver correta, a rede usa uma função de perda para quantificar o desvio da saída esperada. Se a previsão estiver errada, a rede usa a retropropagação para ajustar os pesos e vieses.

  • 00:10:00 Este vídeo explica como funciona o aprendizado profundo, começando com a inicialização da rede. Na primeira iteração, a rede recebe um conjunto de dados de entrada. A rede é então treinada para fazer previsões usando uma função de perda. A retropropagação é então usada para ajustar os pesos e vieses na rede. A nova rede é então treinada usando gradiente descendente até que seja capaz de fazer previsões para todo o conjunto de dados. Existem algumas desvantagens nessa abordagem, incluindo o fato de que os ajustes feitos nos pesos e vieses não dependem dos dados de entrada.

  • 00:15:00 As três funções de ativação mais comuns usadas no aprendizado profundo são sigmóide, tanh e relu. Essas funções têm vantagens e desvantagens diferentes, mas, no final, todas produzem uma rede neural não linear. O algoritmo de descida de gradiente é capaz de lidar bem com a dispersão de ativação, mas pode sofrer com o "problema de valor morto".

  • 00:20:00 Deep Learning é um campo de aprendizado de máquina que lida com o treinamento de redes neurais artificiais. O curso intensivo começa discutindo o que é uma função de ativação e continua abordando por que as funções de ativação não lineares são usadas no aprendizado profundo. Em seguida, o curso intensivo discute as funções de perda e como elas são usadas para treinar a rede. Por fim, o curso intensivo fala sobre otimizadores e como eles são usados para tornar a rede o mais precisa possível.

  • 00:25:00 O gradiente descendente é um algoritmo usado para otimizar uma determinada função de perda. Ele começa em um ponto aleatório e diminui a inclinação da função de perda até atingir um mínimo ou máximo. É um otimizador popular e é rápido, robusto e flexível. A descida do gradiente é iterativa e usa gradientes anteriores para calcular a próxima etapa.

  • 00:30:00 Neste vídeo, o autor delineou a diferença entre parâmetros de modelo (variáveis internas dentro de um modelo de aprendizado de máquina) e hiperparâmetros (variáveis externas que não estão dentro do modelo e cujos valores não podem ser estimados a partir de dados). Os hiperparâmetros são frequentemente referidos como "parâmetros que podem tornar as coisas confusas" e geralmente são definidos manualmente pelo profissional. A descida do gradiente e a retropropagação são dois processos iterativos comuns usados no aprendizado profundo. O autor observa que não há "resposta certa" quando se trata do número de épocas necessárias para treinar um modelo de aprendizado profundo, pois diferentes conjuntos de dados exigem diferentes números de iterações. Por fim, o autor oferece algumas dicas sobre como usar o aprendizado profundo de maneira eficaz.

  • 00:35:00 Este vídeo oferece um curso intensivo sobre aprendizado profundo, com foco no aprendizado supervisionado. Os principais conceitos abordados incluem algoritmos de aprendizado supervisionado e suas finalidades, bem como regressão linear e não linear.

  • 00:40:00 O principal objetivo do aprendizado não supervisionado é encontrar padrões e relacionamentos nos dados que um observador humano pode não perceber. O aprendizado não supervisionado pode ser dividido em dois tipos: agrupamento e associação. Clustering é a aplicação mais simples e comum de aprendizado não supervisionado e é o processo de agrupar dados em diferentes clusters. As classes contêm pontos de dados que são tão semelhantes quanto possível entre si e tão diferentes quanto possível de pontos de dados em outros clusters. O agrupamento ajuda a encontrar padrões subjacentes nos dados que podem não ser perceptíveis por um observador humano. O clustering hierárquico encontra clusters por um sistema de hierarquias e cada ponto de dados pode pertencer a vários clusters. O agrupamento hierárquico pode ser organizado como um diagrama de árvore. Alguns dos algoritmos de agrupamento mais comumente usados são o k-means, a expectativa e a análise hierárquica de agrupamento do aca. A associação, por outro lado, tenta encontrar relacionamentos entre diferentes entidades. O exemplo clássico de regras de associação é a análise de cesta de compras. O aprendizado não supervisionado encontra aplicações em quase todos os lugares, incluindo o airbnb, que ajuda os anfitriões a encontrar estadias e experiências e conecta pessoas em todo o mundo. Este aplicativo usa algoritmos de aprendizado não supervisionados, onde um cliente em potencial consulta seus requisitos e o airbnb aprende esses padrões e recomenda

  • 00:45:00 O curso intensivo de aprendizado profundo para iniciantes abrange os principais conceitos de aprendizado por reforço, incluindo modelo, estado, recompensa, política e valor. A principal desvantagem dos modelos de aprendizado profundo é que eles podem ser superajustados aos dados de treinamento, resultando em generalização ruim. Técnicas para combater o overfitting são discutidas, incluindo dropout e aumento do conjunto de dados.

  • 00:50:00 Uma rede neural é um algoritmo de aprendizado de máquina composto por vários nós de processamento interconectados, ou neurônios. Cada neurônio recebe entrada de seus neurônios vizinhos e pode produzir uma saída. As redes neurais são usadas para modelar funções complexas e podem ser treinadas usando várias arquiteturas diferentes.

  • 00:55:00 Neste vídeo, o Crash Course apresenta o conceito de memória sequencial, que as redes neurais tradicionais lutam para modelar. Redes neurais recorrentes (RNns) são um tipo de nova arquitetura de rede que usa um loop de feedback na camada oculta, o que permite modelar sequências de dados com comprimento de entrada variável.
  • 01:00:00 O vídeo discute como redes neurais recorrentes funcionam e como o problema de memória de curto prazo pode ser resolvido usando duas variantes da rede: redes neurais recorrentes fechadas e redes neurais recorrentes de memória de curto prazo.

  • 01:05:00 As cinco etapas do aprendizado profundo são coleta de dados, pré-processamento de dados, modelagem, validação e detecção de erros. A qualidade dos dados é importante, e dados ruins implicam em um modelo ruim. Não existe um tamanho único quando se trata de dados, mas a regra geral é que a quantidade de dados necessária para um modelo de bom desempenho deve ser 10 vezes o número de parâmetros desse modelo.

  • 01:10:00 O vídeo discute a importância do treinamento em um conjunto de dados confiável e a importância dos conjuntos de validação. Ele continua explicando a proporção de divisão de validação de teste de treinamento e fornece exemplos de como fazer a validação cruzada.

  • 01:15:00 O aprendizado profundo é um processo complexo que requer uma preparação cuidadosa dos dados antes de treinar um modelo. Uma etapa desse processo de preparação é lidar com os dados ausentes. Existem algumas maneiras de fazer isso, e ambas têm vantagens e desvantagens. A primeira opção é eliminar as amostras com valores ausentes, mas isso pode ser arriscado porque pode excluir informações relevantes. A segunda opção é imputar os valores ausentes, mas isso pode ser demorado e pode não ser adequado em todos os casos. O dimensionamento de recursos é outra etapa importante na preparação de dados para aprendizado profundo e ajuda a normalizar os dados, padronizá-los e reduzir os efeitos de outliers. Após a preparação dos dados, eles são alimentados em uma rede para treinar o modelo. O modelo é então avaliado usando um conjunto de validação. Se o modelo for bom, ele pode ser otimizado ainda mais. Lembre-se de que a preparação de dados é um processo complexo e demorado, portanto, assista ao vídeo primeiro se não tiver certeza sobre alguma coisa.

  • 01:20:00 O aprendizado profundo pode ser muito eficaz, mas também pode ser propenso a overfitting. Existem várias maneiras de evitar o overfitting, incluindo obter mais dados, reduzir o tamanho do modelo e implementar a regularização do peso.

  • 01:25:00 Este curso introdutório sobre deep learning fornece uma visão geral do tema, destacando a importância das redes neurais e do Dropout. Ele também explica como o overfitting pode ser reduzido ao entender os fundamentos do aprendizado profundo.
 

Como funcionam as redes neurais profundas - curso completo para iniciantes



Como funcionam as redes neurais profundas - curso completo para iniciantes

00:00:00 - 01:00:00 O vídeo "How Deep Neural Networks Work - Full Course for Beginners" oferece uma explicação abrangente de como as redes neurais operam, desde equações de regressão linear básicas até redes neurais convolucionais complexas usadas no reconhecimento de imagens. O instrutor usa exemplos e recursos visuais para explicar o funcionamento das redes neurais, incluindo como as camadas de nós realizam somas ponderadas e esmagamentos para produzir saídas, o processo de retropropagação para ajustar pesos e minimizar erros e o conceito de redes neurais convolucionais para reconhecer padrões em imagens. O vídeo também aborda tópicos como funções logísticas, perceptrons multicamadas e o uso de várias funções de saída para criar classificadores.

01:00:00 - 02:00:00 O curso sobre como funcionam as redes neurais profundas para iniciantes abrange vários tópicos relacionados ao funcionamento de redes neurais. O instrutor do curso discute convolução, agrupamento e normalização e como eles são empilhados para formar uma rede neural profunda. A retropropagação também é explicada como um processo usado para ajustar os pesos da rede para redução de erros. O curso também cobre o uso de vetores, gating, funções de compressão e redes neurais recorrentes em sequência para tradução de sequência. O instrutor fornece exemplos de como as redes LSTM prevêem a próxima palavra em uma frase e como elas são úteis em sistemas robóticos ao identificar padrões ao longo do tempo. Por fim, o vídeo explica como as redes neurais são treinadas usando gradiente descendente com retropropagação para ajustar os pesos e reduzir erros.

02:00:00 - 03:00:00 O vídeo "Como funcionam as Redes Neurais Profundas - Curso Completo para Iniciantes" discute o desempenho das redes neurais em diversos cenários, comparando-o com a inteligência em nível humano. O palestrante apresenta uma definição científica de inteligência como a capacidade de fazer bem muitas coisas e compara o desempenho e a generalidade de máquinas e humanos em uma escala logarítmica. O vídeo aborda tópicos como as limitações das redes neurais convolucionais na classificação de imagens, o sucesso do aprendizado profundo em jogar jogos de tabuleiro e tradução de idiomas, as limitações de generalidade dos recomendadores e carros autônomos e a crescente complexidade dos robôs humanóides. O vídeo destaca o impressionante aumento de inteligência, generalidade e desempenho do AlphaZero e defende o foco na interação física para criar algoritmos que possam acomodar um conjunto mais geral de tarefas, aproximando-nos da inteligência em nível humano. Por fim, o instrutor explica o processo de convolução, agrupamento e normalização em redes neurais convolucionais para reconhecer padrões e fazer previsões precisas.

03:00:00 - 03:50:00 Este vídeo sobre como as redes neurais profundas funcionam leva um iniciante ao processo de categorização de imagens por meio da construção de neurônios e camadas que reconhecem padrões nos valores de brilho das imagens. O vídeo cobre o processo de otimização usando gradiente descendente e diferentes métodos de otimização, como algoritmos genéticos e recozimento simulado. O instrutor explica como minimizar erros e ajustar pesos por meio de retropropagação e como otimizar hiperparâmetros em redes neurais convolucionais. Embora existam muitas ferramentas disponíveis para criar redes neurais, uma compreensão completa da preparação de dados, interpretação e escolha de hiperparâmetros continua sendo importante.

Parte 1

  • 00:00:00 Nesta seção, o instrutor fornece um exemplo de como uma rede neural funcionaria se recebesse uma tarefa para determinar automaticamente se uma imagem em preto e branco de quatro pixels é uma imagem sólida totalmente branca ou totalmente escura, uma linha vertical, uma linha diagonal ou uma linha horizontal. Ele explica que é complicado fazer isso com regras simples sobre o brilho dos pixels e, em vez disso, uma rede neural começaria pegando todas as entradas e atribuindo um número a cada pixel dependendo do brilho, sendo mais um todo o muito branco e menos um sendo totalmente preto. As conexões ponderadas dos neurônios de entrada são somadas e os valores são compactados para garantir que o valor do neurônio nunca fique fora do intervalo de mais um para menos um, o que é útil para manter os cálculos na rede neural limitados e estáveis.

  • 00:05:00 Nesta seção, o vídeo explica como as redes neurais profundas funcionam e como cada camada opera. Os neurônios em uma camada realizam uma soma ponderada e esmagam o resultado, que então se torna a entrada para a próxima camada. À medida que as camadas se aprofundam, os campos receptivos tornam-se mais complexos e cobrem todos os pixels. O vídeo também apresenta o conceito de unidades lineares retificadas, que substituem a função de squash e possuem propriedades de estabilidade muito boas para redes neurais. Por fim, após criar quantas camadas forem necessárias, é criada a camada de saída, que fornece os resultados da rede neural.

  • 00:10:00 Nesta seção, o instrutor explica como as redes neurais são treinadas para ajustar seus pesos para minimizar o erro entre suas previsões de saída e a verdade real. Isso é feito calculando a inclinação ou a mudança no erro em relação a uma mudança no peso e ajustando os pesos na direção que diminui o erro. Este é um processo computacionalmente caro porque requer a multiplicação de todos os pesos e valores de neurônios em cada camada para cada ajuste de peso. No entanto, existe um insight que permite que a inclinação seja calculada diretamente sem voltar pela rede neural, tornando o processo de treinamento mais eficiente.

  • 00:15:00 Nesta seção, o instrutor explica como as redes neurais profundas funcionam e como elas usam o cálculo para calcular a inclinação para ajustar pesos e reduzir erros. Por meio de um exemplo simples de uma rede neural com um peso, ele demonstra o conceito de encadeamento, em que a inclinação de cada pequeno passo é multiplicada para obter a inclinação da cadeia completa. Ele menciona que existem muitos tipos de retropropagação que exigem diferentes operações a serem realizadas em cada neurônio, mas, em última análise, o objetivo é calcular a inclinação para ajustar os pesos e reduzir os erros de forma eficiente.

  • 00:20:00 Nesta seção, o instrutor discutiu como retropropagar os elementos de uma rede neural, como a função sigmoide e a unidade linear retificada, para calcular o efeito de ajustar qualquer peso dado no erro. Para treinar uma rede, começa-se com uma rede totalmente conectada, atribui-se valores aleatórios a todos os seus pesos e calcula-se o erro usando retropropagação para ajustar ligeiramente esses pesos. A entrada conhecida com a resposta determina a exatidão dos pesos, e o processo se repete com várias entradas até que os pesos gravitem em direção a um ponto baixo onde eles funcionam bem mais perto da verdade na maioria das imagens. As redes neurais tendem a estimar tais relações entre variáveis de entrada e saída, aprender continuamente e avaliar relações não lineares entre dados.

  • 00:25:00 Nesta seção, o vídeo explica como uma equação de regressão linear pode ser representada como uma rede. Isso nos ajuda a entender melhor como as redes neurais funcionam. A rede é composta de nós e arestas, sendo os nós de entrada x sub 0 e x sub 1, e o nó de saída v sub 0. Os pesos, representados por w sub 0 0 e w sub 1, são as arestas que conectam os nós de entrada e saída. Isso é chamado de grafo acíclico direcionado, o que significa que as arestas vão apenas em uma direção e não há como formar um loop. Adicionar mais nós de entrada pode tornar a equação de dimensão superior, mas ainda permanece uma equação linear, com os pesos determinando a relação entre as entradas e a saída.

  • 00:30:00 Nesta seção, o vídeo discute o conceito de uma rede linear de duas camadas e como adicionar mais camadas pode aumentar sua complexidade. A rede de duas camadas é composta por camadas idênticas que funcionam da mesma maneira. Para tornar o modelo mais flexível, a não linearidade deve ser adicionada. Uma função não linear comum a ser adicionada é a função logística, também conhecida como função sigmoide, que tem a forma de um S. Adicionar mais camadas e não linearidade à rede cria um modelo mais complexo que pode fornecer resultados mais sofisticados.

  • 00:35:00 Nesta seção, aprendemos sobre as funções logísticas e seu papel na regressão logística, que é usada como um classificador. A regressão logística encontra a relação entre uma entrada e uma saída contínua e categórica, onde as observações de uma categoria são tratadas como zeros e as observações da outra categoria são tratadas como um, e uma função logística que melhor se ajusta a todas essas observações é encontrada. Ao adicionar mais entradas, a regressão logística pode trabalhar com muitas variáveis de entrada, e estas se tornam classificadoras lineares independentemente do número de dimensões. Também aprendemos sobre a tangente hiperbólica, que é uma função não linear relacionada à função logística. Essas funções não lineares nos ajudam a sair do domínio das redes lineares e nos fornecem uma variedade maior de comportamento do que jamais vimos em redes de camada única. Ao empilhar camadas com vários nós ocultos, podemos criar curvas mais complexas com ondulações, picos e vales.

  • 00:40:00 Nesta seção, o vídeo descreve como as curvas criadas por uma rede de duas camadas podem ser matematicamente idênticas àquelas criadas usando uma rede de várias camadas. Mesmo que a rede de muitas camadas possa criar curvas mais complexas usando menos nós, a rede de duas camadas ainda pode criar curvas ricas usando nós ocultos suficientes. O vídeo explica como essas curvas podem ser usadas para criar um classificador e mostra que os classificadores não lineares, ao contrário dos lineares, podem criar regiões intercaladas de classificação. O vídeo conclui mostrando o diagrama de rede completo de um perceptron multicamada e um diagrama genérico para uma rede de entrada única de saída única de três camadas, que pode ser totalmente definida especificando o número de entradas, saídas, camadas e nós ocultos.

  • 00:45:00 Nesta seção do vídeo, o apresentador discute o uso de uma rede neural de duas saídas para criar um classificador que divide o espaço de entrada em regiões com base no cruzamento das duas funções de saída. Essa abordagem pode ser estendida com três ou mais funções de saída, permitindo que mais categorias sejam aprendidas e espaços de entrada sejam divididos de maneiras mais complexas do que um classificador linear pode realizar. No entanto, a categoria vencedora pode não ser significativamente melhor do que a categoria vice-campeã. Apesar de suas limitações, este método demonstra o poder das redes neurais para criar diversos limites de categoria, ao mesmo tempo em que favorece a suavidade devido às funções de ativação utilizadas.

  • 00:50:00 Nesta seção, o vídeo discute redes neurais convolutivas (CNNs) e sua capacidade de aprender e reconhecer padrões em imagens, como rostos, carros e até videogames. O vídeo explica que as CNNs não são mágicas, mas baseadas em princípios fundamentais aplicados de maneira inteligente. O vídeo usa um exemplo simples de brinquedo de uma CNN que decide se uma imagem de entrada é um X ou um O para ilustrar como as CNNs funcionam. A parte difícil das CNNs é que muitas variações são possíveis ao identificar o que é a imagem. O vídeo explica como uma CNN pode lidar com a variação e identificar a imagem dividindo a imagem em padrões menores e usando filtros para identificar esses padrões.

  • 00:55:00 Nesta seção, o curso explica como as redes neurais convolucionais podem combinar partes de uma imagem para determinar se duas partes são iguais. Ao dividir as imagens em partes ou recursos menores, a rede neural convolucional pode identificar se os recursos combinam entre si. A matemática por trás da correspondência desses recursos é chamada de filtragem e envolve alinhar um recurso com um trecho de uma imagem e, em seguida, multiplicar um pixel por outro pixel e dividi-lo pelo número total de pixels. A aplicação repetida desse recurso na imagem produz um mapa de onde esse recurso ocorre, permitindo que a rede neural identifique quais partes da imagem correspondem.


Parte 2

  • 01:00:00 Nesta seção, o instrutor do curso explica os três principais truques usados em redes neurais profundas. O primeiro truque é a camada de convolução, onde uma imagem é convoluída com uma série de filtros para produzir uma pilha de imagens filtradas. O segundo truque é o pooling, que é usado para encolher a pilha de imagens tomando um tamanho de janela e um valor de passo para obter uma imagem menor representando o valor máximo na janela. Finalmente, o terceiro truque é a normalização, que é usada para evitar que a matemática exploda e envolve a alteração de todos os valores negativos da imagem para zero. Esses truques são empilhados juntos para formar uma rede neural profunda, e sua saída forma uma matriz de pixels que pode ser manipulada posteriormente.

  • 01:05:00 Nesta seção, o vídeo explica como as redes neurais podem usar uma técnica de empilhamento profundo de camadas convolucionais e de agrupamento que filtram e reduzem a imagem a cada iteração. A camada final totalmente conectada conecta cada lista de imagens filtradas e reduzidas a uma série de votos, que se tornam a resposta final. Para obter esses pesos, as redes neurais dependem da retropropagação para ajustar com base no sinal de erro final da camada de saída. Este processo é conhecido como gradiente descendente.

  • 01:10:00 Nesta seção do curso para iniciantes sobre como funcionam as redes neurais profundas, o instrutor explica o processo de gradiente descendente, que permite o ajuste dos pesos da rede neural para minimizar erros. Ao ajustar os pesos para cima e para baixo, a rede encontra a direção descendente e estabelece um mínimo onde o erro é mínimo. Os hiperparâmetros são botões que o designer pode girar e incluem decisões como o número de recursos usados, o tamanho da janela e o passo nas camadas de agrupamento e o número de neurônios ocultos em camadas totalmente conectadas. Além disso, o instrutor explica que a rede neural pode ser aplicada a dados bidimensionais ou mesmo tridimensionais ou quadridimensionais, desde que os dados sigam um padrão em que coisas mais próximas estejam mais relacionadas. Isso permite que a rede seja usada em áreas como análise de som e texto.

  • 01:15:00 Nesta seção, as limitações das redes neurais convolucionais (CNNs) são discutidas, pois são projetadas para capturar padrões espaciais locais e, portanto, podem não ser adequadas para dados que não podem ser representados como imagens. As CNNs são altamente eficientes em encontrar padrões e classificar imagens, mas se os dados forem tão úteis depois de trocar qualquer uma das colunas uma pela outra, então as CNNs podem não ser uma boa opção. Por outro lado, as redes neurais recorrentes (RNNs), especificamente a memória de longo prazo (LSTM), são úteis para a tradução de sequência para sequência, com aplicações como fala em texto ou de um idioma para outro. Um exemplo de como os LSTMs funcionam é dado para prever o que há para o jantar, onde o processo de votação é simplificado por meio da observação dos ciclos do jantar.

  • 01:20:00 Nesta seção, o instrutor explica o conceito de vetores, que é apenas uma lista de números e como isso pode ser útil no aprendizado de máquina. Os vetores são expressos na forma de uma lista de todos os valores possíveis e um número é atribuído a cada um. O instrutor explica como a codificação one-hot costuma ser usada em instruções de codificação. A rede neural é projetada conectando cada elemento no vetor de entrada a cada elemento no vetor de saída. O exemplo usado é prever o que há para o jantar usando dados anteriores, levando em consideração nossas informações reais de ontem e qual foi nossa previsão de ontem. O instrutor explica posteriormente que as redes neurais recorrentes podem ser úteis para prever o que vem a seguir em uma série, como no aprendizado de idiomas.

  • 01:25:00 Nesta seção, é explicado o uso de uma função de compressão para evitar loops de feedback. A rede neural recorrente envolve votos para um nome, ponto ou "serra" com base nas palavras que foram usadas antes. No entanto, este sistema está sujeito a erros e limitações porque só pode lembrar um passo de tempo. Para superá-los, uma função de memória é adicionada à rede por meio de símbolos adicionais, incluindo uma função de esmagamento com fundo plano, um "x" em um círculo e uma cruz em um círculo para adição e multiplicação elementar. Isso permite que a rede se lembre do que aconteceu muitas etapas de tempo atrás e realize a multiplicação por elementos, permitindo uma funcionalidade nova e aprimorada.

  • 01:30:00 Nesta seção, o vídeo apresenta o gating, que permite controlar o que passa e o que é bloqueado em uma rede neural. O conceito é demonstrado usando tubos com níveis variados de fluxo de água e torneiras, que podem ser fechadas para zero ou abertas para um. A introdução da função logística, que espreme valores entre zero e um, fornece uma maneira de sempre ter um valor dentro desse intervalo. O vídeo demonstra como o gating pode ser usado para armazenar e liberar memórias e previsões seletivamente usando um conjunto de portas, cada uma controlada por sua própria rede neural e função de esmagamento. Por fim, um mecanismo de atenção é introduzido para deixar de lado entradas irrelevantes para evitar que obscureçam as previsões e a memória daqui para frente.

  • 01:35:00 Nesta seção, o instrutor dá um exemplo de como uma rede LSTM treinada pode gerar previsões para a próxima palavra em uma frase. Supondo que o LSTM tenha sido treinado em exemplos de livros infantis, a frase de exemplo é "Jane saw Spot". A palavra "Doug" é a palavra mais recente e o LSTM prevê "Doug", "Jane" e "Spot" como opções viáveis. O LSTM então passa essas previsões por quatro redes neurais diferentes que aprendem a fazer previsões, e o LSTM prevê que "saw" é a próxima palavra mais provável. O exemplo mostra como um LSTM pode gerar previsões com base nas palavras e previsões anteriores e evitar certos erros usando portas de memória e seleção.

  • 01:40:00 Nesta seção, o instrutor explica como as redes neurais LSTM são capazes de analisar várias etapas de tempo para identificar padrões nos dados, tornando-as bem-sucedidas em aplicações práticas, como tradução de idiomas e software de fala para texto. Ele também discute como as redes LSTM são particularmente úteis em robótica, onde as ações tomadas por um agente podem influenciar o que é detectado e o que deve ser feito muitas etapas de tempo depois. Embora as redes LSTM possam parecer complexas quando expressas matematicamente, o instrutor incentiva os espectadores a se concentrarem nos princípios básicos, comparando o aprendizado profundo a um caça a jato altamente especializado em comparação com um avião mais simples.

  • 01:45:00 Nesta seção do vídeo, o instrutor explica a estrutura básica e a função dos neurônios em uma rede neural. Os dendritos dos neurônios agem como antenas e captam a atividade elétrica, que é então acumulada no soma e enviada através do axônio como um sinal. A força do sinal que passa por uma sinapse, onde o axônio de um neurônio toca o dendrito de outro, é representada pelo tamanho de um círculo, com um círculo maior indicando uma conexão mais forte. Ao atribuir números e pesos a essas conexões, uma rede neural complexa pode ser simplificada em um diagrama circular onde cada bastão representa um peso. Este diagrama é usado para representar combinações de entradas e saídas, com cada conexão tendo seu próprio peso.

  • 01:50:00 Nesta seção, o vídeo explica que as redes neurais funcionam combinando neurônios de entrada e suas conexões com neurônios de saída. Por meio de um exemplo simples de pixels de entrada sendo combinados para criar uma imagem de saída, o vídeo mostra como os neurônios de entrada representam elementos individuais, como pixels ou palavras, e podem ser combinados para representar conceitos mais complexos. O vídeo também discute o processo de aprendizado em redes neurais, onde os pesos iniciais da conexão são atribuídos aleatoriamente e atualizados com base nos padrões de entrada-saída observados, permitindo que a rede melhore com o tempo.

  • 01:55:00 Nesta seção, o vídeo explica como as redes neurais são treinadas usando gradiente descendente com retropropagação. O objetivo é ajustar os pesos dos neurônios a fim de reduzir o erro entre a saída real e a saída esperada. Ao dar pequenos passos incrementais, os pesos são ajustados até que o erro seja minimizado. Esse processo é repetido para cada ponto de dados e, se houver várias camadas, a saída de uma camada é usada como entrada para a próxima camada. Isso é chamado de rede neural profunda. Quanto mais camadas houver, mais complexos serão os recursos que podem ser aprendidos, possibilitando a identificação de imagens ou mesmo frases de linguagem natural.


Parte 3

  • 02:00:00 Nesta seção do vídeo, o instrutor explica como as redes neurais profundas funcionam em diferentes cenários. Ao treinar imagens de rostos ou automóveis, a rede neural aprende a reconhecer os componentes básicos desses objetos, como olhos, narizes e rodas. Quanto mais profunda a rede se torna, mais complexo se torna o reconhecimento, eventualmente levando a imagens identificáveis, como rostos, aranhas e ursinhos de pelúcia. Além disso, redes neurais profundas podem ser usadas para aprender e agrupar artistas musicais semelhantes. O instrutor também aborda como as redes neurais profundas podem ser combinadas com o aprendizado por reforço para aprender a jogar os jogos do Atari melhor do que os humanos e como os robôs podem ser ensinados a cozinhar usando representações de vídeo. Por fim, o instrutor esclarece que o aprendizado profundo é bom para aprender padrões, mas não é mágico.

  • 02:05:00 Nesta seção, uma definição funcional de inteligência é apresentada como sendo capaz de fazer muitas coisas e fazê-las bem. Essa definição permite uma discussão científica sobre inteligência de máquina e nos permite comparar a inteligência relativa de diferentes agentes. Usando a equação "inteligência é igual a desempenho vezes generalidade", podemos traçar isso em uma escala logarítmica para representar o nível humano de desempenho e generalidade. As máquinas podem exceder o desempenho humano em algumas áreas devido a limitações humanas, como atenção limitada e tendências cognitivas.

  • 02:10:00 Nesta seção, o vídeo discute como a inteligência é comparada em um gráfico com a generalidade como um eixo e o desempenho como o outro. Os computadores que jogam xadrez foram os primeiros agentes a atuar em um nível sobre-humano, com o Deep Blue da IBM derrotando Gary Kasparov em 1989. O atual programa de xadrez de última geração, Stockfish, tem uma classificação ELO de 3447, tornando-o muito melhor do que qualquer jogador humano. No entanto, vale a pena notar que Stockfish é especificamente programado para xadrez e carece de generalidade, ao contrário dos humanos. O vídeo compara o Stockfish ao jogo de tabuleiro Go, considerado ainda mais complexo, e demonstra a importância da generalidade na inteligência.

  • 02:15:00 Nesta seção, a transcrição discute como o jogo Go, apesar de ter exponencialmente mais configurações de tabuleiro possíveis do que o xadrez, foi derrotado pelo programa AlphaGo, que utilizou uma técnica chamada redes neurais convolucionais para aprender configurações comuns e aprendizado por reforço em uma biblioteca de jogos humanos para aprender quais jogadas eram boas. Da mesma forma, no campo da classificação de imagens, foi criado um banco de dados chamado ImageNet onde as máquinas foram capazes de classificar as imagens melhor que os humanos com uma taxa de erro inferior a cinco por cento. Com as máquinas rotineiramente superando os humanos nessa tarefa, o progresso feito no aprendizado de máquina é impressionante.

  • 02:20:00 Nesta seção, o palestrante discute as limitações das redes neurais convolucionais (CNN) na classificação de imagens. Embora as CNNs sejam projetadas para encontrar padrões em matrizes bidimensionais de dados, como pixels em um tabuleiro de xadrez, elas quebram facilmente fora do conjunto de imagens em que são treinadas. A fragilidade das CNNs é demonstrada quando as imagens são distorcidas, um único pixel é alterado ou adesivos são adicionados para enganar a CNN e fazer com que a imagem seja classificada erroneamente. O palestrante explica que a generalidade da classificação de imagens não está onde gostaríamos que estivesse, embora tenha um desempenho melhor do que os humanos no conjunto de dados ImageNet. A palestra também menciona que o algoritmo de deep q learning da DeepMind impressionou o mundo ao atingir o nível de especialista humano em 29 dos 49 jogos clássicos do Atari.

  • 02:25:00 Nesta seção, o instrutor discute o desempenho das redes neurais profundas ao jogar videogames e traduzir idiomas. Depois de usar redes neurais convolucionais para aprender padrões de pixel para jogar videogames usando aprendizado por reforço, o algoritmo não foi capaz de igualar o desempenho humano em 20 jogos que exigiam planejamento de longo prazo. Isso sugere que o algoritmo não pensou em várias etapas para fazer as conexões necessárias. Por outro lado, a tradução de idiomas usa memória de longo prazo (LSTM) para traduzir mais de 100 idiomas para uma única representação intermediária. No entanto, vale a pena notar que a tradução tem limitações de precisão e problemas de eficiência devido à extensa computação envolvida. Portanto, embora a tradução automática tenha o escopo, ela fica aquém do desempenho humano.

  • 02:30:00 Nesta seção, o palestrante discute o desempenho dos recomendadores e observa que eles são relativamente bons quando comparados aos humanos. No entanto, seu desempenho não é perfeito, pois o algoritmo não se adapta ao fato de que as preferências de uma pessoa podem mudar e não considera como os vários produtos estão relacionados. Em termos de generalidade, o conhecimento de mundo necessário para fazer os recomendadores funcionarem bem é bastante profundo, fazendo com que eles acertem no desempenho. Passando aos robôs, o palestrante destaca que os carros autônomos têm desempenho impressionante, pois apresentam índices de acidentes menores que os humanos, apesar de sua tarefa ser mais complicada. No entanto, os carros autônomos são menos gerais do que parecem, com o maior truque sendo reduzir a dificuldade da tarefa, o que reduz a generalidade necessária da solução.

  • 02:35:00 Nesta seção, o palestrante explica que os carros autônomos não são tão gerais quanto parecem, pois são projetados sob medida com base em um conjunto específico de sensores, seleção de algoritmos e condições ambientais. O desafio para os carros autônomos é abranger todas as condições nas quais eles irão operar. A partir de agora, os carros autônomos têm um desempenho inferior ao dos motoristas humanos, principalmente por causa de sua interação física e interação com outros carros e pessoas. Em seguida, o palestrante discute robôs humanóides e como a maioria das atividades são codificadas e bastante frágeis. Embora sua aplicação geral esteja aumentando com a complexidade dos sistemas, o desempenho ainda permanece ridiculamente baixo em comparação com um agente humano. A tendência de generalidade versus desempenho é discutida em detalhes, levando ao ponto do palestrante sobre a capacidade do programa AlphaZero, conforme visto no DeepMind.

  • 02:40:00 Nesta seção, o vídeo explica como o AlphaZero, um programa de IA, conseguiu vencer alguns dos melhores jogos de tabuleiro do mundo sem ser alimentado com nenhuma regra. O AlphaZero foi feito para aprender os padrões visuais de um jogo por tentativa e erro. Dois bebês AlphaZero foram criados para brincar um com o outro, mas apenas um foi autorizado a aprender e o outro não. Aquele que aprendeu conseguiu evoluir e se tornar um jogador intermediário depois de jogar e se clonar com um aprendendo e o outro não. Essa abordagem fez o AlphaZero vencer os humanos em apenas quatro horas e vencer o melhor computador anterior após oito. O jogo de IA também continuou e venceu o melhor programa de jogo de xadrez e o melhor programa de jogo de shogi, portanto, mostrando o aumento significativo do AlphaZero em inteligência, generalidade e desempenho. O vídeo também destaca como as suposições limitam a generalidade e permitem o desempenho em sistemas de IA.

  • 02:45:00 Nesta seção, o palestrante explica algumas suposições comuns feitas por algoritmos usados em inteligência artificial, incluindo redes neurais convolucionais, e por que essas suposições são insuficientes para alcançar a inteligência de nível humano. As suposições incluem estacionariedade, independência, ergodicidade e os efeitos das ações que se tornam aparentes rapidamente. Embora essas suposições funcionem bem para analisar matrizes bidimensionais de informações ou dados que não mudam muito, elas não se sustentam em interações físicas com o mundo, tornando-as inadequadas para a robótica humanóide ou qualquer robô fisicamente interativo. O palestrante propõe o foco na interação física para criar algoritmos que possam acomodar um conjunto mais geral de tarefas e nos aproximar um pouco mais da inteligência em nível humano. A seção também apresenta redes neurais convolucionais e sua capacidade de aprender os blocos de construção de imagens.

  • 02:50:00 Nesta seção, o instrutor fornece um exemplo de rede neural convolucional que pode classificar se uma imagem é de um X ou de um O, que leva em consideração diferentes tamanhos, rotações e pesos das imagens. Para identificar características específicas da imagem, a rede combina partes da imagem com certas características e as desloca até que a imagem geral seja considerada uma boa correspondência. O processo envolve filtragem, onde o recurso é alinhado com a imagem, multiplicado pixel a pixel e depois dividido pelo número total de pixels. Esse método permite que a rede reconheça padrões de imagens e faça previsões precisas.

  • 02:55:00 Nesta seção, o instrutor explica como a convolução opera em redes neurais convolucionais. A convolução está pegando um recurso e verificando cada patch possível em uma imagem para ver como ele corresponde. As comparações podem ser feitas em todos os locais da imagem, resultando em um mapa de imagem filtrada de onde o recurso corresponde à imagem. O instrutor descreve como o agrupamento reduz as imagens filtradas para versões menores da imagem original. Nesta etapa, uma janela de pixels é selecionada e os valores maximizados são escolhidos, resultando em uma imagem menor que ainda mantém o sinal original. Por fim, a normalização é necessária para evitar números negativos e manter valores gerenciáveis na rede.


Parte 4

  • 03:00:00 Nesta seção do vídeo, o instrutor explica o processo de como a rede neural convolucional progride pelas camadas subsequentes, começando com a função de unidade linear retificada que converte tudo o que é negativo em zero. Como a saída de uma camada se parece com a entrada da próxima camada, a saída final é uma pilha de imagens que foi transformada por camadas de convolução, retificação e agrupamento, o que produz uma pilha de imagens filtradas sem valores negativos que foram tamanho reduzido. Além disso, o instrutor afirma que os valores de pixel finais que tendem a ser fortes quando a resposta certa é x ou o fornecem um voto forte para as categorias x ou o, respectivamente, e os votos ponderados totais são usados para categorizar a entrada como um x ou o por uma camada totalmente conectada que pega uma lista de valores de recursos e se torna uma lista de votos para cada categoria de saída.

  • 03:05:00 Nesta seção, o palestrante explica como as redes neurais são usadas para categorizar imagens. As imagens são divididas em seus pixels componentes, que são então transformados em uma lista de valores de brilho. Cada valor corresponde a um nível diferente de brilho, variando de -1 para preto a +1 para branco. Esta lista de valores de brilho é usada para construir um neurônio, que recebe entrada de quatro dos pixels e executa uma soma ponderada. O neurônio então aplica uma função de "esmagar" para garantir que o resultado esteja entre -1 e +1. Esse processo de usar neurônios para categorizar imagens pode ser repetido várias vezes para criar uma camada, vagamente inspirada nas camadas biológicas encontradas no córtex humano.

  • 03:10:00 Nesta seção, o instrutor explica como os campos receptivos nas redes neurais se tornam mais complexos nas camadas superiores. Ao conectar a camada de entrada a várias camadas ocultas de neurônios, cada neurônio combina as entradas da camada anterior com pesos específicos. Quando uma unidade linear retificada é usada em vez de uma soma ponderada, o neurônio gera o valor original se for positivo e 0 se for negativo. Por meio desse processo, a rede aprende a reconhecer padrões que se assemelham às saídas desejadas, resultando em uma camada de saída final que classifica a entrada. O instrutor usa um exemplo de imagem com uma barra horizontal para demonstrar como a rede processa a imagem em cada camada.

  • 03:15:00 Nesta seção, o vídeo explica o processo de otimização e como os modelos de redes neurais profundas aprendem adaptando-se por meio da otimização de pesos e filtros. O processo de otimização é ilustrado com um exemplo de otimização da temperatura do chá para maximizar o prazer. O processo envolve encontrar o ponto mínimo da função matemática, o que pode ser feito por gradiente descendente, um processo de fazer iterações e ajustar levemente a entrada até atingir o valor mínimo. O vídeo também observa que os pesos e filtros são aprendidos por meio de vários exemplos ao longo do tempo, e é disso que se trata o aprendizado de máquina.

  • 03:20:00 Nesta seção, o palestrante discute outros métodos para otimizar modelos além do gradiente descendente. Um método popular é usar a curvatura para encontrar os parâmetros ideais fazendo chá de temperaturas variadas e observando a inclinação da curva. No entanto, esse método pode falhar se a curva não for bem comportada e os gradientes podem ficar presos em mínimos locais. Para evitar ficar preso em mínimos locais, outros métodos como algoritmos genéticos e recozimento simulado podem ser usados, que são mais eficientes em termos de amostra do que a exploração exaustiva, mas não tão rápido quanto a descida do gradiente. O palestrante compara esses métodos a diferentes tipos de veículos, com a descida de gradiente sendo um carro de corrida de fórmula um, algoritmos genéticos e recozimento simulado sendo uma caminhonete com tração nas quatro rodas e exploração exaustiva sendo como viajar a pé.

  • 03:25:00 Nesta seção, o palestrante dá um exemplo de como usar a otimização numérica para responder a uma pergunta de forma menos errada. O exemplo envolve adivinhar o número de M&Ms em uma sacola, e o palestrante explica como converter o palpite em uma função de custo usando uma medida de desvio, que pode ser elevada ao quadrado para penalizar mais severamente palpites distantes. A função de perda calcula o quão errado está o palpite quando uma medida de desvio é elevada ao quadrado e pode ajudar a explorar exaustivamente o palpite dentro de um intervalo e encontrar visualmente o valor mais baixo. Como alternativa, uma inclinação em relação a suposições pode ser encontrada tomando a derivada da função de perda, definindo-a como 0 e resolvendo a equação.

  • 03:30:00 Nesta seção, o palestrante discute a otimização e como ela é usada em redes neurais para encontrar os melhores pesos e recursos. A descida do gradiente é usada para ajustar todos os pesos em cada camada para reduzir o erro. No entanto, calcular o gradiente requer muitas passagens pela rede para determinar qual direção é descendente. A retropropagação é então introduzida como uma forma de encontrar uma solução analítica para o problema de inclinação, permitindo um processo de otimização mais eficiente. O palestrante também explica o uso de uma função de custo, especificamente o desvio ao quadrado, que permite calcular a soma dos desvios, levando a encontrar o melhor palpite.

  • 03:35:00 Nesta seção, o instrutor explica como o cálculo da inclinação ou derivada da função de erro pode ajudar a ajustar os pesos de uma rede neural. Ele dá o exemplo de uma rede neural simples com uma entrada, uma saída e uma camada oculta com um neurônio, mostrando como a inclinação da função de erro pode ser encontrada com um cálculo simples. O processo de quebrar as mudanças de pesos e erros para encontrar a inclinação é chamado de encadeamento, o que permite ajustar os pesos encontrados mais profundamente na rede neural. Esse processo é chamado de retropropagação, onde os valores no final da rede precisam ser utilizados para calcular as derivadas dos pesos para propagação do erro pelas profundidades da rede.

  • 03:40:00 Nesta seção do vídeo, o instrutor explica a etapa de retropropagação no treinamento de redes neurais. Ele enfatiza a importância de cada elemento em uma rede neural permanecer diferenciável para que a regra da cadeia possa ser usada para calcular o elo da cadeia ao encontrar derivadas. O instrutor demonstra como a regra da cadeia pode ser usada para uma camada totalmente conectada e também explica como ela pode ser aplicada a camadas convolucionais e de agrupamento. O processo de ajuste dos pesos em uma rede neural ao longo de milhares de iterações repetitivas para obter respostas eficientes também é discutido.

  • 03:45:00 Nesta seção, o instrutor explica como otimizar os hiperparâmetros de uma rede neural convolucional (CNN). Esses parâmetros, como o número, tamanho e passo dos recursos, as janelas de agrupamento e o número de neurônios ocultos, são o próximo nível e controlam como tudo acontece abaixo. O instrutor aponta que existem algumas receitas que os pesquisadores encontraram que parecem funcionar bem, mas há muitas combinações desses hiperparâmetros que ainda não foram tentadas, o que significa que sempre há a possibilidade de que algumas combinações funcionem muito melhor do que foi visto até agora. Além disso, observa-se que as CNNs não são úteis apenas para imagens, mas também para quaisquer dados bidimensionais ou tridimensionais em que as coisas que estão mais próximas estão mais relacionadas do que as coisas distantes. No entanto, as capacidades de reconhecimento de padrões das CNNs são limitadas apenas a padrões espaciais e, portanto, são menos úteis em situações em que a organização espacial dos dados não é importante.

  • 03:50:00 Nesta seção, o palestrante explica que, embora criar suas próprias redes neurais convolucionais do zero seja um ótimo exercício, já existem muitas ferramentas maduras disponíveis para uso. A conclusão desta seção é que, ao trabalhar com redes neurais, é importante tomar muitas decisões sutis sobre como preparar os dados, interpretar os resultados e escolher os hiperparâmetros. Entender o que está sendo feito com os dados e o significado por trás deles ajudará a obter o máximo das ferramentas disponíveis.