Curso oferecido pela deeplearning.ai no Coursera
Quando estamos modelando um projeto de Machine Learning várias atitudes podem ser tomadas para melhorar a performance. Porém, deve-se escolher corretamente tais medidas de modo que haja um aumento efetivo na performance. Para isto é necessário estruturar uma estratégia para atingir este objetivo.
A ortogonalização é uma propriedade onde uma modificação em um componente de um algoritmo não cria ou propaga efeitos colaterais aos outros componentes. De certa forma deseja-se que o sistema possa ser modificado componente a componente separadamente.
No contexto de projetos de Machine Learning desejamos poder controlar independentemente cada processo:
Ao desenvolver algum projeto desejamos obter uma boa performance através de várias otimizações. A performance é medida por uma séries de métricas. Porém, estas métricas não necessariamente se relacionam de forma clara, existindo vários trade-offs.
Imagine que estamos avaliando vários modelos a qual tem duas métricas $m_1,m_2$, onde os maiores valores significam maior performance. Uma estratégia é definir uma terceira métrica $m_3$ que relacione as duas métricas $m_1,m_2$ (pode ser a média), desta forma há uma métrica unitária. O maior valor de $m_3$ é também o que traz os melhores valores de $m_1,m_2$.
É muito mais fácil avaliar a performance de vários modelos e escolher o melhor, dada as mudanças que podem ser feitas, com uma métrica unitária.
Devemos ter cuidado com as distribuições dos conjuntos de treino e teste. Uma boa prática é dividir todo nosso conjunto de dados em três conjuntos: treino, desenvolvimento e teste.