Especialização em Ensino Virtual pela UCI – University of California, Irvine

Fala galera, recentemente terminei uma especialização de Ensino Virtual com a UCI – Univesity of California, Invine (Universidade da Califórnia, Irvine). Foi um curso baseado em 5 módulos, sendo:

  1. Foundation of Virtual Instruction (Os Fundamentos da Educação Virtual) – 82.7%
  2. Emerging Trends & Technologies in the Virtual K-12 Classroom (Tendências e Novas Tecnologias para Aulas Virtuais do Ensino Primário e Secundário – K-12) – 81.5%
  3. Advanced Instructional Strategies in the Virtual Classroom (Estratégias de ensino avançado na sala de aula virtual) – 84.8%
  4. Performance and Assessment in the Virtual Classroom (Avaliação de Desempenho na Sala de Aula Virtual) – 81.4%
  5. Virtual Teacher Final Project (Professor Virtual – Projeto Final)

Os módulos me ajudaram bastante a abrir a cabeça e descobrir ferramentas para ensino para formato síncrono ou assincrono, como também forma de prender a atenção dos alunos e até algumas técnicas pra avaliação de desempenho. Escolhi fazer a especialização no formato pago, que garantia um certificado de participação para quem concluísse todos os módulos com uma pontuação acima de 70%. Consegui concluir todos os módulos com uma média acima de 80%. Fiquei bastante feliz!

Este curso me ajudará a melhorar cada vez mais os treinamentos que faço para a NGR Solutions, e também me deu inspiração pra fazer algumas coisas assincronas e disponibilizar para vocês. Fiquem ligados nas novidades da NGR para os próximos meses J

Quero dedicar este certificado de conclusão à você, que acompanha o meu trabalho e me motiva a continuar gerando conteúdo.

Queria conseguir expressar em palavras o quanto isso é gratificante pra mim, mas não sei qual palavra usar nem por onde começar, então deixo um simples e direto MUITO OBRIGADO.

1  

Azure Machine Learning – Matriz de Confusão – Parte 4

Fala galera, a primeira publicação do ano é realtiva à Matriz de Confusão, também chamada em algumas literaturas de tabela de contingência. Basicamente esta tabela valida o aprendizado supervisionado, comparando sua base de testes com a base treinada, e indica o quanto de acerto e erro ela teve. Este resultado é o que apresenta a acuracia do seu experimento.

Voltando ao exemplo que fiz para o Codificando Live de Edição #43, onde analisamos uma base de alimentos e definimos alguns itens da amostra como misturas ou não. A matrix aparece aos 20m32s de vídeo onde é rapidamente apresentada a acuracia, logo abaixo da curva ROC, no item Evaluation Model Result.

Se reparar no vídeo, o treino do modelo é feito com 80% da base que fizemos o upload e é mantido 20% para testes (esta divisão acontece na tarefa de split). É com esta base de testes, que já temos conhecimento do resultado, que a matriz vai validar a coluna de predição informada no treino. Ela aplica o que treinou em cima desta base de teste, e compara se o resultado que ela obteve é igual ao que está nos dados originais. Resultando na seguinte estrutura:

Onde alguns valores são absolutos, baseados na classificação binária de erro ou acerto, que são:

True Positive:

Ele entende que as misturas foram analisadas e classificadas como mistura (acertou a mistura). Neste caso, é 16.

False Positive:

Ele entende que as misturas foram analisadas e classificadas como não mistura (errou a mistura, classificando como outro prato). Neste caso, é 5.

True Negative:

Ele entendeu o que não era mistura (era outro prato) e classificou como outro prato (acertou que não era uma mistura). Neste caso, é 54.

False Negative:

Ele entende que os outros pratos (não misturas) foram classificados como mistura (errou o outro prato). Neste caso, é 0.

 

Já outros são baseados em cálculos matemáticos simples, como estes abaixo:

∑ Positivos = Acertos = True Positive + False Negative

∑ Negativos = Erros = False Positive + True Negative

Acuracy (acurácia):

(True Positive + True Negative) / (∑ Positivos + ∑ Negativos)

Com nossos números: (16 + 54) / ((16+0) + (5+54)) => 70 / 75 = 0.9333

Precision (precisão):

(True Positive) / (True Positive + False Positive)

Com nossos números: (16) / (16 + 5) => 16 / 21 = 0.7619

Recall:

True Positive / ∑ Positivos

Com nossos números: 16 / (16+0) => 16 / 16 = 1

F1 Score:

(2* True Positive) / (2* True Positive + False Positive + False Negative)

Com nossos números: (2*16) / (2*16 + 5 + 0) => 32 / 37 = 0.8648

 

Com estes números, e mais a curva ROC e o AUC, é possível validar os valores do seu experimento e saber se está aceitável ou não. Quanto mais exemplos tiver na base de treino, mais precisa será a coluna de predição porque o computador vai aprender com mais exemplos.

0  

Azure Machine Learning – Introdução – Parte 3

Fala galera, esta é a terceira e última parte de introdução ao Azure Machine Learning. Fiz de propósito nesta ordem, criando o ambiente somente agora, para você saber onde está se metendo antes de sair criando as coisas e só depois descobrir que não era o que precisava. Mas agora que você já viu que existem algumas categorias de algoritmos para trabalhar com Data Mining e Inteligência Artificial e tem ideia de como eles podem ajudar na solução dos seus problemas, nós vamos agora criar o ambiente para trabalhar em nossos experimentos, e partir para os próximos posts que não serão mais introdutórios!

A primeira coisa a se fazer é acessar o Portal do Azure e criar um novo serviço pro Machine Learning. Importante garantir que o nome da Workspace e do Storage sejam válidos, isso pode ser verificado com o check verde ao lado do nome que você criou. No meu caso é BlogNogareML pro workspace e blognogareml (tudo minusculo) pro storage.

Depois de criado o ambiente, uma entrada do Azure Machine Learning fica disponível a partir do menu da esquerda. Acesse este menu e veja o item que você acabou de criar, no meu caso o BlogNogareML. Ao clicar neste item, vá até o Open in Studio, para chegar até a IDE web-based, onde é possível criar as bases de dados particulares e realizar os experimentos.

Uma nova aba no seu navegador é criada e o ML Studio é aberto. Quando for a primeira vez, um vídeo de introdução será apresentado. Após assistir e fechar o vídeo, você pode começar a criar seus experimentos. Reparem que existem duas opções no menu, uma pra criar DataSet e outra pra criar Experiment. Quando a gente quer utilizar um DataSet que precisa ser feito upload pro Machine Learning, deve-se usar a opção DataSet. Mais pra frente, em outro post, vamos mostrar como faz pra usar uma base de dados através de upload neste menu.

E pra criar o experimento em si, criando e conectando as tarefas em uma ordem logica de execução, você vai utilizar o Experiment.

Por enquanto, crie um experimento em branco clicando em Experiment >> Blank Experiment. Ao clicar neste item, a tela com o menu da esquerda contendo as tarefas padrões do Azure Machine Learning e a área central de desenvolvimento é apresentada, permitindo que seja iniciado o desenvolvimento.

Esta é a tela que será utilizada para trabalhar com os Experimentos, WebServices, Testes, Execuções Locais, etc. Você informa o nome, arrasta os componentes no melhor estilo Drag ‘n’ Drop e com isso cria seus trabalhos. Vamos entender as funcionalidades e amplas possibilidades do que conseguiremos trabalhar com esta ferramenta nos próximos textos. Não deixe de acompanhar!

0  

Como foi o Black Friday pro meu livro de BI

Fala galera, este ano fiz uma promoção de Black Friday durante a semana inteira, e não só a sexta, para vender o meu livro de BI. Quero deixar o meu MUITO OBRIGADO à todos os visitantes dos 18 estados que vieram ao site www.livrosdonogare.com.br durante esta semana de #BlackFriday. Vocês fizeram a diferença comprando mais de 90 livros!

Só pra vocês terem uma ideia como foram os números desta campanha de vendas… Utilizei alguns meios de divulgação como disparo de e-mail para quem me autorizou a fazer isso algum dia, publicidade no meu blog (essa imagem da capa do livro aqui do lado direito), divulgação para meus amigos em mídias sociais como Twitter e Facebook, e por fim uma campanha paga no Facebook.

Disparadamente eu me comunico melhor com vocês através de e-mails autorizados, reparem que 55% dos acessos ao site do livro vieram através deste canal. Depois, com 14% vem a parte na qual o acesso foi através de divulgação gratuita no Facebook. A publicidade paga foi responsável por apenas 7% das visitas, só um pouco a mais que os acessos através do clique na capa do livro aqui no blog e quem encontrou o site do livro através do Google. O Twitter ficou lá embaixo, com apenas 1% de acesso.

Quero estender este MUITO OBRIGADO a todos que já compraram o livro, não somente a quem o fez esta semana. Vocês acreditaram neste trabalho e me ajudaram a realizar este sonho.

1  

Azure Machine Learning – Introdução – Parte 2

Fala galera, os modelos algoritmos que temos hoje, 28/Nov/2014, disponíveis no Azure Machine Learning estão separados em três categorias, que podem ser encontrados no menu Machine Learning >> Initialize Model, conforme esta lista:

Classification

  • Multiclass Decision Forest
  • Multiclass Decision Jungle
  • Multiclass Logistic Regression
  • Multiclass Neural Network
  • One-vs-All Multiclass
  • Two-Class Average Perceptron
  • Two-Class Bayes Point Machine
  • Two-Class Boosted Decision Tree
  • Two-Class Decision Forest
  • Two-Class Decision Jungle
  • Two-Class Logistic Regression
  • Two-Class Neural Network
  • Two-Class Support Vector Machine

Clustering

  • K-Means Clustering

Regression

  • Bayesian Linear Regression
  • Boosted Decision Tree Regression
  • Decision Forest Regression
  • Linear Regression
  • Neural Network Regression
  • Ordinal Regression
  • Poisson Regression

Estes modelos de algoritmos são formulações estatísticas e/ou matemáticas conhecidas e amplamente estudadas no meio acadêmico, aqui no Azure Machine Learning eles já possuem uma parametrização genérica para que funcione com a maioria dos casos. Nas nossas análises de dados, quando limpamos e disponibilizamos os dados para serem treinados pelo modelo, deve-se conectar o modelo escolhido de acordo com a necessidade de resolução daquele problema na tarefa de treino, que recebe também a origem dos dados. É importante ressaltar que cada um destes modelos de algoritmos apresentados possuem características específicas que resolvem problemas semelhantes, mas que a parametrização individual pode resolver melhor um problema através da escolha de um modelo ou de outro.

Para exemplificar, imagine um cenário que avalia se um cadastro pode ser fraudulento ou não. Por mais que se use um modelo da categoria Classification para encontrar uma resposta sobre este problema, ele pode não ser exatamente o melhor modelo para encontrar esta resposta. Isso é analisado com base no resultado da Curva ROC (Receiver Operator Characteristics Curve) que realiza a comparação entre a sensibilidade e a especificidade do teste quantitativo basedo nos valores contínuos que foram treinados pelo algoritmo. As vezes, comparando com outros modelos desta mesma categoria a gente descobre que para classificar o cadastro como um possível problema de fraude o modelo de algoritmo X é melhor que o Y, mesmo que o modelo Y tenha sido o melhor algoritmo para classificar os mesmos dados de treino para saber se o cadastro é um bom pagador de dívidas. Este cadastro fictício diz que ele é um cadastro passível de trazer problemas com fraudes, mas que é um bom pagador. Meio controvérsio, mas é só pra exemplificar :)

Esta é a curva ROC, os melhores resultados dela são os que enquadram o maior conjunto possível de amostras (dados) na AUC (Area Under the Curve).

Veja muitos mais detalhes do ROC na wikipedia, clicando aqui.

O terceiro e último texto sobre Introdução ao Azure Machine Learning, nós vamos acessar o ambiente e aprender a criar Experimentos e Base de Dados. Nos próximos, que já sairão da introdução, vamos explicar alguns algoritmos e trabalhar com exemplos práticos. Não deixe de acompanhar!

0