Existe uma probabilidade grande de você estar impressionado com as brigas, xingamentos, textões, memes e tudo mais nos grupos de Whatsapp (aquele grupo da família está uma zona de guerra) e outras redes sociais. Vejamos, você escolheu seu candidato e esta escolha faz sentido, mas é incompreensível aquele seu amigo, primo ou tia escolher um candidato com características diferentes, o completo inverso do seu. É claro que surge aquele momento no almoço de domingo, em que você utiliza todos os seus argumentos, abre o celular e mostra reportagens, cita o histórico dos candidatos, o plano de governo de cada um… E mesmo isso não convence a pessoa querida. Talvez antes de dormir, pensando na discussão acalorada, todos nós já nos perguntamos “Por quê?”.

Analisemos um fato curioso: quando escolhemos uma sobremesa, um time, uma causa para apoiar (bolacha ou biscoito), onde morar e blábláblá, estamos passando por um processo de seleção (ou classificação) que se dá de forma equivalente à de escolher um candidato. Muitas vezes fazer a melhor escolha (ou escolha ótima) é difícil e exige recursos (tempo e dedicação). Temos assim aquela confusão mental quando vemos que depois de tanto esforço outras pessoas chegam a conclusões diferentes. Em contraponto, o ser humano desenvolveu computadores para analisar quantidades imensas de informação e que sejam capazes de fazer escolhas em princípio impossíveis para nós. Opa, parece que deixamos passar algo… Talvez, se entendermos como Machine Learning é utilizado para fazer escolhas, possamos compreender como nós mesmos fazemos isso. Quem sabe assim deixamos de pensar que quem escolhe diferente tem problemas mentais ou falta de caráter.

Para aqueles com mais interesse nas áreas de otimização e Machine Learning, a abordagem a seguir é similar ao método conhecido como Gradient Descent (ou Stochastic Gradient Descent). Se você não se interessa muito por isso pode ficar despreocupado, não precisa saber essas coisas.

Imaginemos agora que vamos permitir que um computador faça por nós a escolha do candidato. Dividimos isso nas etapas:

  1. Precisamos de uma lista de candidatos;
  2. Vamos criar uma série de características para cada um que possam ser quantificadas de alguma forma;
  3. Inserimos estes dados, lista de candidatos x características, no algoritmo e este escolhe “o melhor”.

Os dados

Usualmente, na construção de um sistema de Machine Learning, a etapa de mineração de dados é a que toma mais tempo, pois é complexa e crucial para o sucesso do trabalho. Já que este é só um exemplo precisamos de algo bem simples. Suponhamos quatro candidatos (A, B, C e D) com as características Honestidade e Experiência. Como as características não coisas quantificáveis isso pode ser complicado e precisamos de criatividade (normalmente é neste momento que matemáticos e físicos são contratados).

Suponhamos que ambas características devam ter um valor entre zero e um: por exemplo, um candidato que nunca passou por qualquer escândalo político por menor que seja tem Honestidade igual a 1, já outro que comprovadamente foi corrupto recebe Honestidade igual a zero. Para definir isso fazemos pesquisas detalhadas em todo tipo de mídia para entender tudo sobre os candidatos. Digamos que assim pudemos chegar nos dados abaixo:

Candidato Honestidade Experiência
A 1.0 0.5
B 0.7 0.8
C 0.4 0.9
D 0.3 1.0

O treinamento

Finalmente a parte fácil chegou, inserimos os dados no computador, sentamos e esperamos tomando nosso café (72ºC, puro e sem açúcar) até que o algoritmo nos diga qual a escolha ideal… Ok, parece que esquecemos algo. Como exatamente o algoritmo vai fazer isso? Ele precisa de algum meio de medir quem é melhor. Essa é a palavra-chave, medir. Um bom método de quantificar a qualidade do candidato é através de uma nota que se relacione com as características. Chamamos a função que faz isso de métrica, que pode ser dada por:

onde a e b são os pesos que damos a cada característica (usando a+b=1), H corresponde a honestidade e E a experiência.

Neste ponto de nossa análise, as escolhas podem começar a divergir. Os dados que obtemos para cada candidato podem ser obtidos através de fatos, mas o quanto valorizamos cada característica, ou seja, o peso que damos a elas na métrica são pessoais. Vamos supor que definimos as métricas a seguir:

Nome Código Fórmula
“Esse tem capacidade” N1 0.30H + 0.70E
“Vamos com calma” N2 0.70H + 0.30E
“Está aí desde sempre” N3 0.10H + 0.90E
“Família tradicional” N4 0.90H + 0.10E
“Rouba, mas faz” N5 0.55H + 0.45E

Ok! Agora indicamos ao algoritmo a nossa métrica favorita e pedimos que este maximize a nota, ou seja, aponte o candidato com a maior nota. Segue o resultado para todas as métricas:

Candidato N1 N2 N3 N4 N5
A 0.65 0.85 0.55 0.95 0.78
B 0.77 0.73 0.79 0.71 0.75
C 0.75 0.55 0.85 0.45 0.62
D 0.79 0.51 0.93 0.37 0.62

Agora pensemos sobre este resultado: digamos que Alice entenda que a métrica N3 é a melhor para si (olhamos para as notas na coluna N3) e desta maneira o candidato ganhou por pouco. Já Bob, um cara inteligente, com ótimo sendo de humor, o mestre gente boa do grupo de RPG e amigo de infância de Alice escolhe a métrica N5. Pela métrica de Bob ele escolhe o candidato A. Então chegamos no momento em que Alice faz um textão cheio de indiretas para o seu ex-amigo…

A lição

Bom, fazer uma escolha nós já sabemos: precisamos de uma medida que leve em conta o peso de cada característica importante; esta medida nos retorna um valor, a nota; e por último escolhemos o candidato que tem a maior nota. Entretanto Alice não deixa de pensar sobre a escolha de Bob. Seria Bob um imbecil por escolher diferente? Alice poderia ainda usar como argumento que seu candidato venceu com nota 0.93, muito maior que a nota de vitória do candidato de Bob, 0.78. Fazendo isto ela percebe que estaria errada, pois não se deve comparar quantidades obtidas com métricas diferentes. Lembra daquele ditado popular sobre dois pesos e duas medidas? Seria o equivalente a dizer que 200 ml é maior que 1 litro.

O ponto é que cada um de nós é fruto de nossas próprias vivências. Temos experiências, famílias, trabalhos, amigos, prioridades e perspectivas de futuro diferentes. Se uma pessoa utiliza em suas escolhas pesos diferentes dos nossos não significa que ela é mau caráter, que merece desprezo, cadeia ou muito menos a morte. É essencial para a sociedade que falemos sobre política, portanto faça isso com consciência e mente aberta para ouvir outras opiniões, sem criar inimizades, e quem sabe até mudar a sua. Se você acha que não adianta e que as pessoas no seu convívio são incapazes disso, não se preocupe. Lembre-se que você está tentando ser o melhor que pode.

Beijos, abraços e vote consciente (utilizando sua própria métrica).


Junior “Ninja” Koch é Bacharel em Física, Doutor em Ciência e Engenharia de Materiais e Pós-doutorando em Gravidade Quântica. Adora criar modelos matemáticos para tudo que vê e colocar machine learning no meio. Seu lema é “Tudo é matemática”.