Bias e varieância,Underfiting e Overfiting
em 20 de Dezembro de 2017
Ola queridos leitores, hoje venho de novo a vocês falar de machine learning o assunto que ando estudando muito, porem antes de falarmos dos algoritmos em si ,”que alias é a parte mais legal”, é muito interessante falarmos dos conceitos iniciais. Por isso pensei em criar uma série de posts para falar dos tipos de problemas,algoritmos, medidas de erro e tipos de aprendizados, no post de hoje iremos fazer uma abordagem geral sobre o que é aprender no contexto de Machine learning.
Suponha que você esteja aprendendo probabilidade e já esteja trabalhando nisso a algum tempo, você precisara de algo para avaliar seu aprendizado, uma boa maneira seria por meio de uma prova. Porem se você for fazer uma prova sobre historia econômica do Brasil você ira tirar uma nota ruim pois não foi sobre isso que você estudou, logo o resultado não ira representar o seu aprendizado, também podemos dizer o mesmo se você fazer uma prova e nela estiver exatamente o que você estudou isso não representara a sua real capacidade de aprendizado pois você simplesmente ira lembrar das resposta e isso não indica que você aprendeu apenas memorizou o conteúdo.
O ideal seria se você fizesse uma prova e nela constasse o tema que você estudou porem aplicados a novas situações isso avaliaria sua capacidade de generalizar.
Com certeza a Generalização é um dos conceitos mais importantes em Machine learning, pois o ideal em um problema de aprendizado é aprender com um certa quantidade de exemplos afim de classificar novos exemplos em situações diferentes.
Por exemplo: queremos criar um algoritmo que identifique aves, creio que a primeira característica a ser generalizada é o fato de elas terem penas, ou seja nossa missão é ensinar que uma ave tem pena, porem se eu mostrar um espanador para esse algoritmo ele provavelmente achara que é uma ave, pois não o fizemos avaliar mais características, mas isso é assunto para outro poste!
Geralmente quando vamos treinar um algoritmo temos dois conjuntos, são eles o conjunto de treino e o conjunto de teste, o algoritmo aprende com o conjunto de treino para então tentar prever ou classificar o conjunto de teste eu ainda irei falar melhor sobre os dois conjuntos.
Outro exemplo bem comum são os sistemas de recomendação suponha que um sistema de recomendação de filmes tente te dizer o quanto você ira gostar de um filme com base em sua sinopse e filmes que você assistiu no passado, bem se você assistiu muito filme de drama e comédia o sistema ira tentar sempre te apresentar filmes de dramas e comédia, agora se na sinopse dos filmes que você assistiu tem muito ocorrência da palavra tristeza, ele usara isso também para ponderar se você gostara ou não do filme apresentado.
Mas repare que se você apresentar um filme que você já assistiu para esse algoritmo ele não ira fazer uma Generalização para classificar pois essa classificação já foi feita e ele apenas ira recorrer a memória ou as classificações antigas para te indicar com 0% de erro. Agora se for um filme que você ainda não viu ele terá que generalizar e classificar de acordo com as características que ele aprendeu.
Caso tenha gostado de uma olhada nos meus outros posts, e qualquer critica,dica ou opinião que sejam construtiva é extremamente bem vinda falou e ate mais.