Aula4 Flashcards
O que é Machine Learning?
O machine learning é uma abordagem baseada na estatística, na qual a máquina acaba por realizar o trabalho mais complicado, que é a parte da aprendizagem, contudo nem todos os modelos são de aprendizagem (exemplo: sistemas de informação, como o sistema de informação de doentes de um hospital, é apenas um sistema de inserção de utilizadores). Os humanos não têm que pensar muito acerca do mesmo. Sim e não, sim no sentido em que podemos utilizar aplicações para isso em que damos o input, selecionamos o modelo de machine learning e deep learning, e a máquina trabalha sozinha e vamos buscar os outputs. O grande problema é qual o valor destes outputs para o negócio. Se não conhecermos bem o negócio de nada serve o machine learning, porque não sabemos como aplicar os outputs. Por outro lado, se também desconhecer o modelo que esta a ser usado também não consigo perceber qual é o valor dos outputs. Portanto de uma maneira ou de outra, é necessário conhecer minimamente os modelos, mesmo que entenda muito em detalhe o lado da matemática, é preciso entender o conceito do modelo que está por trás, pois é necessário perceber o valor dos outputs.
Com a explosão do Big Data cada vez mais a aprendizagem se torna um componente importante dos sistemas. Se bem que não chamamos sistemas de informação, mas chamamos sistemas de gestão de conhecimento.
O machine learning é muito mais simples de perceber como é que pode ajudar o negócio a crescer, ou ter mais conhecimento aprofundado sobre o negócio. Contudo o AI é muito mais abrangente que o machine learning.
O machine learning é um classificador binário, pois, pretende-se perceber se um output diz respeito a um dado objeto, e o resultado é sim ou não.
O machine learning está cada vez mais próximo do modelo orientado aos dados, e daí a sua aplicação na área do Big Data.
O machine learning é muito poderoso, pratico e útil. Utilizado para reconhecimento de caracteres e de voz, NLP, bioinformática, analise de stocks, robótica, computação visual, deteção de malware, deteção de spam, veículos autónomos (exemplo da Tesla).
Exemplo: técnicas de detenção de cancro (radiografias), para verificar a probabilidade de um dado cancro evoluir (modelos de machine learning e deep learning com base em imagens).
Que abordagem segue o ML?
Segue uma abordagem de caixa preta (black box). Não conhecemos o detalhe, o que nos interessa é os inputs e os outputs, enquanto que no White box interessa-nos o processamento.
A abordagem black box permite-nos ter resultados mesmo que não conheça em detalhe os algoritmos.
A abordagem black box tem limitações especialmente quando se tratam de novas aplicações, e nesse caso precisamos de conhecer os algoritmos e adapta-los.
Modelo de auto mecânico
Modelo de auto mecânico ou modelo de rotina, é basicamente um processo iterativo que nos permite verificar qual é o problema, contudo pode não ser fácil de corrigi-lo.
Não há um livro de receitas, temos efetivamente que perceber as características dos algoritmos para de alguma maneira percebermos o potencial de cada um deles. É preciso ter conhecimentos multidisciplinares, e um conhecimento bastante aprofundado do algoritmo em si e também da área do negócio.
Técnicas do machine learning
Numa perspetiva de passado (retrospetiva do passado) ou futuro (prever o que irá acontecer nos próximos anos). Modelos supervisionados e modelos não supervisionados: explorar o que é conhecido ou o que é desconhecido (abordagem proativa).
Em suma, é a retrospetiva, o conseguir prever, o ser proativo na procura e na deteção.
Modelos do ML mais conhecidos
- São os mais simples de perceber, comparativamente ao deep learning.
- HMM são os modelos Markov, e que deram início ao machine learning. O PHMM é uma das derivações do modelo de Markov.
- PCA ainda é bastante usado, e baseado na matemática.
- No clustering temos o K-means que é bastante simples de utilizar e o EAM.
- Temos Deep Learning, Redes Neuronais, entre outros.
- Hidden Markov Model (HMM)
- Profile Hidden Markov Model (PHMM)
- Principal Component Analysis (PCA) and Singular Value Decomposition (SDV)
- Support Vector Machine (SVM)
- Clustering (emphasis on K-means and EM)
- Deep Learning, Neural Networks (ANN)
- Data analysis
Modelo – Hidden Markov Model (HMM)
É um modelo em cadeia de acontecimentos. É um processo sequencial onde em cada ponto dá um output. O estado de objeto em termos de previsão é progressivamente melhor. Exemplo: processo de subida da encosta, onde progressivamente estamos mais perto do cume da encosta.
Exemplo de aplicação dos modelos de Markov
Temos 3 estados, sol, chuva e nublado.
De sol para nublado a probabilidade é de 0.2 e assim sucessivamente. Com este modelo conseguimos representar a probabilidade associada a cada acontecimento e conseguimos perceber a probabilidade associado à transição entre os elementos. Estas probabilidades são dadas pela execução do modelo com base no histórico que aconteceu num dado país. Modelo simples de implementar.
Problema da subida da encosta
O problema é pensarmos que estamos no topo da encosta quando não estamos, sendo que isso corresponde aos máximos e mínimos locais. Portanto aquilo é o topo, mas naquela vizinhança.
O problema grande da subida na encosta na IA é então assumirmos que estamos no máximo local e uma das estratégias para evitar é a diversificação. Em vez de dar pequenos saltos ao longo da montanha, opta-se por dar saltos aleatórios, na expectativa que um desses saltos dê um valor maior que o tenho agora estabelecido como máximo.
Modelo Profile Hidden Markov Model (PHMM)
Derivação do modelo de Markov, e como tal é idêntico. Tem uma informação posicional, que permite ter maior adaptabilidade sobretudo às áreas de segurança, nomeadamente na deteção de malware.
Existe a realimentação do modelo/processo. Os próprios outputs através da informação posicional podem realimentar o modelo. Probabilidade de ter vários ciclos, e permite que uma sequência de alinhamento seja inserida ou apagada. Há um género de mutação com o objetivo de escapar aos mínimos e máximos locais, há aspetos aleatórios que são estabelecidos ao longo do modelo. É melhor que modelo tradicional de Markov e permite obter melhores resultados sobretudo na área da segurança.
Principal Component Analysis (PCA)
A matemática é bastante importante. Onde o modelo de treino é baseado na álgebra linear. Porque para traçar, por exemplo, uma reta é necessário saber a maior variância dos elementos para permitir traçar a direção da reta e, portanto, é possível minimizar os pontos nessa direção nessa reta.
Estilo de aranha, são modelos de controlo, e serve para verificar se o modelo está a ser ou não bem construído. Temos que traçar retas no sentido de descrever e minimizar a distância dos elementos entre eles. Permite perceber a tendência dos objetos e como construir os clusters associados a cada um deles. Estamos preocupados em estabelecer o comportamento de algo e traçar o comportamento dos objetos.
Support Vector Machine (SVM)
Pode ser contraintuitivo de como é que se pode perceber e construir os objetos.
Queremos separar objetos e não traçar uma reta que permite descrever os objetos, mas estabelecer uma reta que permite perceber se acima ou abaixo da reta estão dentro de uma classe ou outra classe. Tendo este classificador conseguimos perceber qual a classe de um dado objeto. É estabelecida uma equação que é classificadora dos objetos.
Clustering (emphasis on K means and EM)
Um dos modelos mais usados ao nível do clustering é o K-means e é bastante utilizado por ser simples de perceber. O K-means é um modelo não supervisionado, apenas necessita dos dados logo não tem qualquer intervenção humana. Necessita de conhecimento em termos de distribuição Gaussiana e termos estatísticos. Nesta técnica temos os objetos, estabelecem-se os centroides aleatoriamente, sucessivamente vão se aproximar, porque queremos minimizar a distância dos objetos a cada respetivo centroide, o centroide vai sendo recalculado até ter algo estabilizado. Em suma, é um processo iterativo em que minimizamos a distância de cada ponto ao respetivo centroide. O K-means é bastante aplicado em machine learning, contudo tem baixa capacidade de aprendizagem learning, ou seja, é limitada.
Deep Learning
Conceito mais complicado que o machine learning. No AI temos que estabelecer/compreender padrões do comportamento humano e perceber como nos pode ajudar nas atividades do dia a dia.
No machine learning estamos preocupados com a aprendizagem do computador, há um processo de treino e um processo de aplicação.
O deep learning é de alguma maneira um processo semelhante ao machine learning, enquanto que o ML não se preocupa em usar modelos baseados do nosso cérebro/modelos parecidos com a nossa capacidade de inteligência, já o deep learning sim. A grande característica dos modelos Deep learning é imitar de alguma maneira os neurónios humanos, se bem que há modelos que não são inspirados nesta característica.
Servem de base para os modelos das redes neuronais. As redes neuronais tentam imitar o comportamento humano.
Nas redes neuronais temos inputs e outputs como acontecia no machine learning, temos várias cadeias (idêntico ao modelo de Markov). Os modelos neuronais servem 90% dos modelos de Deep learning.
Characteristics Markov vs Deep Learning:
Comparativamente com o Markov, o modelo das redes neuronais tem vários outputs distintos e é só quando o modelo termina, enquanto que no modelo Markov o output é para cada camada. Isto pode ser bom ou mau, mas é mau no sentido de estarmos meses à espera do resultado, porque não temos o resultado de cada camada, mas sim o resultado apenas no final do modelo, e só no fim do modelo é que temos a perceção se o modelo está de acordo com o pretendido, porque não temos evidencias de cada camada, mas sim do modelo todo. Para contornar isto, podíamos analisar o processo a meio, mas dada esta interrupção do processo poderia ter que reiniciar o modelo, não é uma tarefa simples.
Uma das características essenciais do DL é o conexionismo, que é o facto de todas as camadas estarem ligadas entre si, que é para imitar o cérebro humano e os neurónios humanos, isto não existia nas cadeias de Markov.
Temos várias camadas, temos um processamento e uma técnica chamada Backpropagation (propagação ao contrário). Propagação ao contrário é um dos modelos mais usados para o treino das redes neuronais, sendo este processo complexo baseado na matemática e equações diferenciais, onde em vez de estar a realimentar o modelo exclusivamente da esquerda para direita como as cadeias de Markov, alimentam-se da direita para a esquerda, as camadas anteriores têm informação sobre aquilo que se está a suceder.
ML vs DL
- No machine learning temos os elementos de input, há extração da informação relevante e há a técnica de classificação, e um output do sim e não (por exemplo é um carro ou não é).
- No deep learning há um output na mesma, mas o processo de extração das características e classificação é automático e temos que esperar tipicamente muito mais tempo que o machine learning e por fim um output (por exemplo é um carro ou não é).
O machine learning tem melhores resultados para pouca quantidade de dados, tem melhor desempenho, mas quando os dados crescem os modelos de deep learning têm melhor desempenho e são mais uteis.