O doutor James McCaffrey da Microsoft Research fez uma apresentação interessante sobre redes neurais na conferência Build 2013. Apresar do título da apresentação "Desenvolvendo redes neurais utilizando o Visual Studio" sugerir que o conteúdo seja algo específico para o Visual Studio (VS), é na verdade aplicável a qualquer desenvolvedor que deseja aprender mais a respeito de redes neurais (RN). James McCaffrey possui doutorado em matemática, mas na empolgante apresentação ele tem algo de desenvolvedor com conhecimentos em ciências da computação.
A abordagem serve como uma útil introdução ao conceito de redes neurais e os espectadores conheceram bem os conceitos fundamentais para um estudo posterior mais aprofundado. Na apresentação, James McCaffrey aborda um problema fictício de prever a afiliação política de um indivíduo com base em sua idade, renda, sexo e religião. Foi um exemplo útil e fácil de se entender e um exemplo prático de utilização de redes neurais.
Durante a palestra, James McCaffrey cobriu o que ele chama dos sete conceitos principais para utilização de redes neurais:
- Tipos de redes neurais (cíclica ou recorrente);
- Ativação;
- Codificação dos dados;
- Erro;
- Treinamento;
- Parâmetros livres;
- Otimização excessiva (acaba gerando cenários de falso positivo).
McCaffrey nota que muitos novatos na utilização de redes neurais podem se defrontar com a falta de documentação confiável. Ele endereça esse problema apresentando uma lista do que considera ser uma fonte confiável de informações. Apesar de seu entusiasmo claro a respeito do tema, ele consegue ser imparcial e também descreve os pontos fortes e fracos da técnica da redes neurais (RN). Indo além, ele apresenta seis métodos alternativos a redes neurais assim como especifica quando eles podem ser mais apropriados de acordo com o problema que precisa ser resolvido.
Ao final de sua apresentação, James McCaffrey forneceu o código C# da solução que demonstra a utilização da técnica de redes neurais para os espectadores poderem efetuar testes após o evento. O exemplo utiliza o conjunto de dados Iris Flower, que é normalmente utilizado para testar algoritmos de máquinas de aprendizado (machine learning). (Observação: No momento desta tradução era necessário adicionar um ponto e vírgula na linha 756 para que o programa compilasse sem erros). James McCaffrey fez uma palestra similar no evento Microsoft Summit em abril de 2013, mas a apresentação no evento Build foi mais abrangente sendo a edição que deve ser assistida.