Slide 1

Slide 1 text

IA COM JAVA? Sistema de recomendação com Apache Mahout

Slide 2

Slide 2 text

DEV BACKEND KAMILA SANTOS kamilah_code Kamila Santos Oliveira kamilahsantos kamilah_santos kamilahsantos Olar, eu sou a

Slide 3

Slide 3 text

POR QUE JAVA? O QUE É INTELIGÊNCIA ARTIFICIAL 01 02

Slide 4

Slide 4 text

O QUE É MACHINE LEARNING O QUE SÃO SISTEMAS DE RECOMENDAÇÃO 03 04

Slide 5

Slide 5 text

APACHE MAHOUT APACHE HADOOP 05 06

Slide 6

Slide 6 text

BORA CODAR? REFERÊNCIAS 07 08

Slide 7

Slide 7 text

25 anos uma das linguagens mais utilizadas no mercado Comunidade (Devs Java Girl, Sou Java) POR QUE JAVA?

Slide 8

Slide 8 text

Airbnb Uber Netflix Spotify Instagram Slack EMPRESAS

Slide 9

Slide 9 text

Máquinas tentam imitar ou se basear no comportamento humano, aprendem e se adaptem a novas informações recebidas. INTELIGÊNCIA ARTIFICIAL

Slide 10

Slide 10 text

Primeiros estudos surgiram em 1950 para resolução de problemas. INTELIGÊNCIA ARTIFICIAL

Slide 11

Slide 11 text

Defense Advanced Research Projects Agency (DARPA) completou um projeto de mapeamento de ruas nos anos 1970 INTELIGÊNCIA ARTIFICIAL

Slide 12

Slide 12 text

Primeiros trabalhos com redes neurais criam curiosidade por "máquinas pensantes". 1950 – 1970 REDES NEURAIS

Slide 13

Slide 13 text

Machine learning se populariza. 1980 – 2010 MACHINE LEARNING

Slide 14

Slide 14 text

Deep learning é um ramo da Machine Learning , utilizado em problemas mais complexos, por exemplo, visão computacional DEEP LEARNING

Slide 15

Slide 15 text

Se trata do aprendizado de máquina, um ramo da IA (inteligência Artificial) que se baseia na ideia de que sistemas são capazes de aprender com dados, identificar padrões e realizar tomadas de decisões com o mínimo de intervenção de um ser humano. O QUE É MACHINE LEARNING

Slide 16

Slide 16 text

Estatística Ciência da computação Engenharia QUAL A SUA BASE?

Slide 17

Slide 17 text

Supervisionado Não Supervisionado Reforço TIPOS DE APRENDIZADO

Slide 18

Slide 18 text

Presença de uma "professora" Os dados usados no treino do modelo devem ser “rotulados” Aplicado em 2 tipos de problemas: Classificação e Regressão APRENDIZADO SUPERVISIONADO

Slide 19

Slide 19 text

Y = rótulos Y podem ser do tipo Numéricos Contínuos(datas, tamanhos e comprimentos)ou Categórico X = Atributos / Características APRENDIZADO SUPERVISIONADO

Slide 20

Slide 20 text

APRENDIZADO SUPERVISIONADO

Slide 21

Slide 21 text

Dado um conjunto de dados, com as labels alvos (Y), a classificação determina a classe de um caso de teste sem label. CLASSIFICAÇÃO

Slide 22

Slide 22 text

O objetivo é usar os dados de informações (as outras colunas) para construir um classificador, passar um novo dado e em seguida rotulá-lo CLASSIFICAÇÃO

Slide 23

Slide 23 text

CLASSIFICAÇÃO

Slide 24

Slide 24 text

Previsão de valor contínuo (número real). Regressão linear: refere-se quando temos somente uma variável independente para fazermos a predição REGRESSÃO

Slide 25

Slide 25 text

Regressão linear múltipla: refere-se a várias variáveis independentes usadas para fazer a predição. REGRESSÃO

Slide 26

Slide 26 text

Exige que o sistema desenvolva suas próprias conclusões a partir de um determinado conjunto de dados, onde podemos ter um agrupamento do conjunto, pois não há a presença de uma "professora" APRENDIZADO NÃO SUPERVISIONADO

Slide 27

Slide 27 text

Pode ser usado para encontrar tendências. Os dados não precisam estar rotulados APRENDIZADO NÃO SUPERVISIONADO

Slide 28

Slide 28 text

Agrupamento é chamado de Clustering APRENDIZADO NÃO SUPERVISIONADO

Slide 29

Slide 29 text

Na clusterização, o que é feito é agrupar esses casos em grupos que pareçam ser mais semelhantes (clusters), com base nas características que eles apresentam. CLUSTERIZAÇÃO

Slide 30

Slide 30 text

CLUSTERIZAÇÃO

Slide 31

Slide 31 text

O algoritmo realiza um feedback sobre os resultados obtidos, atribuindo pontuações positivas à resultados considerados corretos e penalizando os incorretos. APRENDIZADO POR REFORÇO

Slide 32

Slide 32 text

APRENDIZADO POR REFORÇO Diante dessa pontuação, o Agente consegue ajustar seu comportamento de modo a buscar o melhor resultado.

Slide 33

Slide 33 text

ONDE APLICAR? Detecção de fraude Sistemas de recomendação Mecanismos de busca Prevenção de demanda

Slide 34

Slide 34 text

ONDE APLICAR? Análise de streaming de dados Manutenção preditiva Robôs Diagnóstico na área da saúde

Slide 35

Slide 35 text

O QUE SÃO SISTEMAS DE RECOMENDAÇÃO São técnicas de software que fornecem sugestões de itens para ajudar usuários deste sistema nos diversos processos de tomada de decisão.

Slide 36

Slide 36 text

QUE FILME EU VOU ASSISTIR?

Slide 37

Slide 37 text

QUE FILME EU VOU ASSISTIR?

Slide 38

Slide 38 text

EU JÁ ASSISTI ESSES AQUI:

Slide 39

Slide 39 text

EU JÁ ASSISTI ESSES AQUI:

Slide 40

Slide 40 text

PERSON CORRELATION SIMILARITY

Slide 41

Slide 41 text

Se baseia na similaridade entre pessoas na hora de escolher e atribuir notas para determinar os resultados de sua recomendação. PERSON CORRELATION SIMILARITY

Slide 42

Slide 42 text

APACHE MAHOUT

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

uma estrutura de álgebra linear para algoritmos de machine learning com desempenho escalonável, baseado no Apache Hadoop APACHE MAHOUT

Slide 45

Slide 45 text

APACHE MAHOUT PREPROCESSORS REGRESSION CLUSTERING RECOMMENDERS

Slide 46

Slide 46 text

ADOBE AMP usa os algoritmos de agrupamento da Mahout para aumentar o consumo de vídeo, direcionando melhor o usuário

Slide 47

Slide 47 text

DATAMINE LAB usa a recomendação de Mahout e os algoritmos de agrupamento para melhorar a segmentação de anúncios de nossos clientes

Slide 48

Slide 48 text

TWITTER usa a implementação de LDA (Latent Dirichlet Allocation) da Mahout para modelagem de interesse do usuário

Slide 49

Slide 49 text

APACHE HADOOP

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

APACHE HADOOP Apache Hadoop é uma estrutura que permite o processamento distribuído de grandes conjuntos de dados em clusters de computadores usando modelos de programação simples

Slide 52

Slide 52 text

APACHE HADOOP Ele é projetado para escalar de servidores únicos para milhares de máquinas, cada uma oferecendo computação e armazenamento locais

Slide 53

Slide 53 text

APACHE HADOOP Em vez de confiar no hardware para fornecer alta disponibilidade, a biblioteca em si é projetada para detectar e lidar com falhas na camada do aplicativo, entregando um serviço altamente disponível em um cluster de computadores, cada um dos quais pode ser propenso a falhas.

Slide 54

Slide 54 text

Adobe Alibaba Datagraph eBay Facebook Google Linkedin Yahoo

Slide 55

Slide 55 text

BORA CODAR?

Slide 56

Slide 56 text

CONFIGURAÇÃO POM.XML

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

CONTEÚDO DOS CSV

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

RECOMENDADOR.JAVA GUARDA OS MODELOS DE DADOS QUE SERÃO ANALISADOS

Slide 61

Slide 61 text

No content

Slide 62

Slide 62 text

RECOMENDADORBUILDER .JAVA CONSTRÓI A LÓGICA PARA O NOSSO RECOMENDADOR

Slide 63

Slide 63 text

No content

Slide 64

Slide 64 text

RECOMENDAFILMES.JAVA

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

RECOMENDALIVROS.JAVA

Slide 68

Slide 68 text

No content

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

AVALIADOR.JAVA

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

No content

Slide 75

Slide 75 text

REFERÊNCIAS https://github.com/Kamilahsantos/sistema-de-recomendacao-java-mahout https://cursos.alura.com.br/course/machine-learning-introducao-aos-sistemas- de-recomendacoes https://github.com/apache/mahout https://www.linkedin.com/in/laura-damaceno/ (me ajudou com conteúdo de IA <3 )

Slide 76

Slide 76 text

REFERÊNCIAS hhttps://www.infoq.com/br/presentations/machine-learning-em-java-com- apache-mahout https://www.tutorialspoint.com/mahout/mahout_machine_learning.htm https://mahout.apache.org/ https://www.sas.com/pt_br/insights/analytics/machine-learning.html https://king.host/blog/2018/09/o-que-sao-sistemas-de-recomendacao/ https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client

Slide 77

Slide 77 text

OBRIGADA <3