Estou começando a querer aprimorar minhas próprias habilidades e sempre fui fascinado pelo aprendizado de máquina. No entanto, seis anos atrás, em vez de prosseguir com isso, decidi tomar um diploma completamente não relacionado à ciência da computação.
Desenvolvo software e aplicativos há cerca de 8 a 10 anos, por isso tenho uma boa capacidade de lidar, mas não consigo penetrar no lado da matemática do aprendizado de máquina / probabilidades / estatísticas.
Começo a olhar para o material didático e, na primeira página, ele pode incluir algo que me confunde e cria imediatamente uma barreira no meu aprendizado.
- Uma sólida formação em matemática é um requisito total para o ML? Devo tentar preencher os espaços em branco da minha matemática antes de continuar com o ML? O autoaprendizagem pode realmente funcionar para apenas um desenvolvedor sem qualquer formação em ciência da computação?
Pergunta relacionada:
Respostas:
Stanford (Ng) e Caltech (Abu-Mostafa) colocaram aulas de aprendizado de máquina no YouTube. Você não consegue ver as tarefas, mas as palestras não dependem delas. Eu recomendo tentar assistir aos primeiros, pois eles ajudarão você a descobrir que matemática você precisa aprender. Acredito que Andrew Ng, no Coursera, ensina uma aula muito semelhante com tarefas, que Ng ajudou a criar.
Uma exceção: se bem me lembro, no início das palestras de Stanford, Ng faz alguns cálculos envolvendo derivadas de vestígios de produtos de matrizes. Essas são bastante isoladas, então não se preocupe se você não seguir esses cálculos. Eu nem sei que curso os cobriria.
Você deseja ter alguma familiaridade com probabilidade, álgebra linear, programação linear e cálculo multivariável. No entanto, você precisa de muito menos do que o contido em muitas aulas universitárias completas sobre esses assuntos.
fonte
Dependendo do tipo de aplicação, você não precisa necessariamente de muita matemática como praticante de ML.
Como programador autodidata (~ 15 anos) e freqüente abandono da faculdade sem muita experiência em matemática (Cálculo III) ou estatística, comecei com aprendizado de máquina / mineração de dados com alguns recursos:
O livro "Mastering Data Mining: The Art and Science of Customer Relationship Management", de Berry e Linoff
O livro "Data Mining Techniques", dos mesmos autores
R, em particular e os pacotes party e nnet
Eu trabalho em um marketing e operações sem fins lucrativos. Especialmente no começo, usei a mineração de dados principalmente para recursos de mala direta.
Mais tarde, tirei Álgebra Linear, Aprendizado de Máquina de Andrew Ng, Introdução aos Métodos Estatísticos (STAT 301) na CSU, etc.
Para você, recomendo começar com os dois livros, o curso de Andrew Ng e, dependendo da sua aplicação, as árvores de decisão (o pacote da parte em R).
fonte
Eu acho que essa é uma boa pergunta, na verdade, e altamente tópica; Não tenho certeza se há uma resposta no entanto. Um artigo recente provocou uma série de controvérsias (veja aqui ) ao sugerir que era fácil aprender on-line sobre ciência de dados. Uma coisa notável sobre a maioria dos estudos de caso mencionados nesse artigo, porém, é que eles provêm de contextos atuariais ou matemáticos.
Esse é um ponto interessante, pois indica que, embora cursos on-line como Coursera, Stanford e edX sejam úteis no ensino das habilidades específicas de ciência da computação necessárias, é provável que alguma formação matemática seja essencial para entender o que os modelos que você está aplicando estão fazendo . Por outro lado, um argumento igualmente forte poderia ser o de que esses caras tinham uma mente analítica para começar, e é por isso que eles trabalham em disciplinas quantitativas e também porque eles aprenderam facilmente o aprendizado de máquina e venceram competições.
Penso fundamentalmente que há um nível de problema de análise acontecendo aqui. Embora as habilidades matemáticas às vezes sejam úteis para entender as raízes probabilísticas dos algoritmos que você está aplicando, há um argumento igual a ser feito de que boas habilidades de engenharia de software podem adicionar tanto, permitindo que você faça análises de alto nível e monte partes de algoritmos para atingir seu objetivo, mesmo que você não entenda completamente por que eles estão fazendo isso . Geralmente, a ciência de dados (e o aprendizado de máquina por associação) é um campo empolgante justamente por causa dessa amplitude - você pode ser um cara de banco de dados e usar força bruta para resolver problemas, ou um matemático que usa simulação ou um cientista da computação que utiliza ferramentas bem projetadas. código para reunir diferentes algoritmos e abordagens da melhor maneira possível.
Todas as abordagens que contribuem para a previsão são boas, então eu diria que aprender um pouco de matemática pode ser uma boa idéia para oferecer a melhor chance de sucesso em campo. Se você deseja bons pontos de partida, o MIT tem um ótimo curso de álgebra linear , com algumas boas aplicações computacionais, que achei fáceis de entender. Eles também têm outros cursos sobre processos estocásticos e cálculo multivariável que também podem interessar na construção de seu conhecimento.
fonte
Uma sólida formação em matemática é um requisito total para o ML? - uma resposta e alguma especulação para ML conceituada como sendo estatística ;-)
Por volta de 1990, eu esperava que a álgebra computacional ajudasse, acho que é, mas é bastante limitada. Mas certamente ajuda a acelerar o aprendizado de matemática (menos necessidade de desenvolver habilidades de manipulação pela prática ou tentar sobreviver apenas com a capacidade de fazer os exercícios simples). Eu achei a Álgebra Linear de Fred Szabo com o Mathematica um excelente exemplo disso (mas eu já havia feito um curso de álgebra linear em nível de teoria avançada).
Trabalho desde 1988 (Utilizando métodos intensivos em computador para "concretizar" teoremas e princípios da estatística - precisamente) para tornar a resposta não ou pelo menos não necessária (para estatísticas). Seremos sempre capazes de entender mais rapidamente e de maneira mais geral, com habilidades e conhecimentos matemáticos adicionais. Acho que estou começando a me aproximar, mas é preciso uma representação manipulável dos modelos geradores de probabilidade e inferência que sejam válidos e úteis para mais do que apenas problemas com brinquedos.
Devo tentar preencher os espaços em branco da minha matemática antes de continuar com o ML?
Esse é um esforço árduo - no MHO, quase todo mundo que entende estatística chegou lá por estar muito confortável em manipular as representações matemáticas padrão e, especialmente, não tão padronizadas, de modelos geradores de probabilidade e caracterizações matemáticas de inferência (o maior x% dos Phds de estatística matemática). Portanto, não é apenas aprender o básico, mas estar realmente confortável com a matemática. (Como um aparte, para mim, a Teoria de Fourier era essencial.)
Por que essas representações são difíceis (mesmo com muita matemática)?
Gerd Gigerenzer estabeleceu praticamente que não há desafio com a simples doença positiva / negativa, dado o problema positivo / negativo do teste usando frequências naturais ”. Uma referência da questão vinculada parece fazer bom uso disso http://www.autonlab.org/tutorials/prob18.pdf
Por que isso é difícil de generalizar?
Para testes k (repetidos e ou diferentes) - 2 ^ k
Para testes que aceitam valores v - v ^ k
Assim, para binário desconhecido - 2 * v ^ k probabilidades de caminho de amostra
Para p múltiplas incógnitas binárias 2 ^ p * v ^ k
Para p múltiplas incógnitas racionais Q ^ p * v ^ k
Passa-se rapidamente para a matemática com infinitos contáveis e incontáveis para lidar com isso, o que mesmo com o conhecimento matemático leva a muitos mal-entendidos e aparentes paradoxos (por exemplo, o paradoxo de Borel?)
Além disso, existem mal-entendidos perigosos lineares e não-lineares (por exemplo, perigos ocultos da especificação de antecedentes não informativos Winbugs e outros MCMC sem informações para distribuição prévia ) e interações e efeitos aleatórios, etc.
fonte