Otimização e aprendizado de máquina


13

Eu queria saber quanto do aprendizado de máquina requer otimização. Pelo que ouvi, estatísticas é um tópico matemático importante para pessoas que trabalham com aprendizado de máquina. Da mesma forma, qual é a importância de alguém que trabalha com aprendizado de máquina para aprender sobre otimização convexa ou não convexa?


2
"trabalhar com aprendizado de máquina" é um conceito vago - trabalhar para desenvolver melhores métodos de ML significará uma resposta; desenvolver sistemas de ML que usem métodos conhecidos é algo totalmente diferente.
31417 Peteris

Respostas:


28

A maneira como vejo isso é que estatística / aprendizado de máquina informa o que você deve otimizar, e otimização é como você realmente o faz.

Por exemplo, considere regressão linear com onde E ( ε ) = 0 e V um r ( ε ) = σ 2 I . Estatísticas diz-nos que este é (geralmente) um modelo bom, mas encontramos a nossa estimativa real β através da resolução de um problema de otimizaçãoY=Xβ+εE(ε)=0 0Vumar(ε)=σ2Euβ^

β^=argminbRp||Y-Xb||2.

As propriedades de β são conhecidos por nós através de estatísticas por isso sabemos que este é um bom problema de otimização para resolver. Nesse caso, é uma otimização fácil, mas isso ainda mostra o princípio geral.β^

De modo mais geral, muito do aprendizado de máquina pode ser visto como a solução f = argmin f F 1 onde estou escrevendo isso sem regularização, mas que pode ser facilmente adicionado.

f^=argminfF1nEu=1neu(yEu,f(xEu))

Uma enorme quantidade de pesquisas em teoria estatística da aprendizagem (SLT) estudou as propriedades desses argminima, sejam eles assintoticamente ótimos, como eles se relacionam com a complexidade de e muitas outras coisas. Mas quando você realmente deseja obter fFf^ , muitas vezes você acaba com uma otimização difícil e é todo um conjunto separado de pessoas que estudam esse problema. Eu acho que a história do SVM é um bom exemplo aqui. Temos pessoas do SLT como Vapnik e Cortes (e muitos outros) que mostraram como o SVM é um bom problema de otimização para resolver. Mas depois foram outros, como John Platt e os autores da LIBSVM, que tornaram isso possível na prática.

Para responder sua pergunta exata, conhecer alguma otimização é certamente útil, mas geralmente ninguém é especialista em todas essas áreas, para que você aprenda o máximo que puder, mas alguns aspectos sempre serão uma caixa preta para você. Talvez você não tenha estudado adequadamente os resultados do SLT por trás do algoritmo ML favorito ou talvez não conheça o funcionamento interno do otimizador que está usando. É uma jornada ao longo da vida.


3
Vale a pena mencionar explicitamente en.wikipedia.org/wiki/Empirical_risk_minimization
Emre

13

Na prática, muitos pacotes cuidam da otimização e da maioria dos detalhes matemáticos para você. Por exemplo, o TensorFlow pode fazer descida gradiente backprop + estocástico para treinar redes neurais automaticamente (você só precisa especificar a taxa de aprendizado). As ferramentas de ML do scikit-learn geralmente não exigem que você saiba realmente como a otimização realmente ocorre, mas talvez apenas defina alguns parâmetros de ajuste e cuide do resto (por exemplo, número de iterações pelas quais o otimizador executa). Por exemplo, você pode treinar um SVM sem conhecer matemática no scikit-learn - basta alimentar os dados, o tipo de kernel e seguir em frente.

Dito isso, conhecer a otimização básica (por exemplo, no nível da programação não-linear Convex Optimization / Bertsekas de Boyd e Vandenberghe) pode ser útil no design e análise de algoritmos / problemas, especialmente se você estiver trabalhando em assuntos teóricos. Ou, implementando os algoritmos de otimização você mesmo.

Observe que os métodos de otimização de livros didáticos geralmente precisam de ajustes para realmente funcionar na prática em ambientes modernos; por exemplo, você não pode usar a descida estocástica clássica de Robbins-Munroe, mas uma variante acelerada mais rápida. No entanto, você pode obter algumas idéias ao trabalhar com os problemas de otimização.

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.