O que preciso estudar para o aprendizado de máquina?


9

Desde o ano passado, venho estudando várias disciplinas para entender algumas das mais importantes teses de aprendizado de máquina, como

S. Hochreiter, & J. Schmidhuber. (1997). Memória de curto prazo . Computação Neural, 9 (8), 1735-1780.

No entanto, devido ao fato de não possuir conhecimentos matemáticos, comecei a aprender assuntos como

  • Cálculo
  • Cálculo multivariado
  • Anaylsis matemático
  • Álgebra Linear
  • Equações diferenciais
  • Anaylsis real (teoria das medidas)
  • Probabilidade e Estatística Elementares
  • Estatística Matemática

No momento, não posso dizer que fiz um estudo rigoroso desses assuntos, mas sei com o que os assuntos acima querem lidar. O fato é que não sei o que tenho que fazer neste momento. Existem muitos assuntos que o aprendizado de máquina usa para resolver muitos problemas por aí e eu não sei como utilizá-los corretamente.

Por exemplo, o aprendizado por reforço é agora um dos tópicos mais populares que centenas de milhares de pesquisadores estão fazendo agora para fazer uma descoberta da maldição da dimensionalidade. Mas, como um futuro funcionário que trabalhará em empresas de TI, a tarefa na mesa não seria algo que eu esperava fazer.

É importante ter minha própria experiência para trabalhar nos campos? Se sim, que tipos de assuntos eu tenho que estudar agora?

Para sua conveniência, quero saber mais sobre o processo de Markov e o processo de decisão de Markov.


11
Eu diria que, se você entendeu tudo nesse documento da LSTM, mais ou menos já possui todos os "pré-requisitos" para seguir sua carreira na ML. Obviamente, você encontrará novos conceitos (todo mundo encontra) no seu caminho, mas poderá lidar com eles (fazendo algumas pesquisas por conta própria). Os processos e MDPs de Markov não são realmente um grande problema, se você entendeu o artigo sobre LSTM.
nbro

Respostas:


4

Como estudante de mestrado em Inteligência Artificial, recomendo fortemente que você estude algumas noções básicas de Machine Learning.

Para fazer isso, você pode obter um bom livro ( Machine Learning , Tom Mitchell, McGraw Hill, 1997) sobre a teoria e a prática por si mesmo, tentando algumas competições do Kaggle .

Sugeri o livro de Mitchell porque ele é um especialista na área, e muitos cursos de aprendizado de máquina o utilizam. Você também pode acompanhar suas videolecturas online

No Kaggle, você pode encontrar muitos tutoriais úteis (chamados de Notebooks) para começar a trabalhar com os conjuntos de dados disponíveis. Alguns tutoriais sobre o Titanic Challenge aqui


5

Na verdade, você não precisa de um estudo rigoroso desses assuntos para implementar os algoritmos de aprendizado de máquina. Somente a Teoria da Probabilidade precisa ser tratada com rigor no Machine Learning. Você pode encontrar uma série muito boa de palestras sobre Teoria das Probabilidades aqui:

Introdução à Probabilidade - A Ciência da Incerteza

Além disso, um curso básico em Cálculo seria suficiente, para implementações básicas você realmente não precisa compreender o Cálculo de alto nível, a menos que queira criar esquemas de atualização de peso personalizados ou Redes Neurais com algo novo. Mas, para ter uma intuição sobre o Cálculo, consulte a Khan Academy: Calculus

Alguma idéia básica da Álgebra Linear é suficiente, apenas para visualizar as coisas e obter uma intuição. A Khan Academy tem um ótimo curso sobre isso, sugiro que você verifique: Álgebra linear

Assim, para linguagens de programação é melhor implementar o Machine Learning ou NEural Nets em Python ou R, pois a visualização e a programação de dados são bastante fáceis.

A principal coisa sobre a implementação de redes neurais e aprendizado de máquina é a prática, quanto mais você pratica, melhor fica. Você também terá uma intuição do que está fazendo com a prática. Somente a leitura de teoria e a compreensão de conceitos não o ajudarão. Você tem que implementá-lo na vida real. No que diz respeito ao livro, você pode ver minha resposta aqui:

Fontes avaliadas da Teoria da IA ​​/ Ferramentas / Aplicações para um programador experiente, novo em campo?


3

Achei modelos estatísticos muito úteis. No entanto, as estatísticas por si só não são suficientes, você também precisa de um histórico muito sólido na teoria das probabilidades.


1

Aprenda o básico do python primeiro. Comece com o teorema de baye e vá para 1) funções de densidade de probabilidade 2) funções de densidade cumulativa 3) funções contínuas 4) teorema do limite central.


Além disso, você acha que é importante aprender a teoria das probabilidades no nível de pós-graduação para ver uma tese de nível avançado sobre aprendizado de máquina? E também, suponha que eu conheça todas as coisas acima (não quero ser rude, mas, para ser honesto, sei qual é a diferença entre continuidade e continuidade uniforme, pdf, cdf, mgf e etc), você acha que é importante aprender o processo de markov para criar um programa de nível de produção?
Windforces

1

Primeiro, um rápido histórico sobre mim. Eu era um estudante pré-med que se formou em graduação com um diploma de Biofísica. Depois de muito trabalho e tomada de decisão inteligente, agora sou engenheiro de software de IA / ML com mestrado em Ciência da Computação (especialidade em Machine Learning).

É importante ter minha própria experiência para trabalhar nos campos?

Sim, absolutamente, mas não necessariamente em um contexto profissional. Você não precisa ter sido empregado como engenheiro de software de aprendizado de máquina, mas precisa demonstrar proficiência no campo. O que é um excelente exemplo para a segunda parte da sua pergunta ...

Se sim, que tipos de assuntos eu tenho que estudar agora?

O assunto deles não é um assunto que você deve focar. O aprendizado de máquina é uma combinação de muitos campos diferentes, e não seria muito eficiente se concentrar em apenas um antes de mergulhar em uma prática mais completa. Em vez disso, tutoriais e prática são o nome do jogo.

  • 3Blue1Brown no Youtube oferece ótimos tutoriais, especialmente em redes neurais
  • A Khan Academy é uma dádiva de Deus quando se trata de tutoriais de matemática. Álgebra linear e Probabilidade / Estatística são os melhores para começar, eu diria. Mas o cálculo multivariável e as equações diferenciais também são utilizados.
  • O Udacity é um ótimo site de tutoriais que ainda oferece programas "nanodegree" para oferecer mais experiência prática em inteligência artificial e aprendizado de máquina. É grátis se você quiser apenas ver os vídeos.
  • OpenAIGym é um ótimo lugar para praticar Aprendizagem por Reforço
  • O Kaggle tem ótimos tutoriais sobre aprendizado de máquina e seus concursos fornecem ótimas práticas com aprendizado supervisionado / não supervisionado.

Complemente seu desenvolvimento na teoria e no fundo matemático com o desenvolvimento e a prática para obter os melhores resultados. Você mencionou um foco específico nos MDPs, com os quais os tutoriais do Udacity e o OpenAIGym dariam boas práticas.

Se você estiver interessado em um mestrado, não posso recomendar o mestrado on-line em ciência da computação da Georgia Tech ( OMSCS ) o suficiente. É uma ótima educação e (quando eu estava matriculado em 2015) não requer GRE e custa apenas US $ 8000,00


-1

Aprenda Machine Learning em 3 meses

Este é o currículo de "Aprenda Machine Learning em 3 meses" este vídeo de Siraj Raval no Youtube

Mês 1

Semana 1 Álgebra Linear

https://www.youtube.com/watch?v=kjBOesZCoqc&index=1&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

Cálculo da semana 2

https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr

Probabilidade da semana 3

https://www.edx.org/course/introduction-probability-science-mitx-6-041x-2

Algoritmos da semana 4

https://www.edx.org/course/algorithm-design-analysis-pennx-sd3x

Mês 2

Semana 1

Aprenda python para ciência de dados

https://www.youtube.com/watch?v=T5pRlIbr6gg&list=PL2-dafEMk2A6QKz1mrk1uIGfHkC1zZ6UU

Matemática da Inteligência

https://www.youtube.com/watch?v=xRJCOz3AfYY&list=PL2-dafEMk2A7mu0bSksCGMJEmeddU_H4D

Introdução ao Tensorflow

https://www.youtube.com/watch?v=2FmcHiLCwTU&list=PL2-dafEMk2A7EEME489DsI468AB0wQsMV

Semana 2

Introdução ao ML (Udacity) https://eu.udacity.com/course/intro-to-machine-learning--ud120

Semana 3-4

Ideias de projeto do ML https://github.com/NirantK/awesome-project-ideas

Mês 3 (Deep Learning)

Semana 1

Introdução ao Deep Learning https://www.youtube.com/watch?v=vOppzHpvTiQ&list=PL2-dafEMk2A7YdKv4XfKpfbTH5z6rEEj3

Semana 2

Deep Learning by Fast.AI http://course.fast.ai/

Semana 3-4

Reimplemente projetos de DL do meu github https://github.com/llSourcell?tab=repositories


Recursos adicionais:
- Pessoas em ML a seguir no Twitter


11
Sim, eu posso lhe dizer por que votei esta resposta como negativo. 1) Não acho que você possa aprender bem o aprendizado de máquina em três meses, estudando também os pré-requisitos. 2) Todo mundo tem seu próprio ritmo ao aprender, portanto, restringir o aprendizado a 3 meses não é uma boa idéia. 3) Você está vinculando pessoas a outras fontes sem explicar o porquê.
nbro

Não podemos ser um profissional, mas pelo menos a Nuance, para fazer alguns e liderar uma competição de ML. Se eu colocar um link, mencionei lá o que você obterá desse link. Além disso, cada um tem seu próprio ritmo de aprendizado. Eu também concordo com esse ponto, mas você pode sujar as mãos nesses três meses. Esta é uma resposta muito genérica, considerando que o próprio não sabe nada, mas eles só querem começar e ganhar confiança depois disso, podem começar a se aprofundar.
Maheshwar Ligade 20/02/19

@nbro Se eu concordar com o seu ponto de toda a gente tem lá próprio ritmo de aprendizagem, em seguida, em algumas pessoas menos pode aproveitar essa resposta
Maheshwar Ligade

Esta resposta é mais aplicável aos engenheiros não para pesquisador e cientista
Maheshwar Ligade
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.