{"componentChunkName":"component---src-templates-part-template-js","path":"/pt/4","result":{"data":{"allParts":{"totalCount":6},"allSections":{"totalCount":4,"edges":[{"node":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"lead","properties":{},"children":[{"type":"text","value":"Os dígitos manuscritos são um caso clássico usado frequentemente quando se discute por que motivo é utilizada a aprendizagem automática — e nós não fugiremos à regra."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Abaixo, tem exemplos de imagens manuscritas obtidas do conjunto de dados MNIST, que é utilizado muito frequentemente."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"illustrations","properties":{"motive":"mnist"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A etiqueta correta (o dígito que era suposto o autor escrever) é mostrada acima de cada imagem. Tenha em atenção que algumas das etiquetas de classe «corretas» são questionáveis: veja, por exemplo, a segunda imagem a contar da esquerda: é realmente um 7, ou, na verdade, é um 4?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"MNIST — O que é?","description":"Todos os estudantes de aprendizagem automática conhecem o conjunto de dados MNIST, mas poucos sabem o que significa o acrónimo. Na verdade, tivemos de procurar a informação para podermos dizer-lhe que M é a abreviatura de Modified (Modificado) e NIST é a abreviatura de National Institute of Standards and Technology (Instituto Nacional de Normas e Tecnologia). A partir de agora, provavelmente sabe uma coisa que muitos especialistas em aprendizagem automática desconhecem!"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Nos problemas de aprendizagem automática mais habituais, há exatamente um valor de classe correto em cada caso. Isto também se verifica no caso do MNIST, embora, como dissemos, muitas vezes seja difícil identificar a resposta correta. Neste tipo de problema, não é possível que uma instância pertença a várias classes (ou a nenhuma) ao mesmo tempo. O que gostaríamos de alcançar é um método de IA ao qual possa ser apresentada uma imagem como as anteriores e que indique automaticamente a etiqueta correta (um número entre 0 e 9)."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Como não resolver o problema","description":"Em princípio, seria possível construir manualmente uma ferramenta de reconhecimento de dígitos automática, escrevendo regras como:\n    <ul>\n    <li>se os píxeis pretos apresentarem sobretudo a forma de um único círculo, então a etiqueta é 0</li>\n    <li>se os píxeis pretos formarem dois círculos com uma intersecção, então a etiqueta é 8</li>\n    <li>se os píxeis pretos apresentarem sobretudo a forma de uma linha reta vertical no meio da imagem, então a etiqueta é 1</li>\n    </ul>\n    e assim por diante…<br><br>Foi assim que a maioria dos sistemas de IA foi desenvolvida nos anos 80 (os chamados «sistemas periciais»). No entanto, mesmo para uma tarefa tão simples como o reconhecimento de dígitos, a tarefa de escrever essas regras é muito trabalhosa. Na verdade, as regras do exemplo anterior não seriam suficientemente específicas para serem implementadas através de programação — teríamos de definir exatamente o que queremos dizer por «sobretudo», «círculo», «linha», «meio», etc.<br><br>E mesmo se fizéssemos todo este trabalho, o resultado seria provavelmente um mau método de IA, porque, como pode ver, muitas vezes os dígitos manuscritos são um pouco estranhos e cada regra precisaria de uma dezena de exceções.\n"},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Três tipos de aprendizagem automática"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As raízes da aprendizagem automática estão na estatística, que também pode ser pensada como a arte de "},{"type":"element","tagName":"b","properties":{},"children":[{"type":"text","value":"extrair conhecimento a partir de dados"}]},{"type":"text","value":". Em especial, métodos como a regressão linear e a estatística bayesiana, ambos com mais de dois séculos (!) de existência, continuam atualmente a estar no cerne da aprendizagem automática. Para obter mais exemplos, bem como uma breve história, consulte a "},{"type":"element","tagName":"a","properties":{"href":"https://en.wikipedia.org/wiki/Timeline_of_machine_learning","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"cronologia da aprendizagem automática"}]},{"type":"text","value":" na Wikipedia."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A área da aprendizagem automática é frequentemente dividida em subáreas, de acordo com os problemas tratados. Segue-se uma categorização básica:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Aprendizagem supervisionada"}]},{"type":"text","value":": Recebemos uma entrada, por exemplo uma fotografia de um sinal de trânsito, e a tarefa é prever a saída ou etiqueta correta — por exemplo, que sinal de trânsito está na imagem (limite de velocidade, STOP, etc.). Nos casos mais simples, as respostas têm o formato sim/não (estes são chamados "},{"type":"element","tagName":"i","properties":{},"children":[{"type":"text","value":"problemas de classificação binária"}]},{"type":"text","value":")."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Aprendizagem não supervisionada"}]},{"type":"text","value":": Não existem etiquetas ou resultados corretos. A tarefa é descobrir a estrutura dos dados: por exemplo, agrupar itens semelhantes para formar «aglomerados», ou reduzir os dados a um pequeno número de «dimensões» importantes. A visualização de dados também pode ser considerada aprendizagem não supervisionada."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Aprendizagem por reforço"}]},{"type":"text","value":": Utilizada habitualmente em situações em que um agente provido de IA, como um carro autónomo, tem de funcionar num ambiente e em que o feedback sobre as boas ou más escolhas está disponível com algum atraso. Também é utilizada em jogos nos quais o resultado pode ser decidido apenas no final."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As categorias sobrepõem-se até certo ponto e são algo difusas, dificultando por vezes a colocação de um método específico numa categoria. Por exemplo, conforme o nome sugere, a chamada "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"aprendizagem semissupervisionada"}]},{"type":"text","value":" é parcialmente supervisionada e parcialmente não supervisionada."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Classificação","description":"Relativamente à aprendizagem automática, centraremos atenções principalmente na aprendizagem supervisionada e, mais especificamente, em tarefas de classificação. Na classificação, observamos uma entrada, como uma fotografia de um sinal de trânsito, e tentamos deduzir a sua «classe», por exemplo o tipo de sinal (limite de velocidade de 80 km/h, passadeira, STOP, etc.). Outros exemplos de tarefas de classificação incluem: identificação de contas falsas no Twitter (a entrada inclui a lista de seguidores e quão rápido eles começaram a seguir a conta, e as classes são «conta verdadeira» ou «conta falsa») e o reconhecimento de números manuscritos (a entrada é uma imagem, a classe é 0,…,9)."},"children":[{"type":"text","value":"\n  "}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"illustrations","properties":{"motive":"supervised-learning"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Seres humanos que ensinam máquinas: aprendizagem supervisionada"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ao invés escrever manualmente regras exatas para realizar a classificação, na aprendizagem automática supervisionada procura-se pegar em vários exemplos, etiquetar cada um deles corretamente e usá-los para «treinar» um método de IA para que reconheça a etiqueta correta para os exemplos de treino, bem como (pelo menos, assim se espera) para quaisquer outras imagens. Como é óbvio, isto exige que sejam fornecidas as etiquetas corretas, sendo por isso que falamos de aprendizagem supervisionada. O utilizador que fornece as etiquetas corretas é um supervisor que orienta o algoritmo de aprendizagem para as respostas corretas, para que, eventualmente, o algoritmo consiga produzi-las de forma independente."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Além de aprender a prever a etiqueta correta num problema de classificação, a aprendizagem supervisionada também pode ser usada em situações nas quais o resultado previsto é um número. Os exemplos incluem prever o número de pessoas que irão clicar num anúncio do Google, com base no respetivo conteúdo e nos dados sobre o anterior comportamento online do utilizador, prever o número de acidentes de trânsito com base nas condições da estrada e no limite de velocidade, ou prever o preço de venda de imóveis com base na localização, tamanho e estado. Estes problemas são designados "},{"type":"element","tagName":"i","properties":{},"children":[{"type":"text","value":"regressão"}]},{"type":"text","value":". Provavelmente reconhece o termo "},{"type":"element","tagName":"i","properties":{},"children":[{"type":"text","value":"regressão linear"}]},{"type":"text","value":", que é uma técnica de regressão clássica, que continua a ser muito popular."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Exemplo","description":"Imaginemos que temos um conjunto de dados composto por dados de vendas de apartamentos. Como é óbvio, para cada compra teríamos o preço pago, juntamente com o tamanho do apartamento em metros quadrados, o número de quartos, o ano de construção e o estado (numa escala entre «catastrófico» e «impecável»). Poderíamos então utilizar a aprendizagem automática para treinar um modelo de regressão que previsse o preço de venda com base nestas características. Veja <a target='_blank' rel='noopener noreferrer' href='http://kannattaakokauppa.fi/#/en/'>um exemplo da vida real aqui</a>"},"children":[{"type":"text","value":"\n  "}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"illustrations","properties":{"motive":"price-real-estate","color":"#85a0ff","frombottom":"4%","totalheight":"81%"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Advertência: cuidado com esse algoritmo de aprendizagem automática"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Há alguns potenciais erros para os quais gostaríamos de chamar a sua atenção. Referimo-nos ao facto de que, a menos que tenha cuidado com a forma como aplica os métodos de aprendizagem automática, pode ficar demasiado confiante na exatidão das suas previsões, e sofrer uma grande desilusão quando verificar que essa exatidão é inferior à esperada."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A primeira coisa a ter em mente para evitar grandes erros é dividir o seu conjunto de dados em duas partes: os "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"dados de treino"}]},{"type":"text","value":" e os "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"dados de teste"}]},{"type":"text","value":". Primeiro, treinamos o algoritmo usando apenas os dados de treino. Isto dá-nos um modelo ou uma regra que prevê o resultado com base nas variáveis de entrada."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Para avaliar até que ponto conseguimos realmente prever os resultados, não podemos contar com os dados de treino. Embora um modelo possa ser um excelente preditor nos dados de treino, isso não prova que possa "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ser generalizado"}]},{"type":"text","value":" para quaisquer outros dados. É aqui que os dados de teste são úteis: podemos aplicar o modelo treinado para prever os resultados dos dados de teste e comparar as previsões aos resultados reais (por exemplo, preços de venda futuros de apartamentos)."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Demasiado ajustado para ser verdade! Alerta de sobreajustamento","description":"É muito importante ter em mente que a exatidão de um preditor resultante de aprendizagem automática pode ser muito diferente nos dados de treino e em dados de teste separados. Este é o chamado fenómeno de sobreajustamento e muita da investigação no domínio da aprendizagem automática centra-se em evitá-lo, de uma ou outra forma. Intuitivamente, <b>sobreajustamento</b> significa tentar ser demasiado inteligente. Ao tentar prever o êxito de uma nova canção de um artista famoso, pode analisar o histórico das respetivas canções anteriores e elaborar uma regra como «se a canção for sobre o amor, e incluir um refrão que fique no ouvido, chegará ao top 20». No entanto, talvez haja duas canções românticas, com refrãos que ficam no ouvido, que não chegaram ao top 20, por isso decide continuar a regra com «… exceto se mencionar a Suécia ou ioga», para melhorar a mesma. Isto pode fazer com que a sua regra se adeque na perfeição aos dados passados, mas, na verdade, pode torná-la <b>pior em dados de teste futuros</b>.<br><br>Os métodos de aprendizagem automática são especialmente propensos ao sobreajustamento, porque podem experimentar um vasto número de «regras» diferentes, até encontrar uma que se adeque na perfeição aos dados de treino. Em especial, os métodos muito flexíveis e que se conseguem adaptar a praticamente qualquer padrão nos dados podem sobreajustar, a menos que a quantidade de dados seja enorme. Por exemplo, em comparação com os modelos lineares bastante limitados obtidos através da regressão linear, as redes neuronais podem exigir quantidades maciças de dados antes de produzirem previsões fiáveis."},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Aprender a evitar o sobreajustamento e a escolher um modelo que não seja demasiado limitado, nem demasiado flexível, é uma das competências mais importantes de um cientista de dados."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Aprender sem um professor: aprendizagem não supervisionada"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Falámos anteriormente da aprendizagem supervisionada, em que estão disponíveis as respostas corretas, e a tarefa do algoritmo de aprendizagem automática é encontrar um modelo que as preveja, com base nos dados de entrada."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Na aprendizagem não supervisionada, não são fornecidas as respostas corretas. Isto torna a situação muito diferente, pois não podemos construir o modelo fazendo com que este se adeque às respostas corretas nos dados de treino. Também torna mais complicada a avaliação do desempenho, pois não podemos verificar se o modelo aprendido está a ter um bom desempenho ou não."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Os métodos habituais de aprendizagem não supervisionada tentam aprender algum tipo de «estrutura» subjacente aos dados. Isto pode significar, por exemplo, uma, "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"visualização"}]},{"type":"text","value":" em que os itens semelhantes são colocados próximos uns dos outros, e os itens que não são semelhantes ficam mais afastados. Também pode significar a "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"aglomeração"}]},{"type":"text","value":", na qual usamos os dados para identificar grupos ou «aglomerados» de itens que são semelhantes entre si, mas diferentes dos dados noutros aglomerados."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Exemplo","description":"Para dar um exemplo concreto, as cadeias de supermercados recolhem dados sobre o comportamento de compras dos seus clientes (é por isso que tem todos aqueles cartões de fidelização). Para compreender melhor os seus clientes, a loja pode visualizar os dados utilizando um gráfico, em que cada cliente é representando por um ponto e os clientes que costumam comprar os mesmos produtos são colocados mais próximos uns dos outros do que os clientes que compram produtos diferentes. Ou, então, a loja pode aplicar a aglomeração para obter um conjunto de grupos de clientes, tais como os «entusiastas de alimentos saudáveis a preços baixos», os «apreciadores de peixe de alta qualidade», os que querem «refrigerantes e pizza 6 dias por semana», etc. Tenha em atenção que o método de aprendizagem automática apenas agruparia os clientes em aglomerados, mas não geraria automaticamente as etiquetas para esses aglomerados («apreciadores de peixe», etc.). Esta tarefa ficaria a cargo do utilizador."},"children":[{"type":"text","value":"\n  "}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Outro exemplo de aprendizagem não supervisionada pode ser designado "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"modelação generativa"}]},{"type":"text","value":". Esta tornou-se uma abordagem destacada nos últimos anos, à medida que uma técnica de aprendizagem profunda chamada «redes generativas antagónicas» (generative adversarial networks, GAN) foi conduzindo a grandes avanços. Quando recebe alguns dados, por exemplo fotografias de rostos de pessoas, um modelo generativo pode gerar mais do mesmo: mais imagens de rostos de pessoas, com um aspeto real, mas artificiais."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Voltaremos a abordar as GAN e as implicações de conseguir produzir conteúdos de imagens artificiais de alta qualidade mais adiante no curso, mas, para já, vamos analisar de forma mais aprofundada a aprendizagem supervisionada e debater alguns métodos específicos mais detalhadamente."}]}],"data":{"quirksMode":false}},"excerpt":"Abaixo, tem exemplos de imagens manuscritas obtidas do conjunto de dados MNIST, que é utilizado muito frequentemente. A etiqueta correta (o…","frontmatter":{"path":"/pt/4/1","title":"Tipos de aprendizagem automática","part":4,"type":"section","section":1,"lang":"pt"}}},{"node":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"lead","properties":{},"children":[{"type":"text","value":"O classificador vizinho mais próximo é um dos classificadores possíveis mais simples. Quando recebe um novo elemento para classificar, encontra o elemento dos dados de treino que lhe é mais semelhante e atribui-lhe a mesma etiqueta. É apresentado um exemplo no diagrama seguinte."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"illustrations","properties":{"motive":"nearest-neighbor-graph-PT"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"No diagrama acima, mostramos uma coleção de elementos de dados de treino, alguns dos quais pertencem a uma classe (verde) e outros a outra classe (azul). Além disso, existem dois elementos de dados de teste, as estrelas, que vamos classificar utilizando o método do vizinho mais próximo."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Os dois elementos de teste são classificados como pertencentes à classe «verde», porque os seus vizinhos mais próximos são ambos verdes [ver o diagrama (b) acima]."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A posição dos pontos no gráfico representa, de alguma forma, as propriedades dos elementos. Uma vez que desenhamos o diagrama numa superfície bidimensional plana — é possível mover-se em duas direções independentes: cima-baixo ou esquerda-direita — os elementos têm duas propriedades que podemos utilizar para efeitos de comparação. Imagine, por exemplo, representar doentes numa clínica em termos da respetiva idade e nível de açúcar no sangue. Mas o diagrama acima deve ser considerado apenas uma ferramenta visual para ilustrar a ideia geral, que é relacionar os valores de classe à semelhança ou proximidade (cercania). A ideia geral não se limita, de todo, a duas dimensões e o classificador vizinho mais próximo pode facilmente aplicar-se a elementos que se caracterizam por bem mais do que duas propriedades."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"O que queremos dizer por mais próximo?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Uma pergunta interessante relacionada com (entre outras coisas) o classificador vizinho mais próximo é a definição de distância ou semelhança entre instâncias. Na ilustração acima, assumimos tacitamente que é usada a distância geométrica padrão, tecnicamente designada por distância euclidiana. Isto significa simplesmente que, se os pontos forem desenhados num papel (ou apresentados no seu ecrã), pode determinar a distância entre quaisquer dois elementos esticando um fio numa linha reta entre ambos e medindo a respetiva distância."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Definição de «mais próximo»","description":"Utilizar a distância geométrica para decidir qual é o elemento mais próximo pode nem sempre ser razoável ou até possível: o tipo de entrada pode, por exemplo, ser texto, em que não é claro como os elementos são desenhados numa representação geométrica e como as distâncias devem ser medidas. Por conseguinte, deve escolher a distância métrica numa base casuística. "},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"No caso do reconhecimento de dígitos do MNIST, uma forma habitual de medir a semelhança das imagens é contar correspondências «píxel a píxel». Por outras palavras, comparamos os píxeis no canto superior esquerdo de cada imagem uns com os outros e, quanto mais semelhante for a sua cor (tom de cinzento), mais semelhantes são as duas imagens. Também comparamos os píxeis no canto inferior direito de cada imagem, bem como todos os píxeis de entremeio. Esta técnica é bastante sensível à deslocação ou redimensionamento das imagens: se pegarmos numa imagem de um «1» e a movermos muito ligeiramente para a esquerda ou para a direita, o resultado é que as duas imagens (antes e depois da deslocação) são muito diferentes, porque os píxeis pretos estão em posições diferentes nas mesmas. Felizmente, os dados do MNIST foram pré-processados, tendo as imagens sido centradas, pelo que este problema é atenuado."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"illustrations","properties":{"motive":"recommendation-PT","color":"#ebe9ef","frombottom":"0","totalheight":"50%"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Utilizar os vizinhos mais próximos para prever o comportamento do utilizador"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Um exemplo típico de uma aplicação do método do vizinho mais próximo é a previsão do comportamento do utilizador em aplicações de IA, tais como sistemas de recomendação."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A ideia é seguir o princípio muito simples de que os utilizadores com um comportamento semelhante no passado têm tendência a ter um comportamento semelhante no futuro. Imagine um sistema de recomendação de música que recolhe dados sobre o comportamento de escuta dos utilizadores. Digamos que ouviu música disco dos anos 80 (apenas a título de exemplo). Certo dia, o prestador do serviço obtém um clássico da música disco difícil de encontrar, de 1980, e acrescenta-o à biblioteca de música. Agora, o sistema precisa de prever se gostará dele ou não. Uma forma de fazê-lo é utilizar as informações sobre o género musical, o artista e outros metadados, que foram introduzidas pelas pessoas que trabalham no prestador do serviço. No entanto, estas informações são relativamente escassas e grosseiras, e apenas poderão dar azo a previsões aproximadas."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"O que os atuais sistemas de recomendação utilizam, ao invés metadados introduzidos manualmente, é algo designado por filtragem colaborativa. O seu aspeto colaborativo é o recurso aos dados de outros utilizadores para prever as suas preferências. A palavra «filtro» refere-se ao facto de que apenas lhe serão recomendados conteúdos que passem por um filtro: os conteúdos de que provavelmente irá gostar passarão, enquanto os outros conteúdos não (este tipo de filtros pode levar às chamadas bolhas de filtragem, que mencionámos no Capítulo 1 e a que voltaremos mais adiante)."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Agora, digamos que outros utilizadores que ouviram música disco dos anos 80 gostam da nova música e ouvem-na constantemente. O sistema identificará o comportamento passado semelhante partilhado por si e por outros amantes da música disco dos anos 80, e, uma vez que outros utilizadores semelhantes a si gostam da nova música, o sistema irá prever que também gostará. Por conseguinte, irá mostrá-la no topo da sua lista de recomendações. Numa realidade alternativa, talvez a canção adicionada não seja assim tão boa e outros utilizadores com um comportamento passado semelhante ao seu não gostam dela. Nesse caso, o sistema não se daria ao trabalho de lha recomendar, ou, pelo menos, não a poria no topo da sua lista de recomendações."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"O exercício seguinte ilustrará esta ideia."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"quiz","properties":{"quizid":"7f50be73-430c-5ae8-97af-717487c8f38a"},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"illustrations","properties":{"motive":"nearest-neighbor","color":"#ebe9ef","frombottom":"24.7%","totalheight":"63%"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"No exemplo anterior, apenas tínhamos dados de seis utilizadores e a nossa previsão foi, provavelmente, muito pouco fiável. No entanto, os sites de compras pela Internet têm frequentemente milhões de utilizadores e a quantidade de dados que produzem é gigantesca. Em muitos casos, há um enorme número de utilizadores cujo comportamento passado é muito semelhante ao seu e cujo histórico de compras dá uma indicação bastante boa dos seus interesses."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Estas previsões também podem ser profecias autocumpridas, no sentido de que é mais provável que compre um produto se este lhe for recomendado pelo sistema, o que torna difícil avaliar quão bem funcionam efetivamente. O mesmo tipo de sistemas de recomendação também é utilizado para recomendar música, filmes, notícias e conteúdos de redes sociais aos utilizadores. No contexto das notícias e das redes sociais, os filtros criados por esses sistemas podem levar a bolhas de filtragem."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"quiz","properties":{"quizid":"a0a8f325-0080-554e-80d2-03d838173de9","peerreviewid":"5af3cb368125a40004605113"},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]}],"data":{"quirksMode":false}},"excerpt":"No diagrama acima, mostramos uma coleção de elementos de dados de treino, alguns dos quais pertencem a uma classe (verde) e outros a outra…","frontmatter":{"path":"/pt/4/2","title":"O classificador vizinho mais próximo","part":4,"type":"section","section":2,"lang":"pt"}}},{"node":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"lead","properties":{},"children":[{"type":"text","value":"O nosso principal objetivo de aprendizagem nesta secção é outro bom exemplo de método de aprendizagem supervisionada, quase tão simples como o classificador vizinho mais próximo: a regressão linear. Vamos também falar do seu parente próximo, a regressão logística.\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"A diferença entre classificação e regressão","description":"Há uma pequena, mas importante, diferença no tipo de previsões que devemos produzir em diferentes cenários. Enquanto, por exemplo, o classificador vizinho mais próximo escolhe uma etiqueta de classe para qualquer item a partir de um determinado conjunto de alternativas (como spam/relevante, ou 0,1,2,…,9), a regressão linear produz uma previsão numérica que não está limitada a ser um tipo de dado inteiro (por exemplo, um número inteiro, ao invés algo como 3,14). Assim, a regressão linear é mais adequada em situações em que a variável de saída pode ser qualquer número, como o preço de um produto, a distância para um obstáculo, a receita nas bilheteiras do próximo filme da Guerra das Estrelas, etc."},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A ideia básica na regressão é adicionar os efeitos de cada uma das variáveis em causa para produzir o valor previsto. O termo técnico para o processo de adição é "},{"type":"element","tagName":"i","properties":{},"children":[{"type":"text","value":"combinação linear"}]},{"type":"text","value":". A ideia é muito simples e pode ser ilustrada pela sua conta do supermercado."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Pensar na regressão linear como uma conta de supermercado","description":"Imagine que vai ao supermercado e compra 2,5 kg de batatas, 1,0 kg de cenouras e 2 pacotes de leite. Se o preço das batatas for 2 € por kg, o preço das cenouras for 4 € por kg, e um pacote de leite custar 3 €, a conta, calculada pelo caixa, totaliza 2,5 × 2 € + 1,0 × 4 € + 2 × 3 € = 15 €. Na regressão linear, as quantidades de batatas, cenouras e leite são as entradas nos dados. A saída é o custo das suas compras, que depende claramente do preço e da quantidade de cada produto que compra."},"children":[{"type":"text","value":"\n  "}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A palavra linear significa que o aumento do valor de saída decorrente do aumento da característica de uma entrada num determinado valor fixo é sempre o mesmo. Por outras palavras, sempre que acrescenta, por exemplo, dois quilos de cenouras ao seu carrinho de compras, a conta aumenta 8 €. Quando acrescenta outros dois quilos, a conta aumenta outros 8 €, e se acrescentar metade, ou seja, 1 kg, a conta sobe exatamente metade desse valor, 4 €."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"key-terminology","properties":{"terminologies":"[\n      {\"title\":\"Coeficientes ou pesos\",\"content\":\"Na terminologia da regressão linear, os preços dos diferentes produtos seriam chamados coeficientes ou pesos (isto pode parecer confuso, pois chamamos peso à quantidade medida de batatas e cenouras, mas não se deixe enganar por isso). Uma das principais vantagens da regressão linear é a sua fácil interpretabilidade: os pesos aprendidos podem, na verdade, ser mais interessantes do que as previsões das saídas.<br><br>Por exemplo, quando utilizamos a regressão linear para prever a esperança de vida, o peso de fumar (cigarros por dia) é cerca de menos meio ano, o que significa que, em média, fumar mais um cigarro por dia retira meio ano à sua vida. Do mesmo modo, o peso do consumo de produtos hortícolas (alguns produtos hortícolas por dia) tem o peso de mais um ano, pelo que, em média, comer algumas verduras diariamente adiciona um ano de vida.\"}\n  ]"},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"quiz","properties":{"quizid":"a39b3dcd-134a-5697-982b-7fd4650cef52"},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"No exercício acima, a esperança de vida das mulheres que não fumam e que consomem produtos hortícolas, 80 anos, foi o ponto de partida para o cálculo. O termo técnico para o ponto de partida é o "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"interceto"}]},{"type":"text","value":". Voltaremos a isto mais adiante, quando discutirmos como aprender modelos de regressão linear a partir de dados."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Aprendizagem da regressão linear"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Anteriormente, abordámos como são obtidas previsões a partir da regressão linear, quando os pesos e as características das entradas são conhecidas. Assim, são-nos fornecidas as entradas e o seu peso, e conseguimos produzir a saída prevista."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Quando recebemos as entradas e saídas de vários itens, podemos encontrar os pesos, de tal forma que a saída prevista corresponde o mais possível à saída efetiva. Esta é a tarefa resolvida pela aprendizagem automática."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"Exemplo","description":"Continuando com a analogia das compras, imagine que nos foram indicados os conteúdos de vários cestos de compras e a conta total para cada um deles, e nos pediram para determinar o preço de cada um dos produtos (batatas, cenouras, etc.). Com um cesto, por exemplo, com 1 kg de carne do lombo, 2 kg de cenouras e uma garrafa de Chianti, mesmo sabendo que a conta totaliza 35 €, não conseguiríamos determinar os preços, porque há muitos conjuntos de preços que dariam a mesma conta total. No entanto, com muitos cestos, por norma conseguimos resolver o problema."},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Mas o problema é dificultado pelo facto de, no mundo real, a saída efetiva nem sempre ser totalmente determinada pela entrada, devido a vários fatores que introduzem incerteza, ou «ruído», no processo. Pode pensar em fazer compras num mercado de rua, onde os preços de qualquer produto podem variar pontualmente, ou num restaurante, onde a despesa final inclui o valor variável da gorjeta. Nessas situações, podemos estimar os preços, mas apenas com uma exatidão limitada."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Encontrar os pesos que otimizem a correspondência entre as saídas previstas e efetivas nos dados de treino é um problema estatístico clássico, que remonta ao século XIX, e pode ser facilmente resolvido, até mesmo para conjuntos de dados enormes."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Não vamos analisar em detalhe os algoritmos reais para identificar pesos, como a técnica clássica dos mínimos quadrados, por mais simples que sejam. No entanto, nos exercícios seguintes, pode ficar com uma ideia de como identificar tendências nos dados."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Visualização da regressão linear"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Uma boa maneira de ter uma ideia do que a regressão linear nos pode dizer é desenhar um gráfico contendo os nossos dados e os resultados da regressão. Apenas a título de exemplo, o nosso conjunto de dados tem uma variável, o número de chávenas de café que um colaborador bebe por dia, sendo a saída o número de linhas de código que esse colaborador escreve diariamente. Este não é um conjunto de dados reais, pois, como é óbvio, há outros fatores além do café que afetam a produtividade de um colaborador e que interagem de formas complexas. Além disso, o aumento na produtividade quando aumenta o consumo de café apenas se irá verificar até um certo ponto, após o qual os tremores distraem em demasia."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"linearreg","properties":{},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Quando apresentamos os nossos dados no gráfico acima como pontos, em que um ponto representa um colaborador, podemos ver que há obviamente uma tendência no sentido de que beber mais café leva a escrever mais linhas de código (lembre-se de que estes dados são totalmente fictícios). A partir deste conjunto de dados, podemos aprender o coeficiente, ou peso, relacionado com o consumo de café, e, logo à primeira vista, podemos dizer que parece estar próximo de cinco, uma vez que por cada chávena de café consumida o número de linhas programadas aparenta aumentar à volta de cinco. Por exemplo, os colaboradores que bebem cerca de duas chávenas de café por dia parecem produzir cerca de 20 linhas de código diariamente, e, do mesmo modo, quando bebem quatro chávenas de café, a quantidade de linhas de código produzidas ascende a cerca de 30."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"É de notar que os colaboradores que não bebem café também produzem código — segundo o gráfico, cerca de 10 linhas. Este número é o termo de interceto que mencionámos anteriormente. O interceto é outro parâmetro do modelo, tal como os pesos, que é possível aprender a partir dos dados. Tal como no exemplo da esperança de vida, podemos pensar nele como o ponto de partida dos nossos cálculos, antes de adicionarmos os efeitos da variável de entrada, ou variáveis se tivermos mais do que uma, quer se tratem de chávenas de café, como neste exemplo, ou de cigarros e produtos hortícolas, como no exemplo anterior."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A linha no gráfico representa o nosso resultado previsto, em que estimámos o interceto e o coeficiente, utilizando uma técnica de regressão linear real, designada mínimos quadrados. Esta linha pode ser usada para prever o número de linhas produzidas quando a entrada é o número de chávenas de café. Tenha em atenção que podemos obter uma previsão mesmo se permitirmos chávenas parciais (como meia, 1/4 de chávena, etc.) ao invés inteiras."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"exercise17","properties":{"quizid":"5090c245-d772-5405-af26-4964d31e9232"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"exercise18","properties":{"quizid":"f920cdab-e035-56e6-9833-868e7ae0d3a6"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Convém frisar que os estudos como os utilizados nos exercícios anteriores não conseguem identificar relações causais. Por outras palavras, partindo apenas destes dados, é impossível dizer se estudar aumenta realmente a esperança de vida, graças a um estilo de vida melhor informado e mais saudável ou outros mecanismos, ou se a associação aparente entre a esperança de vida e a educação se deve a fatores subjacentes que afetam ambas. Por exemplo, é provável que nos países onde as pessoas costumam ser altamente qualificadas, a nutrição, os cuidados de saúde e a segurança também sejam melhores, o que aumenta a esperança de vida. Com este tipo de análise simples, apenas podemos identificar associações, o que, ainda assim, pode ser útil para fazer previsões."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"Aplicações de aprendizagem automática de regressão linear"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A regressão linear é o verdadeiro elemento fundamental de muitas aplicações de IA e ciência dos dados. Tem os seus limites, mas muitas vezes estes são compensados pela sua simplicidade, interpretabilidade e eficiência. A regressão linear foi utilizada com êxito nos seguintes problemas, para dar alguns exemplos:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão de taxas de cliques na publicidade online"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão de procura de produtos nas lojas"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão de receitas de bilheteira de filmes de Hollywood"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão do custo do software"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão do custo dos seguros"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão de taxas de criminalidade"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"previsão dos preços dos imóveis"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Podemos usar a regressão para prever etiquetas?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Conforme mencionado anteriormente, a regressão linear e o método do vizinho mais próximo produzem diferentes tipos de previsões. A regressão linear produz saídas numéricas, enquanto o método do vizinho mais próximo produz etiquetas a partir de um conjunto fixo de alternativas («classes»)."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Onde a regressão linear se destaca em comparação com o método de vizinho mais próximo é ao nível da interpretabilidade. O que queremos dizer com isto? Podemos dizer que, de certa forma, o método do vizinho mais próximo e qualquer previsão isolada que este produzir são fáceis de interpretar: trata-se apenas do elemento de dados de treino mais próximo! Isto é verdade, mas quando se trata da interpretabilidade do modelo aprendido, há uma diferença clara. É impossível interpretar o modelo treinado nos vizinhos mais próximos de forma semelhante aos pesos na regressão linear: o modelo aprendido corresponde basicamente a todos os dados e, por norma, é demasiado grande e complexo para nos fornecer muitas perspetivas. Então e se quisermos um método que produza o mesmo tipo de saídas que o método do vizinho mais próximo, etiquetas, mas seja interpretável como a regressão linear?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"A regressão logística vem ao socorro"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Bem, temos boas notícias para si: podemos transformar as saídas do método de regressão linear em previsões sobre etiquetas. A técnica para fazê-lo chama-se regressão logística. Não vamos abordar os aspetos técnicos, bastando dizer que, no caso mais simples, pegamos na saída da regressão linear, que é um número, e prevemos uma etiqueta A, se esta for maior que zero, e outra etiqueta B, se esta for inferior ou igual a zero. Na verdade, ao invés prever apenas uma classe ou outra, a regressão logística também pode fornecer-nos uma medida da incerteza da previsão. Assim, se estivermos a prever se um cliente comprará um novo smartphone este ano, podemos obter uma previsão de que o cliente A comprará um telefone com uma probabilidade de 90 %, mas para outro cliente, menos previsível, podemos obter uma previsão de que "},{"type":"element","tagName":"i","properties":{},"children":[{"type":"text","value":"não"}]},{"type":"text","value":" comprará um telefone com uma probabilidade de 55 % (ou dito de outra forma, que comprará um telefone com uma probabilidade de 45 %)."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"O mesmo truque também pode ser utilizado para obter previsões relativas a mais de duas etiquetas possíveis; assim, ao invés prevermos sempre «sim» ou «não» (comprar um novo telefone ou não, notícias falsas ou reais, etc.), podemos usar a regressão logística para identificar, por exemplo, dígitos manuscritos, sendo que, nesse caso, existem 10 etiquetas possíveis."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"Um exemplo de regressão logística"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Imaginemos que recolhemos dados de estudantes que estão a fazer um curso de iniciação à culinária. Além das informações básicas, como o nome e o número de identificação do aluno, etc., também pedimos aos alunos para indicarem quantas horas tinham estudado para o exame (seja como for que se estuda para um exame de culinária… provavelmente cozinhando?), na esperança de que sejam mais ou menos honestos nas suas respostas. Após o exame, saberemos se cada aluno obteve ou não aprovação no curso. São apresentados em seguida alguns pontos de dados:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"table","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"tbody","properties":{},"children":[{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"th","properties":{},"children":[{"type":"text","value":"Número de identificação do aluno"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"th","properties":{},"children":[{"type":"text","value":"Horas de estudo"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"th","properties":{},"children":[{"type":"text","value":"Aprovado/Não aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n  "},{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"24"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"15"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"Aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n  "},{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"41"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"9.5"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"Aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n  "},{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"58"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"2"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"Não aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n  "},{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"101"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"5"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"Não aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n  "},{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"103"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"6.5"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"Não aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n  "},{"type":"element","tagName":"tr","properties":{},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"215"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"6"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"td","properties":{},"children":[{"type":"text","value":"Aprovado"}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Com base na tabela, a que tipo de conclusão pode chegar sobre a relação entre as horas de estudo e a aprovação no exame? Poderíamos pensar que, se tivéssemos dados de centenas de estudantes, talvez conseguíssemos ver quantas horas de estudo são necessárias para obter a aprovação no curso. Podemos apresentar estes dados num gráfico, como pode ver abaixo."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"exercise19","properties":{"quizid":"d9eb6dab-8e27-534b-ab29-9ba65463284c"},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A regressão logística também é utilizada numa grande variedade de aplicações de IA no mundo real, por exemplo na previsão de riscos financeiros, no âmbito de estudos clínicos, etc. No entanto, tal como a regressão linear, também está limitada pela propriedade de linearidade e precisamos de ter muitos outros métodos no nosso conjunto de ferramentas. Voltaremos à questão da linearidade mais adiante, quando falarmos sobre as redes neuronais."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Os limites da aprendizagem automática"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Resumindo, a aprendizagem automática é uma ferramenta muito poderosa para desenvolver aplicações de IA. Além do método do vizinho mais próximo, da regressão linear e da regressão logística, existem literalmente centenas, se não milhares, de diferentes técnicas de aprendizagem automática, mas todas se resumem ao mesmo: tentar extrair padrões e dependências dos dados e usá-los para compreender um fenómeno ou prever resultados futuros."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A aprendizagem automática pode ser um problema muito difícil e, por norma, não conseguimos alcançar um método perfeito que produza sempre a etiqueta correta. No entanto, na maioria dos casos, uma previsão boa, mas sem ser perfeita, continua a ser melhor que nada. Por vezes, podemos conseguir produzir previsões melhores sozinhos, mas, ainda assim, preferir utilizar a aprendizagem automática, porque a máquina fará as suas previsões mais rapidamente e também continuará a fazê-las sem se cansar. São disso bons exemplos os sistemas de recomendação, que precisam de prever que música, vídeos ou anúncios provavelmente serão do seu interesse."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Os fatores que afetam o nível do resultado que podemos alcançar incluem:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"A dificuldade da tarefa: no reconhecimento de dígitos manuscritos, se os dígitos forem escritos de forma muito descuidada, nem sequer um ser humano consegue adivinhar sempre de forma correta o que pretendia o escritor"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"O método de aprendizagem automática: alguns métodos são muito melhores do que outros para uma determinada tarefa"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"A quantidade de dados de treino: com apenas alguns exemplos, é impossível obter um bom classificador"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"A qualidade dos dados"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"note","properties":{"heading":"A qualidade dos dados é importante","description":"No início deste capítulo, sublinhámos a importância de ter dados suficientes e os riscos do sobreajustamento. Outro fator igualmente importante é a <b>qualidade</b> dos dados. Para construir um modelo que seja facilmente aplicado a dados fora dos dados de treino, estes últimos precisam de conter uma quantidade suficiente de informações pertinentes para o problema em causa. Por exemplo, se criar um classificador de imagens que indica a que se refere a imagem que é fornecida ao algoritmo, e o tiver treinado usando apenas imagens de cães e gatos, este considerará que tudo o que vir é um cão ou um gato. Isto faz sentido se o algoritmo for utilizado num ambiente onde apenas verá gatos e cães, mas não caso se espere que também veja barcos, carros e flores.<br><br>Voltaremos a abordar potenciais problemas causados por dados «enviesados»."},"children":[]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Também é importante realçar que diferentes métodos de aprendizagem automática são adequados para diferentes tarefas. Assim, não existe um único método que seja o melhor para todos os problemas («um algoritmo para a todos governar…»). Felizmente, podemos experimentar um grande número de métodos diferentes e ver qual deles funciona melhor para o problema em causa."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Isto leva-nos a um ponto que é muito importante, mas que muitas vezes é ignorado na prática: o que significa funcionar melhor. Na tarefa de reconhecimento de dígitos, como é óbvio, um bom método produziria a etiqueta correta na maior parte das vezes. Podemos medir isto pelo erro de classificação: a percentagem de casos em que o nosso classificador produz a classe errada. Na previsão dos preços de apartamentos, a medida de qualidade é normalmente algo como a diferença entre o preço previsto e o preço final de venda do apartamento. Em muitas aplicações da vida real, também é pior enganar-se num sentido do que noutro: definir um preço demasiado alto pode atrasar o processo em meses, mas definir um preço demasiado baixo significará menos dinheiro para o vendedor. E, para dar outro exemplo, a falha em detetar um peão à frente de um carro é um erro muito pior do que detetar um peão erradamente, quando não há nenhum."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Conforme mencionado anteriormente, por norma não conseguimos atingir uma taxa zero de erros, mas talvez fiquemos satisfeitos com uma taxa de erro inferior a 1 em 100 (ou 1 %). Isto também depende da aplicação: não ficaria satisfeito por ter apenas 99 % de carros seguros na estrada, mas conseguir prever se gostará de uma nova canção com essa exatidão pode ser mais do que suficiente para ter uma experiência auditiva agradável. Manter sempre o objetivo real em mente ajuda-nos a assegurar que criamos valor acrescentado efetivo."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"part-summary","properties":{"chapter":"4","heading":"Após concluir o Capítulo 4, deverá conseguir:","listitems":"[\n  {\"content\":\"Explicar por que motivo são usadas técnicas de aprendizagem automática\"},\n  {\"content\":\"Fazer a distinção entre cenários de aprendizagem automática supervisionada e não supervisionada\"},\n  {\"content\":\"Explicar os princípios de três métodos de classificação supervisionados: o método do vizinho mais próximo, a regressão linear e a regressão logística\"}\n    ]"},"children":[{"type":"text","value":">\n  "}]},{"type":"text","value":"\n"}]}],"data":{"quirksMode":false}},"excerpt":"A ideia básica na regressão é adicionar os efeitos de cada uma das variáveis em causa para produzir o valor previsto. O termo técnico para o…","frontmatter":{"path":"/pt/4/3","title":"Regressão","part":4,"type":"section","section":3,"lang":"pt"}}},{"node":{"htmlAst":{"type":"root","children":[],"data":{"quirksMode":false}},"excerpt":"","frontmatter":{"path":"/pt/4","title":"Aprendizagem automática","part":4,"type":"part","section":null,"lang":"pt"}}}]},"currentPart":{"htmlAst":{"type":"root","children":[],"data":{"quirksMode":false}},"frontmatter":{"path":"/pt/4","title":"Aprendizagem automática","part":4,"quote":"Há muito que é ponto assente que a aprendizagem é um elemento fundamental da inteligência. Isto é verdade tanto para a inteligência natural — todos ficamos mais inteligentes ao aprender — como para a inteligência artificial.","quoteAuthor":"","bannerImage":{"publicURL":"/static/fdc0e4c1dc187a976325542364658e54/banner4.png"}}},"site":{"siteMetadata":{"languages":{"defaultLangKey":"en","langs":["en","fi","se","de","ee","fr","it","fr-be","no","lt","lv","nl-be","mt","hr","pl","en-ie","ga","nl","sk","da","ro","sl","is","de-at","en-lu","bg","cs","pt","es","el"]}}}},"pageContext":{"part":4,"type":"part","lang":"pt"}},"staticQueryHashes":["3539470774"]}