Upload
vinicius-mesel
View
62
Download
1
Embed Size (px)
Citation preview
Machine Learning:O que é isso?
Por: Vinicius Mesel
Machine Learning:Mas que po**a é essa??
Por meu pai
Sobre mim
Vinicius Mesel
17 anos
Pseudo-Pesquisador(IC) no Instituto Butantan
Python lover, gamer e Nerd nas horas vagas
Primeiramente: o que um bioinformata faz?
- Utiliza dados de genes e genomas para extrair informações biológicamente relevantes
- Realiza processamentos de dados em pequena e larga escala- Detecta padrões relevantes em dados como sequências de
DNA/RNA ou nos níveis das proteínas- Realiza experimentos in silico**
O Genoma Humano tem 9gb
O que eu faço?
- Estudo alguns dos mecanismos envolvidos com a formação e progressão do câncer de próstata
- Utilizo o RNA de células do cancer para identificar padrões por meio de Machine Learning
Piadinha:
- Fazer Estátistica de Faculdade- Gostar de teorias matemáticas "malucas"- Gostar de quebrar a cabeça e melhorar algoritmos- Saber pesquisar no Google/YouTube/Coursera- Ter uma base de linguagens de programação
O que você precisa saber antes de mexer com Machine Learning?
O que é machine learning?
- Um método estatístico para predição, classificação, regressão e etc.- Uma parte da ciência da computação- Ramo de estudos da Inteligência Artificial- É basicamente a construção de um modelo estatístico algébrico para
predição de algo
Qual categoria pertence o ponto preto?
Qual categoria pertence o ponto preto?
Agora chegou a parte interessante!!!!
Um problema em machine learning pode pertencer a uma das duas categorias:
- Regressivo (quando você tem uma variável contínua. Ex: Estimar cotação do Dólar)
- Classificatório (quando você tem diferentes classes envolvidas em um problema. Ex: Utilizar imagens de um ultrassom para definir o sexo do bebe (0=F , 1=M))
Sabendo o tipo de problema, você deve saber o algoritmo… Já que agora você sabe os tipos de problema, você tem que conhecer também as possibilidades de resolução deles a partir de algoritmos.
Existem 2 tipos de algoritmos que podem ser usados para resolver um dado problema:
- Aprendizado Supervisionado (O treinamento é feito com dados que possuem as classes já conhecidas)
- Não-supervisionados (O modelo deve estimar as categorias sem conhece-las previamente)
Não-supervisionado - (Separe os dados em K grupos e utilize esses grupos para classificar novos dados)
Supervisionado - (Aprenda a classificar novos dados utilizando o que já se sabe sobre as classes)
Seria possivel inferir o salário de um funcionário de uma empresa através da composição de sua marmita?
- Neste caso eu tenho as features (dimensões da marmita, informações dos alimentos [Preço, quantidade e etc], acompanhamentos da marmita)
- Temos um valor de salário associado a cada marmita.- Portanto, seria utilizado um algoritmo supervisionado (os salários são
conhecidos) de regressão (salário é uma variavel contínua).- Ex: random forest regressor, SVM regressor, Regressão linear
1o Exemplo de problema:
2o exemplo de problema
Eu tenho o IRIS dataset(um dos datasets mais básicos) e gostaria de predizer a classificação de cada planta baseada no tamanho das pétalas que ela tem e se é possível inferir a qual grupo ela pertence!
- Neste caso eu também tenho as features- A cada grupo já montado, temos um valor médio da petala, caule e etc…
associado- Por não ser uma variável continua, mas as médias e outras métricas podem
levar a uma classificação de um tipo de planta, o algoritmo é classificatório e supervisionado por já sabemos as classes envolvidas.
3o exemplo de problema
Um pesquisador mediu a quantidade de açucar, gordura e alcool no sangue de centenas de pessoas. Seria possivel dividir as pessoas estudadas em dois grupos?
- Problema não-supervisionado (As pessoas não pertencem a nenhuma categoria)
- Algoritmos utilizados: k-means (K=2)
(Utiliza as distancias das 3 features para agrupar as pessoas, colocando
no mesmo grupo pessoas com valores aproximados nessas features)
Tipos de problema que estão sendo resolvidos com ML
- Vendas de produtos e predições de vendas (Quantos funcionarios devo escalar para trabalhar em um feriado?)
- Genética e estudos no genoma humano e animal- Desenvolvimento de vacinas mais rápidamente- Linguística Moderna/Computacional- Desenvolvimento de Inteligência Artificial- E MUITO MAIS...
Como posso aprender Machine Learning?
- Procure vídeos no YouTube:- Sobre a PyCon deste ano- Sobre a PyData destes anos(recheado de conteúdo)- Sobre os meetups de SciPy
- Cursos no Coursera:- Curso de Introdução a Machine Learning- Curso de Estatística
- Buscando no Google
Materiais que eu recomendo
- Udacity- Coursera- Guia Mangá de Estatística (livro)- Python para Desenvolvedores (livro)- Teses de Iniciação Científica/Mestrado/Doutorado/Pós Grad (USP e ITA
são muito boas, além das em inglês)
Ferramentas que eu recomendo
- Scikit-Learn (Biblioteca em Python)- Kaggle (site de competições de Machine Learning)- PyCharm (IDE que proporciona boa integração para rodar códigos)- Pandas (Extremamente essencial para processamentos de tabelas)- Seaborn (API Gráfica fantástica para Python)
Conhecimentos que serão explicados no SciPy de Machine Learning
- Uma base sólida de Python- Pandas e suas formas de armazenamento e tratamento de dados- Scikit-learn e seus métodos de machine learning- Como escolher features relevantes para não causar overfitting- Estatística básica para cálculo de média, mediana, variância e etc...
Agora façam seus computadores aprender!
Caso vocês não consigam domar seus computadores, seus computadores tenham déficit de atenção ou coisas do gênero: Não me chamem!
Se tiver alguma dúvida, pergunta, sugestão: