# data[].attributes.attachment_caption
A revolução das imagens criadas pela Inteligência Artificial - BBC News Brasil

# data[].attributes.attachment_link.title
A revolução das imagens criadas pela Inteligência Artificial - BBC News Brasil

# data[].attributes.attachment_link.description
Neste vídeo, Camilla Costa explica como a tecnologia tornou possível transformar frases em fotos e ilustrações quase perfeitas – e por que isso já está causando polêmica.

# data[].attributes.attachment_link.title
Vatican joins IBM, Microsoft to call for facial recognition regulation

# data[].attributes.attachment_link.description
The Vatican joined forces with tech giants Microsoft and IBM on Friday to promote the ethical development of artificial intelligence (AI) and call for regulation of intrusive technologies such as facial recognition.

# data[].attributes.attachment_link.readable_text
O papa Francisco não é um completo alienado quanto ao mundo, até porque é tradição da Igreja Católica fazer ciência desde sempre. No passado, ele usou o Twitter para conceder indulgências plenárias, e reconheceu que as teorias do Big Bang e da Evolução não competem com o dogma da Criação Divina.

No início de 2020, o pontífice apresentou um plano de desenvolvimento para IAs, endossado por IBM e Microsoft, em que empresas e profissionais devem se comprometer a sempre prezar por sistemas inteligentes que não reproduzam preconceitos humanos, e que promovam a justiça e a solidariedade.

Mais recentemente, o papa Francisco voltou a tocar no assunto, através de sua intenção de oração mensal, veiculada nos diversos canais oficiais do Vaticano no YouTube, em diversas línguas.

Todos os meses, ele transmite uma mensagem pela Rede Mundial de Oração do Papa (nome atual do Apostolado da Oração), com temáticas universais, para todos os cidadãos (católicos ou não), e evangelizadoras, para fieis e membros do clero.

Desta vez, Francisco foi específico sobre o desenvolvimento de IAs, sistemas especialistas e soluções de robóticas voltadas sempre para o bem comum da humanidade, ao invés de visando interesses particulares.

A princípio, muita gente pode pensar que o papa fala de uma provável revolução das máquinas, ao citar que os desenvolvedores precisam se preocupar em criar soluções submetidas às pessoas, mas este não é nem de longe o ponto abordado pelo pontífice. Sua preocupação reside no fato de que uma ferramenta sempre será usada por uma pessoas para conseguir alguma vantagem, seja um tacape ou um algoritmo, e isso não é aceitável, na sua visão.

Enquanto Elon Musk e Stephen Hawking demonstraram seus medos quanto a um apocalipse robótico, o papa Francisco está mais atento ao flagelo diário dos mais vulneráveis, sejam os pobres ou minorias, que podem ser prejudicadas por vieses reproduzidos pelas máquinas, graças aos humanos que as programaram.

Exemplos não faltam, desde o sistema de IA da United Health, empresa que no Brasil administra a rede Amil, que priorizava pacientes brancos em detrimento de negros, a algoritmos que levaram a prisões indevidas ao replicar preconceito racial.

No Reino Unido, outro algoritmo dava notas piores a estudantes que viviam em condições sócio financeiras inferiores aos mais bem avaliados.

O papa Francisco é bem claro em defender novamente que os valores da Igreja Católica, como justiça, igualdade, solidariedade, dignidade do indivíduo e subsidiariedade (o Estado só atua para prover as necessidades imediatas dos cidadãos quando as esferas inferiores falham em fazê-lo, e se afasta tão logo a situação esteja controlada, para que não haja interferência estatal) devem ser comuns a todos, independente de ter ou não uma religião, e que os devs precisam atuar para combater as desigualdades sociais, ao invés de aumentá-las.

O "a serviço do ser humano", mencionado pelo papa, é isso: não é subserviência das máquinas às pessoas, e sim responsabilidade social para que sistemas, IAs e robôs sejam ferramentas que promovam a igualdade entre os povos, independente de etnia, credo, situação financeira, gênero, nacionalidade, idade ou qualquer outra característica.

Até porque na pior das hipóteses, tudo o que as máquinas vão ver serão alvos.

Fonte: The Verge

# data[].attributes.attachment_link.title
Papa Francisco: "IA e robôs devem sempre servir à humanidade" - Meio Bit

# data[].attributes.attachment_link.description
O papa Francisco não é um completo alienado quanto ao mundo, até porque é tradição da Igreja Católica fazer ciência desde sempre. No passado, ele usou o Twitter para conceder indulgências plenárias, e reconheceu que as teorias do Big Bang e da Evolução não competem com o dogma da Criação Divina.

# data[].attributes.attachment_caption
Por que uma Lei pode dificultar o desenvolvimento da inteligência artificial no Brasil

# data[].attributes.attachment_link.readable_text
Tramita no Senado Federal o PL 21/2020 que cria o marco legal do desenvolvimento e uso da Inteligência Artificial (IA) pelo poder público, empresas, entidades diversas e pessoas físicas, que vem sendo discutido desde 2020 (Só isso já é um problema, pois quando aprovada já estará de certa forma ultrapassada).

O projeto de autoria do deputado cearense Eduardo Bismarck pretende disciplinar o desenvolvimento e utilização da Inteligência Artificial e conta com uma série de boas intenções. Porém, em caso de aprovação, deverá atrasar ainda mais o desenvolvimento da tecnologia no Brasil.

A proposta já conta com 11 emendas das mais diversas e, analisando algumas delas, os maiores problemas que consegui identificar são as definições vagas de conceitos como a própria inteligência artificial, que segundo o texto pode ser definida como:

II - Sistemas baseados em conhecimento ou em lógica;

Ora, esta definição poderia facilmente enquadrar todos os sistemas e softwares já desenvolvidos até hoje, afinal todos são baseados em conhecimento e lógica. Dessa maneira, o marco legal poderia ser aplicado a todas as soluções de software existentes.

Além da falta de clareza na definição do escopo da lei, as exigências que são colocadas podem dificultar o desenvolvimento de software no Brasil. Veja o exemplo abaixo no pedido de emenda feito pelo deputado Renildo Calheiros:

V - Transparência e explicabilidade: garantia de transparência sobre o uso e funcionamento dos sistemas de inteligência artificial e de divulgação responsável do conhecimento de inteligência artificial de forma clara, precisa e facilmente acessível, observados os segredos comercial e industrial, e de conscientização das partes interessadas sobre suas interações com os sistemas, inclusive no local de trabalho.

É possível identificar a boa intenção, tão quanto é inviável a proposta, pois não me parece conciliável criar um algoritmo de inteligência artificial facilmente explicável e ao mesmo tempo proteger os segredos comerciais e industriais.

Sou um defensor da regulamentação e da responsabilização de usos indevidos da tecnologia, porém, precisamos antes garantir que o mercado de tecnologia brasileiro possa se desenvolver na mesma velocidade que o mercado global, caso contrário, vamos prejudicar a evolução de um mercado que muito pode colaborar para que o Brasil retome a rota do crescimento.

Fórum CNN

Os artigos publicados pelo Fórum CNN buscam estimular o debate, a reflexão e dar luz a visões sobre os principais desafios, problemas e soluções enfrentados pelo Brasil e por outros países do mundo.

Os textos publicados no Fórum CNN não refletem, necessariamente, a opinião da CNN Brasil.

Sugestões de artigos devem ser enviadas a forumcnn@cnnbrasil.com.br e serão avaliadas pela editoria de especiais.

Este texto não reflete, necessariamente, a opinião da CNN Brasil.

# data[].attributes.attachment_link.title
Por que uma Lei pode dificultar o desenvolvimento da inteligência artificial no Brasil

# data[].attributes.attachment_link.description
Tramita no Senado Federal o PL 21/2020 que cria o marco legal do desenvolvimento e uso da Inteligência Artificial (IA) pelo poder público, empresas, entidades diversas e pessoas físicas, que vem sendo discutido desde 2020 (Só isso já é um problema, pois quando aprovada já estará de certa forma ultrapassada).

# data[].attributes.body
Be Right Back
Hated in the Nation

# data[].attributes.body
TED: How I'm fighting bias in algorithms / Como estou lutando contra o viés nos algoritmos

# data[].attributes.attachment_link.description
MIT grad student Joy Buolamwini was working with facial analysis software when she noticed a problem: the software didn’t detect her face -- because the people who coded the algorithm hadn’t taught it to identify a broad range of skin tones and facial structures. Now she’s on a mission to fight bias in machine learning, a phenomenon she calls the “coded gaze.” It’s an eye-opening talk about the need for accountability in coding ... as algorithms take over more and more aspects of our lives.

# data[].attributes.body
Propensão, inclinação

Tendência associada ou determinada por fatores externos

# data[].attributes.attachment_caption
O Papa: cada pessoa deve desfrutar de um desenvolvimento humano e solidário - Vatican News

# data[].attributes.attachment_link.readable_text
O Papa Francisco com os signatários do documento "Rome Call" (Vatican Media)

Francisco recebeu em audiência os signatários de um documento sobre o desenvolvimento ético da inteligência artificial. "A fraternidade entre todos é a condição para que o desenvolvimento tecnológico esteja a serviço da justiça e da paz em todo o mundo", disse o Papa em seu discurso.
Mariangela Jaguraba - Vatican News
O Papa Francisco recebeu em audiência, na Sala Clementina, no Vaticano, os signatários do Rome Call for A.I. Ethics, um documento sobre o desenvolvimento ético da inteligência artificial, assinado por representantes das três religiões abraâmicas, na Casina Pio IV, no Vaticano, nesta terça-feira (10/01). O encontro dos signatários foi organizado pela Pontifícia Academia para a Vida e pela Fundação RenAIssance.

Em seu discurso, o Pontífice agradeceu aos persentes "pelo compromisso de promover, através do Rome Call, uma ética compartilhada em relação aos grandes desafios que se abrem no horizonte da inteligência artificial".

A inteligência artificial está presente na vida cotidiana

Após a primeira assinatura em 2020, o evento desta terça-feira "conta com o envolvimento de delegações judaicas e islâmicas, que olham para a inteligência artificial com um olhar inspirado nas palavras da Encíclica Fratelli tutti". Segundo o Papa, a adesão dessas delegações "na promoção de uma cultura que coloque esta tecnologia a serviço do bem comum de todos e da salvaguarda da Casa comum é exemplar para muitos outros. A fraternidade entre todos é a condição para que o desenvolvimento tecnológico esteja a serviço da justiça e da paz em todo o mundo".
Todos sabemos o quanto a inteligência artificial está cada vez mais presente em todos os aspectos da vida cotidiana, tanto pessoal quanto social. Ela incide na nossa maneira de entender o mundo e a nós mesmos. As inovações neste campo fazem com que esses instrumentos sejam cada vez mais decisivos na atividade e até mesmo nas decisões humanas.
O Papa encorajou os signatários do documento a prosseguirem nesse caminho, ressaltando que ficou feliz em saber que eles pretendem "envolver as outras grandes religiões do mundo e os homens e mulheres de boa vontade para que a algoritmia, ou seja, a reflexão ética sobre o uso de algoritmos, esteja cada vez mais presente não só no debate público, mas também no desenvolvimento de soluções técnicas".

Diálogo comum entre todos
De fato, cada pessoa deve poder desfrutar de um desenvolvimento humano e solidário, sem que ninguém seja excluído. Trata-se de vigiar e trabalhar para que não se enraíze o uso discriminatório desses instrumentos em detrimento dos mais frágeis e excluídos. Lembremo-nos sempre de que a forma como tratamos os últimos e menos considerados entre os nossos irmãos e irmãs mostra o valor que damos ao ser humano. É possível dar um exemplo dos pedidos dos requerentes de asilo: é inaceitável que a decisão sobre a vida e o destino de um ser humano seja confiada a um algoritmo.
Segundo o Papa, o Rome Call "pode ser um instrumento útil para um diálogo comum entre todos, a fim de favorecer o desenvolvimento humano das novas tecnologias". A este propósito, reiterou que "no encontro entre diferentes visões do mundo, os direitos humanos são um importante ponto de convergência para a busca de um terreno comum". De acordo com Francisco, "as adesões ao Rome Call, que cresceram ao longo do tempo, são um passo significativo na promoção de uma antropologia digital, com três coordenadas fundamentais: ética, educação e direito".

Por fim, o Papa os encorajou "a prosseguir com audácia e discernimento, na busca de caminhos que conduzam a um envolvimento cada vez maior de todos aqueles que têm no coração o bem da família humana".

# data[].attributes.attachment_link.title
O Papa: cada pessoa deve desfrutar de um desenvolvimento humano e solidário - Vatican News

# data[].attributes.attachment_link.description
Francisco recebeu em audiência os signatários de um documento sobre o desenvolvimento ético da inteligência artificial. "A fraternidade entre todos é a condição para que o desenvolvimento tecnológico esteja a serviço da justiça e da paz em todo o mundo", disse o Papa em seu discurso.

# data[].attributes.body
Coded Bias - Netflix

# data[].attributes.attachment_link.description
This documentary investigates the bias in algorithms after M.I.T. Media Lab researcher Joy Buolamwini uncovered flaws in facial recognition technology. Watch trailers & learn more.

# data[].attributes.body
- Carros autônomos
- Algoritmos de redes sociais
- Recomendações da Netflix
- Decisão de crédito (score)
- Seleção de emprego
- Google Maps
- Publicidade nas redes sociais
- Robô aspirador

# data[].attributes.body
"toda tecnologia está inserida dentro de um contexto ou projeto político, o que faz com que qualquer análise sobre IA também leve em consideração aspectos políticos e conjunturais"

De: https://teletime.com.br/12/05/2022/inteligencia-artificial-precisa-evitar-vies-racista-e-discriminatorio-afirmam-especialistas/

# data[].attributes.headline
Fichamento - Introdução à Inteligência Artificial

# data[].attributes.subject
Fichamento - Introdução à Inteligência Artificial

# data[].attributes.attachment_link.description
Create a new document and edit with others at the same time -- from your computer, phone or tablet. Get stuff done with or without an internet connection. Use Docs to edit Word files. Free from Google.

# data[].attributes.body
Artigo: A PROBLEMÁTICA DA INTELIGÊNCIA ARTIFICIAL E DOS VIESES ALGORÍTMICOS: CASO COMPAS

# data[].attributes.body
Imagem que mostra a intenção inicial do Twitter

# data[].attributes.body
Artigo interessante sobre conceitos e modelos

# data[].attributes.attachment_link.readable_text
Machine Learning - ou Aprendizado de Máquina - é uma das técnicas utilizadas na Inteligência Artificial que usa algoritmos baseados em matemática e estatística para realizar a tarefa de aprendizado. Machine Learning surge da necessidade de processar e obter informação útil a partir dos dados e, uma vez que é inviável realizar manualmente o processamento e análise da grande quantidade de dados que temos disponíveis atualmente, é necessário automatizar tarefas, simulando o comportamento humano.

Desta forma, podemos definir Machine Learning como a utilização de algoritmos com a finalidade de extrair informações de dados brutos e representá-los por meio de algum tipo de modelo matemático. Este modelo é então usado para fazer inferências - ou predições - a partir de novos conjuntos de dados. Machine Learning busca, em geral, descobrir padrões ou fórmulas matemáticas que expliquem o relacionamento entre os dados, e estuda formas de automatização de tarefas inteligentes que seriam difíceis ou até mesmo impossíveis de serem realizadas manualmente por seres humanos.

Vale a pena ressaltar que a maioria das técnicas de Machine Learning é antiga e, em sua grande parte, provenientes da Estatística. Porém, elas só passaram a ser efetivamente utilizadas para exploração de dados nos últimos anos devido a diversos fatores, como a disponibilidade de maior volume de dados devido a popularização de aplicativos e dispositivos móveis, popularização de técnicas de Data Warehousing (grandes armazéns de dados com arquitetura voltada para a tomada de decisão), melhoria exponencial da potência dos recursos computacionais, como capacidade de processamento, e forte competição empresarial.

Em Machine Learning, o aprendizado é o objetivo principal. Aprendizado é a capacidade de se adaptar, modificar e melhorar seu comportamento e suas respostas, sendo uma das propriedades mais importantes dos seres inteligentes (humanos ou não). Diz-se que se está aprendendo (treinando, construindo, formulando ou induzindo um modelo de conhecimento) a partir de um conjunto de dados quando se procura por padrões nestes dados. Quando se faz uma estimativa (teste, predição) dos valores desconhecidos para atributos do conjunto de dados, diz-se que o modelo está sendo aplicado.

Podemos dividir o aprendizado em Machine Learning em dois grandes tipos: supervisionado e não-supervisionado. No aprendizado supervisionado, o modelo (ou algoritmo) é construído a partir dos dados de entrada (também chamados de dataset), que são apresentados na forma de pares ordenados (entrada - saída desejada). Dizemos que estes dados são rotulados, pois sabemos de antemão a saída esperada para cada entrada de dados. Neste caso, o aprendizado (ou treinamento) consiste em apresentarmos para o algoritmo um número suficiente de exemplos (também chamados de registros ou instâncias) de entradas e saídas desejadas (já rotuladas previamente). Assim, o objetivo do algoritmo é aprender uma regra geral que mapeie as entradas nas saídas corretamente, o que consiste no modelo final. Os dados de entrada podem ser divididos em dois grupos:

X, com os atributos (também chamados de características) a serem utilizados na determinação da classe de saída (também chamados de atributos previsores ou de predição)

Y, com o atributo para o qual se deseja fazer a predição do valor de saída categórico ou numérico (também chamado de atributo-alvo ou target).

É comum que particionemos os dados de entrada (rotulados) em dois conjuntos: o conjunto de treinamento, que servirá para construir o modelo, e o conjunto de teste (também chamado na literatura de conjunto de validação), que servirá para verificar como o modelo se comportaria em dados não vistos, de forma que possamos ajustá-lo, se necessário para a construção final do modelo, a ser aplicado em novos dados que ainda não conhecemos a saída esperada. A figura a seguir ilustra o funcionamento de um modelo de aprendizado supervisionado:

Apesar da essência principal de Machine Learning consistir na construção de algoritmos de aprendizado supervisionado ou não supervisionado, esta não é a única etapa em que devemos nos concentrar. É muito importante que entendamos bem o problema a ser resolvido para que possamos traçar os objetivos principais. Em seguida, será necessário coletar e analisar os dados adequados para o problema e prepará-los, pois na maioria das vezes eles virão com informações faltantes, incompletas ou inconsistentes. Após estas etapas é que podemos construir o modelo de Machine Learning, que deve ser avaliado e criticado e, se necessário voltar à etapa de coleta e análise de dados, para a obtenção de mais dados, ou mesmo retornar à etapa de construção do modelo, usando diferentes estratégias. Quando se chegar a um modelo satisfatório para o problema, será necessário apresentar os resultados para o demandante e distribuir o modelo em ambiente produtivo. A sequência a seguir resume estas 7 etapas que, idealmente, devem ser realizadas em todos os projetos de Machine Learning.

1. Entender o problema e definir objetivos - Que problema estou resolvendo?

2. Coletar e analisar os dados - De que informações preciso?

3. Preparar os dados - Como preciso tratar os dados?

4. Construir o modelo - Quais são os padrões nos dados que levam a soluções?

5. Avaliar e criticar o modelo - O modelo resolve meu problema?

6. Apresentar resultados - Como posso resolver o problema?

7. Distribuir o modelo - Como resolver o problema no mundo real?

A figura a seguir resume este fluxo:

São exemplos de problemas de aprendizado supervisionado a Classificação e a Regressão, queserão detalhados a seguir.

Um exemplo típico de problema de Classificação é a detecção de clientes com perfis fraudulentos. Imagine a seguinte situação: um determinado cliente deseja obter um empréstimo de R$ 10.000,00. O gestor deste sistema poderia se perguntar: "Será que este cliente vai pagar o empréstimo?". Ou ainda, "Qual é o melhor modelo de financiamento para este cliente (juros, prazo etc.)?". Este é um problema típico de Classificação, pois deseja-se classificar um cliente em uma das possíveis classes do problema, por exemplo, bom pagador/mau pagador ou juros/prazo/outros.

A Classificação é uma das categorias de problemas de Machine Learning mais importantes e mais populares e o objetivo do algoritmo é aprender uma regra geral que mapeie as entradas nas saídas corretamente. Conforme já mencionamos, os dados de entrada podem ser divididos em dois grupos: X, com os atributos a serem utilizados na determinação da classe de saída e Y, que representa a classe de saída (o atributo para o qual se deseja fazer a predição do valor da classe), sendo que em problemas de Classificação, o Y é sempre categórico.

Informalmente, um problema de Classificação pode ser definido como a busca por uma função matemática que permita associar corretamente cada exemplo Xi de um conjunto de dados a um único rótulo categórico, Yi, denominado classe. Esta função, uma vez identificada, poderá ser aplicada a novos dados para prever suas respectivas classes. A figura a seguir ilustra este problema:

O fluxo resumido de um problema de Classificação inicia gerando, a partir de uma base de dados rotulada (aquela em que para cada exemplo, conhecemos a sua respectiva classe), dois subconjuntos disjuntos: a base de treino (contendo, por exemplo, 70% dos dados originais) e a base de teste (contendo, o restante dos dados originais, no caso, 30%).

Em seguida, é realizado o treinamento do modelo: a base de treino é submetida ao modelo (classificador) para que seus parâmetros sejam calibrados de acordo com os dados apresentados. Após esta etapa, ocorre a etapa de predição de classes: os exemplos da base de teste são apresentados para o modelo treinado para que este realize a predição de suas classes. Medimos a qualidade do modelo comparando as classes preditas com as classes verdadeiras da base de teste, permitindo medir sua habilidade em classificar corretamente exemplos não vistos durante o treinamento. Este fluxo pode ser resumido pela figura a seguir.

Existem diversas medidas para estimar o desempenho de um classificador, sendo a acurácia uma das mais utilizadas, que representa o percentual de acertos do classificador. Outra métrica bastante utilizada para problemas de classificação é a matriz de confusão, que oferece um detalhamento do desempenho do modelo de classificação, mostrando, para cada classe, o número de classificações corretas em relação ao número de classificações preditas pelo modelo. A matriz de confusão pode ser usada para calcular outras métricas, tais como o número de Falsos Positivos (quando o resultado esperado é negativo, mas o modelo resulta em positivo), Falsos Negativos (quando o resultado esperado é positivo, mas o modelo resulta em negativo), Verdadeiros Positivos (quando o resultado esperado é positivo e o modelo resulta em positivo) e Verdadeiros Negativos (quando o resultado esperado é negativo e o modelo resulta em negativo).

A figura a seguir ilustra a matriz de confusão para um problema de classificação binária, no qual há somente duas classes possíveis, C1 e C2. Para problemas de classificação múltipla (no qual há mais de duas classes possíveis), a matriz de confusão pode ser um pouco confusa de se interpretar, sendo desencorajado o seu uso como única métrica de avaliação neste caso.

O problema de Classificação, apresentado anteriormente, pode ser considerado um subtipo do problema de Regressão, pois ambos são bem similares. Sua principal diferença consiste na saída do modelo: na Classificação, o resultado é categórico e na Regressão, o resultado é numérico (contínuo ou discreto). Um exemplo de problema de Regressão é a predição do valor estimado das vendas em uma nova filial de uma determinada cadeia de lojas. Se esta pergunta for mapeada em um problema de Classificação, as respostas possíveis poderiam ser: Alto/Médio/Baixo. Se mapeada em um problema de Regressão, as respostas poderiam ser valores monetários. As tarefas de separação em conjuntos de treino e teste, treinamento e teste são feitas de forma equivalente para ambos os problemas.

Assim como na Classificação, a Regressão consiste em realizar aprendizado supervisionado a partir de dados históricos. Além do tipo do resultado de saída do modelo, os dois problemas também se diferem quanto às métricas utilizadas para a avaliação de saída: na Regressão, verifica-se a distância ou o erro entre a saída do modelo e a saída desejada. A saída do modelo é um valor numérico que deve ser o mais próximo possível do valor desejado, e a diferença entre esses valores fornece uma medida de erro de estimação do algoritmo.

Podemos definir um problema de Regressão como: dado um conjunto de n padrões, cada um deles composto por variáveis explicativas (independentes) e por uma variável resposta contínua ou discreta (dependente), busca-se construir um modelo de Regressão que estime o valor mais esperado para a variável resposta dado um novo padrão i. Assim, seja di o valor de resposta desejada para o padrão i e seja zi a resposta predita do algoritmo, obtida a partir da entrada do padrão i, então di - zi é o erro observado para o objeto i. O processo de treinamento do modelo de regressão tem por objetivo "corrigir" este erro observado e, para tal, busca ajustar os parâmetros do modelo de forma a aproximar as saídas preditas dos valores de saída desejados.

Dentre as diversas métricas de avaliação utilizadas para problemas de regressão, uma das mais usadas é a RMSE ( Root Mean Square Error, ou raiz do erro quadrático médio). Quanto menor o valor de RMSE, melhor é o modelo de regressão analisado. Outra métrica muito utilizada é o Coeficiente de Determinação, ou R2. Quanto mais próximo de 1, melhor é o ajuste do modelo.

Para cada um dos problemas de Machine Learning existem diversos algoritmos que podem ser utilizados. Entretanto, vale a pena mencionar o conhecido teorema "não existe almoço grátis": não existe um algoritmo de aprendizado que seja superior a todos os demais quando considerados todos os problemas possíveis. A cada problema, os algoritmos disponíveis devem ser experimentados a fim de identificar aqueles que obtêm melhor desempenho. Em seguida, apresentaremos alguns dos modelos mais utilizados para aprendizagem supervisionada.

Árvore de Decisão

A Árvore de Decisão é inspirada na forma como humanos tomam decisão e, por este motivo, um dos modelos mais simples de se entender. Uma das principais vantagens deste algoritmo é a apresentação visual da informação, facilitando o entendimento pelo ser humano. As árvores podem ser usadas para problemas de Classificação (Árvores de Classificação) ou Regressão (Árvores de Regressão). De forma resumida, uma árvore de decisão usa amostras das características dos dados para criar regras de decisão no formato de árvore, mapeando os dados em um conjunto de regras que podem ser usadas para uma decisão.

As árvores de decisão costumam ter bons resultados e boa interpretabilidade, e podem realizar automaticamente a seleção de variáveis para compor suas estruturas. Cada nó interno representa uma decisão sobre uma característica, que determina como os dados serão particionados pelos seus nós filhos. Para aplicar o modelo a um novo exemplo, basta testar os valores dos atributos em cada nó da árvore e percorrê-la até se atingir um nó folha, que representará a classe ou o valor predito, dependendo do problema ser de Classificação ou de Regressão. A figura a seguir ilustra uma Árvore de Classificação.

Existem diferentes algoritmos para a elaboração de uma Árvore de Decisão. Alguns exemplos são: ID3, C4.5, C5.0 e CART. A ideia geral de todos estes algoritmos é bem parecida: a construção da árvore é realizada, em geral, de acordo com alguma abordagem recursiva de particionamento do conjunto de dados. A principal distinção entre os algoritmos está nos processos de seleção de variáveis, critério de particionamento e critério de parada para o crescimento da árvore.

K-Vizinhos mais próximos (KNN)

O algoritmo KNN (k-Nearest Neighbours ou k-Vizinhos Mais Próximos) é um algoritmo de simples entendimento e que funciona muito bem na prática, podendo ser utilizado tanto para problemas de Classificação quanto para problemas de Regressão. Sua ideia principal é considerar que os exemplos vizinhos são similares ao exemplo cuja informação se deseja inferir, uma ideia parecida com "Diga-me com quem andas e eu te direi quem tu és!". O KNN considera que os registros do conjunto de dados correspondem a pontos no espaço Rn, em que cada atributo corresponde a uma dimensão deste espaço. A figura a seguir ilustra um exemplo no espaço R2.

No KNN, o conjunto de dados de treinamento é armazenado e, quando um novo exemplo chega, ele é comparado a todos os exemplos armazenados para identificar os k (que é um parâmetro de entrada do algoritmo) vizinhos mais próximos (mais semelhantes) de acordo com alguma métrica de distância (por exemplo, distância euclidiana). No caso de ser um problema de classificação, a classe do novo registro é determinada por inspeção das classes dos k vizinhos mais próximos, de acordo com a métrica escolhida. No caso de um problema de regressão, em vez da classe, examina-se o valor de Y dos k vizinhos. Na maioria das implementações do KNN, os atributos são normalizados no início do algoritmo, para que contribuam igualmente na predição da classe ou do valor.

As etapas a seguir resumem o algoritmo KNN:

1. Definição da métrica de distância utilizada e valor de k.

2. Cálculo da distância do novo exemplo a cada um dos exemplos existentes no conjunto inicial de entrada.

3. Identificação dos k exemplos do conjunto de referência que apresentaram menor distância em relação ao novo exemplo (mais similares).

4. Apuração da classe mais frequente entre os k exemplos identificados no passo anterior, usando votação majoritária (para problemas de classificação) ou estimação do valor Y como a média aritmética dos k-vizinhos mais próximos.

Regressão Linear

A Regressão Linear é um algoritmo utilizado apenas para problemas de Regressão, e, resumidamente, consiste em escolher coeficientes para construir uma reta que minimize a soma dos quadrados dos erros (SQE) entre os valores reais dos exemplos de treinamento e esta reta. Observe um exemplo de regressão linear para o problema de se estimar o faturamento esperado para uma filial em um bairro, considerando a renda per capita deste bairro, ilustrado na figura a seguir:

Neste caso, os coeficientes da reta de regressão linear são -24,49 e 0,15, e este modelo significa que, a cada aumento de R$100 na renda per capita do bairro, espera-se que isso reflita em 0,15 ∗ 100 = 15 mil de faturamento para a filial. Esta solução é dita ótima porque ela representa a reta que passa mais perto dos pontos (considerando a distância euclidiana), como ilustra a figura a seguir:

Assim, para cada escolha dos parâmetros β0 e β1 na equação (que especificam, respectivamente, o intercepto do eixo y e a inclinação da reta):

podemos calcular os erros (ou desvios) dessa escolha. Porém, observe que se somarmos todos os erros individuais para calcular o erro total do modelo eles irão se anular, uma vez que os erros individuais são positivos e negativos. Desta forma, é mais indicado trabalhar com a magnitude do erro, como, por exemplo, o erro ao quadrado.

É importante ressaltar que neste exemplo consideramos apenas a relação entre faturamento e renda per capita, mas, em problemas reais, dificilmente haverá uma única variável x capaz de prever a saída y. Assim, se quiséssemos adicionar uma ou mais variáveis x ao problema, teríamos uma Regressão Linear Múltipla, acrescentando mais coeficientes à equação, um para cada variável de X, e estendendo a equação da reta para a equação de um plano ( quando temos 3 dimensões) ou hiperplano (quanto temos mais de 3 dimensões).

Formalmente, a Regressão Linear modela a relação entre a variável de resposta y e as variáveis preditoras X, e corresponde ao problema de estimar uma função a partir de pares entrada-saída, considerando que y pode ser explicado por uma combinação linear de X. Assim, a solução de um problema de regressão consiste em encontrar valores para os coeficientes de regressão de forma que a reta (ou plano/hiperplano) se ajuste aos valores assumidos pelas variáveis no conjunto de dados.

A saída do modelo é um valor numérico contínuo que deve ser o mais próximo possível do valor desejado, e a diferença entre esses valores fornece uma medida de erro do algoritmo. Se a equação de regressão aproxima suficientemente bem os dados de treinamento, então ela pode ser usada com novos dados (nos quais não conhecemos o valor de y) para estimar y a partir do valor das variáveis X, assumindo uma relação linear entre estas variáveis. Em suma, a Regressão Linear procura pelos coeficientes da reta que minimizam a distância dos objetos à reta.

Regressão Logística

A Regressão Logística, apesar do nome, é um algoritmo utilizado exclusivamente para problemas de Classificação, mas seu funcionamento lembra muito o funcionamento do algoritmo de Regressão Linear. A Regressão Logística é usada para estimar valores discretos de classes binárias (valores como 0/1, sim/não, verdadeiro/falso) com base em um conjunto de variáveis independentes. Internamente, a Regressão Logística calcula a probabilidade de ocorrência de um evento, ajustando os dados a uma função logit, uma função que mapeia a saída em valores entre 0 e 1.

De forma similar à Regressão Linear, a Regressão Logística usa uma equação como representação: os valores de entrada X são combinados linearmente usando coeficientes para prever um valor de saída y. A diferença é que o valor de saída é modelado em valor de classe binário em vez de um valor numérico.

A Regressão Logística modela a probabilidade da classe padrão do problema. Por exemplo, se estivermos modelando o perfil de um cliente (bom ou mau pagador) dado seu salário, podemos escolher considerar a classe "bom pagador" como padrão, e iremos modelar a probabilidade de uma entrada X pertencer à classe padrão. Os melhores coeficientes resultarão em um modelo que vai prever um valor muito próximo de 1 para a classe padrão e um valor muito próximo de 0 para a outra classe. Após determinados os coeficientes e construir a equação resultante, basta utilizá-la para fazer predições para novos exemplos.

Naïve Bayes

O Naïve Bayes (Bayes Ingênuo), é um dos métodos mais utilizados para Classificação por ser computacionalmente rápido e por necessitar de poucos dados de treinamento. Por este motivo, é um modelo especialmente adequado quando o problema tem um grande número de atributos (características). Basicamente, este modelo determina a probabilidade de um exemplo pertencer a uma determinada classe.

O Naïve Bayes é chamado de ingênuo ( naïve) porque desconsidera completamente qualquer correlação existente entre os atributos do dataset. Por exemplo, em um problema de classificação de animais, se determinado animal é considerado um "Gato" se tiver bigodes, rabo e aproximadamente 30 cm de altura, o algoritmo não vai levar em consideração a correlação entre esses fatores e tratará cada um deles de forma independente.

Além disso, este modelo foi assim batizado por ser baseado no Teorema de Bayes, estando relacionado com o cálculo de probabilidades condicionais. O Teorema de Bayes determina a probabilidade de um evento com base em um conhecimento prévio (a priori) que pode estar relacionado a este evento.

Formalmente, seja X(A1, A2, ..., An, C) um conjunto de dados. Considere que c1, c2, ..., cn são as classes do problema (valores possíveis do atributo alvo C) e que R é um novo exemplo que deve ser classificado. Sejam ainda a1, a2, ..., ak os valores que R assume para os atributos previsores A1, A2, ..., An, respectivamente. Resumidamente, o algoritmo consiste em dois passos:

1. Calcular as probabilidades condicionais P(C=ci|R), i = 1, 2, ..., k

2. Indicar como saída do algoritmo a classe c tal que P(C=c|R) seja máxima, quando considerados todos os valores possíveis do atributo alvo C.

A intuição por trás do algoritmo é dar mais peso para as classes mais frequentes, considerando que os atributos são estatisticamente independentes entre si. Apesar de isto não ocorrer em muitos casos práticos, o método mostra-se bastante efetivo mesmo nos casos em que os atributos não sejam estatisticamente independentes.

Support Vector Machines (SVM)

O algoritmo Support Vector Machine (SVM, ou Máquina de Vetores de Suporte), é um dos algoritmos mais populares efetivos para problemas de classificação (apesar de também poder ser usado para problemas de regressão). Apesar de o treinamento do SVM geralmente ser lento, esses modelos exigem poucos ajustes e tendem a apresentar boa acurácia, conseguindo modelar fronteiras de decisão complexas e não lineares.

Resumidamente, o SVM realiza um mapeamento não linear (utilizando funções kernel) para transformar os dados de treino originais em uma dimensão maior, buscando nesta nova dimensão um hiperplano que separe os dados linearmente de forma ótima. Com um mapeamento apropriado para uma dimensão suficientemente alta, dados de duas classes poderão ser sempre separados por um hiperplano. O SVM encontra este hiperplano usando vetores de suporte (exemplos essenciais para o treinamento) e margens, definidas pelos vetores de suporte.

A figura a seguir ilustra um classificador linear (ilustrado pela reta sólida) e duas retas paralelas a este classificador, pontilhadas. Cada uma das retas pontilhadas é movida a partir da posição da reta sólida, e determina quando a reta paralela intercepta o primeiro ponto do conjunto de dados, que é denominado vetor de suporte. A margem é a distância construída entre estas duas retas paralelas pontilhadas.

Como na maioria das vezes infinitas retas (ou hiperplanos) dividem corretamente o conjunto de treinamento em duas classes, o SVM deve, então, realizar um processo de escolha da reta separadora dentre o conjunto infinito de retas possíveis. Assim como existem infinitas retas que separam os pontos em duas classes, há diversos tamanhos de margem possíveis dependendo da reta escolhida como classificador. A figura a seguir ilustra dos possíveis classificadores para um mesmo problema, com dois tamanhos de margem diferentes.

O classificador associado ao valor máximo de margem é denominado classificador linear de margem máxima, e geralmente é o classificador do SVM que apresenta o melhor resultado e então, é ele que procuramos. Os vetores de suporte são os pontos mais difíceis de classificar e, por construção, todos os vetores de suporte possuem a mesma distância em relação a reta do classificador linear (a metade do comprimento da margem).

Assim, o SVM realiza um processo de otimização, por meio do qual são determinados os parâmetros (coeficientes) do classificador linear que produzam o valor máximo para o comprimento da margem. A reta correspondente a este classificador linear é dita ótima porque, se ela for deslocada em alguma das duas direções das retas perpendiculares a ela, a probabilidade é menor de haver um erro de classificação. Assim, a posição do classificador linear correspondente ao comprimento de margem máximo é a mais segura possível com relação a eventuais erros de classificação, e quanto maior a distância de x para o hiperplano, maior a confiança sobre a classe a que x pertence. Uma vez obtidos os valores dos coeficientes e encontrado o classificador linear de margem máxima, aplica-se uma função de decisão para classificar um novo exemplo, cuja classe, é dada pelo sinal do resultado desta função.

Na prática, o SVM é implementado usando funções kernel, objetos matemáticos que permitem que trabalhemos um espaço de dimensão maior. Os tipos de kernel mais utilizados são linear, polinomial e radial. Para um conjunto de dados que não é linearmente separável, o SVM utiliza funções kernel para mapear o conjunto de dados para um espaço de dimensão maior que a original, e o classificador é ajustado neste novo espaço. Assim, o SVM é, na verdade, a combinação do classificador linear com um kernel não linear. O processo de mapeamento de um espaço em outro de dimensão maior é ilustrado pela figura a seguir:

Este artigo apresentou de forma resumida os principais conceitos e algoritmos de aprendizado supervisionado relacionados a Machine Learning. Caso você tenha interesse em se aprofundar no assunto, recomendamos a leitura dos seguintes livros:

Tatiana Escovedo & Adriano S. Koshiyama. "Introdução a Data Science - Algoritmos de Machine Learning e métodos de análise". Ed. Casa do Código, São Paulo, 2020. (Para comprar: https://www.casadocodigo.com.br/products/livro-data-science)

Ronaldo Goldschmidt, Emmanuel Passos e Eduardo Bezerra. "Data Mining: Conceitos, Técnicas, Algoritmos, Orientações e Aplicações". Rio de Janeiro, Elsevier, 2005.

Tom Fawcett e Foster Provost. "Data Science para Negócios: O que você precisa saber sobre mineração de dados e pensamento analítico de dados". Alta Books Editora, 2018.

Jason Brownlee. "Machine Learning Mastery with Python". Machine Learning Mastery Pty Ltd, 2016. (Para comprar: https://machinelearningmastery.com/machine-learning-with-python/)

Laura Igual e Santi Seguí. "Introduction to Data Science: A Python Approach to Concepts, Techniques and Applications". Springer, Cham, 2017.

A Parte II deste artigo, que trata de aprendizado não-supervisionado, está disponível em https://medium.com/@tatianae_79457/machine-learning-conceitos-e-modelos-parte-ii-aprendizado-n%C3%A3o-supervisionado-fb6d83e4a520.

(ESCOVEDO & KOSHIYAMA, 2020) Tatiana Escovedo & Adriano S. Koshiyama. "Introdução a Data Science - Algoritmos de Machine Learning e métodos de análise". São Paulo, Ed. Casa do Código, 2020.
*Este texto faz parte do livro colaborativo Jornada Python - Uma Jornada imersiva na aplicabilidade de uma das mais poderosas linguagens de programação do mundo, previsto para lançamento ainda em 2020 pela editora Brasport.

# data[].attributes.attachment_link.description
Machine Learning - ou Aprendizado de Máquina - é uma das técnicas utilizadas na Inteligência Artificial que usa algoritmos baseados em matemática e estatística para realizar a tarefa de aprendizado.

# data[].attributes.body
Matéria sobre algoritmo do Twitter

# data[].attributes.attachment_link.readable_text
O Twitter publicou no último domingo (20) um pedido oficial de desculpas por um algoritmo de corte de imagem de viés racista, após denúncias de diversos usuários que descobriram que o recurso focava automaticamente em rostos brancos em vez de negros. A empresa, a princípio, afirma ter testado o serviço antes de usar, mas, perante várias evidências, reconheceu que não foi o bastante.

Quando o Twitter começou a utilizar a ferramenta de corte inteligente em 2018, a explicação da empresa era de que um algoritmo iria determinar a parte mais "saliente" da imagem, aquela onde normalmente os olhos do usuário são atraídos, para fazer um recorte como prévia da fotografia de visualização.

Como esta palavra "saliente" permite uma interpretação subjetiva, logo começaram algumas especulações sobre o que seria exatamente esse foco. A princípio, ficou claro que o item prioritário do algoritmo seriam os rostos. Mas ninguém conseguiu determinar se seriam rostos sorridentes, ou sisudos, ou se a sua luminosidade teria alguma influência na priorização.

any guesses? pic.twitter.com/9aIZY4rSCX
- Colin Madland (@colinmadland) September 19, 2020

Os cortes tendenciosos

Esses cortes de imagens têm o objetivo de evitar que elas ocupem muito espaço no feed principal e também para permitir que um número maior de imagens seja mostrado num mesmo tuíte. Porém, um estudante de doutorado chamado Colin Madland começou a desconfiar de um viés racial quando usava o software de videoconferência Zoom.

Ao postar uma imagem da live, retratando a si próprio, Madland, que é branco, percebeu que a imagem de um colega negro foi apagada da chamada do Zoom porque o algoritmo do Twitter cortou automaticamente a imagem, e mostrou somente a de Madland.

thanks to everyone who raised this. we tested for bias before shipping the model and didn't find evidence of racial or gender bias in our testing, but it's clear that we've got more analysis to do. we'll open source our work so others can review and replicate. https://t.co/E6sZV3xboH
- liz kelley (@lizkelley) September 20, 2020

Após tuitar que a empresa não havia encontrado nenhum tipo de tendência, a porta-voz do Twitter, Liz Kelly, afirmou que a empresa irá abrir o código-fonte de seu trabalho para quem se interessar em revisá-lo ou reproduzi-lo.

Também o Diretor de Tecnologia (CTO) da empresa, Parag Agarwal, se manifestou afirmando que o modelo necessita de melhorias contínuas e reconhecendo que a equipe está "ansiosa para aprender" com essa experiência.

Posicionamento oficial

Por meio do seu perfil oficial, o Twitter também se posicionou:

Fizemos uma série de testes antes de lançar o modelo e não encontramos evidências de preconceito racial ou de gênero. Está claro que temos mais análises a fazer. Continuaremos compartilhando nossos aprendizados e medidas, e abriremos o código para que outros possam revisá-lo. https://t.co/yZphB9pK5p
- Twitter Brasil em ?? (@TwitterBrasil) September 21, 2020

# data[].attributes.attachment_link.title
Twitter se desculpa após denúncias de viés racista de algoritmo

# data[].attributes.attachment_link.description
O Twitter publicou no último domingo (20) um pedido oficial de desculpas por um algoritmo de corte de imagem de viés racista, após denúncias de diversos usuários que descobriram que o recurso focava automaticamente em rostos brancos em vez de negros.

# data[].attributes.body
"Aarabi salienta que programas que "aprendem" com o comportamento de usuários invariavelmente são contaminados com preconceitos acidentais. Sendo assim, até mesmo a análise da quantidade de cliques em determinadas fotos os leva a "crer" que outras podem ser descartadas, marginalizando, assim, grupos relacionados a elas."

De: https://www.tecmundo.com.br/redes-sociais/222737-algoritmo-twitter-carrega-diversos-preconceitos-revelam-cientistas.htm

# data[].attributes.body
"padrões são treinados com variáveis que traduzem a realidade (por exemplo, mais fotos de mulheres brancas fariam com que a IA tivesse uma dificuldade maior para identificar outras pessoas que não mulheres brancas)"

De: https://ateliware.com/blog/bias

# data[].attributes.body
- Rede Neural Artificial (RNA)

- Aprendizado de máquina

- Viés (bias - tendência)
- Padrões
- Predição

- LGPD e privacidade de dados

- ChatGPT

- Dall-e
- Teachable Machine
- Amazon Rekognition Video

- https://thispersondoesnotexist.com/
- Processamento de linguagem natural
- Deep Learn (aprendizagem profunda)