Gradient Boostings: Métodos de Ensemble Learning l Parte 1

por Guilherme Duarte, Data Scientist na Datarisk.io

Neste post daremos início a nossa trilogia de posts sobre os algoritmos de gradiente boosting, que são o “state of the art” em machine learning quando se pensa em dados tabulares, pois apresentam um bom equilíbrio entre tempo de processamento e performance.

Na primeira parte, vamos falar sobre o que são métodos de ensemble e um pouco da história de desenvolvimento de alguns modelos de boosting. Na segunta parte, o foco será em XGBoost, que é provavelmente o mais conhecido desses modelos. E no  último post vamos comparar o XGBoost com o LightGBM e CatBoost. Com a conclusão, teremos um guia de uso para cada um desses algoritmos.

Nesse e nos próximos posts vamos assumir que você já conhece um pouco dos conceitos de aprendizado supervisionado e modelos de machine learning baseados em árvores de decisão. Caso queira uma introdução rápida e intuitiva sobre os assuntos, recomendamos dar uma olhada nesses links, aqui e aqui.

Sem mais delongas, vamos direto à explicação!

Introdução ao Ensemble Learning

Vamos começar com uma introdução intuitiva do que os métodos de ensemble são. Quando você está construindo um modelo, você quer escolher aquele com a melhor performance de acordo com alguma métrica. Considere este exemplo:


Aqui treinamos uma Árvore de Decisão, uma Regressão Logística e um KNN. Se acurácia fosse nossa métrica escolhida, então a Árvore de Decisão seria nossa melhor escolha, certo? O problema de fazer isso é que estamos descartando os outros modelos, que foram capazes de aprender diferentes padrões que podem ter propriedades úteis. O que podemos fazer sobre isso?

Considere outro exemplo:

Quando você conduz uma pesquisa de opinião, você não aceita apenas uma “melhor” resposta. Você considera uma resposta combinada de todos os participantes, e usa estatísticas como a moda ou a média para representar as respostas. As respostas combinadas provavelmente vão levar a uma decisão melhor do que confiar em apenas uma resposta. É o princípio da wisdom of the crown (sabedoria das multidões) entrando em prática.

O mesmo princípio se aplica aos métodos de ensemble, onde podemos formar um novo modelo combinado os existentes.

Esse agrupamento objetiva, ao juntar múltiplos modelos mais fracos, a diminuição da suscetibilidade geral deles ao viés e a variância, tornando-os mais robustos. Portanto, os métodos de ensemble devem levar em conta a maneira com a qual eles agrupam os modelos, associando os algoritmos de forma a minimizar suas desvantagens individuais no modelo final.

Isto é ensemble learning, uma das técnicas mais efetivas em Machine Learning.

Existem variados métodos de ensemble, mas neste texto focaremos principalmente em Bagging, Boosting e Stacking, os tipos mais utilizados em Data Science.

Bagging

Antes de entendermos Bagging precisamos primeiro entender o que é Bootstrapping. Essa técnica consiste em subdividir nosso dataset, tomando elementos de forma aleatória e com reposição.

Assumindo que a amostra é representativa da população (ambas têm a aproximadamente a mesma distribuição), podemos “reconstruir” a população criando várias (infinitas) cópias da amostra. Como a população deve ser parecida com a amostra, esperamos que essa “reconstrução” se aproxime da população inteira.

Em estatística, a partir dessa população reconstruída, podemos criar novas amostras e, dessa forma, estudar as propriedades das amostras em relação à população. Isso nos permite, por exemplo, entender melhor o comportamento da média e do desvio padrão dos dados que estão além do dataset.

O Bagging treina modelos individuais usando uma amostra aleatória para cada.

Depois dos modelos individuais serem treinados com suas respectivas amostras, eles são agregados usando uma média nos problemas de regressão ou uma votação nos problemas de classificação. Essa é a técnica usada no Random Forest, por exemplo, que usa diversas árvores de decisão como modelos individuais, além de fazer uma seleção aleatória de variáveis também.

Mas por que usar o Bagging é útil?

Primeiro, ajuda a reduzir a variância, já que a amostragem é aleatória. O viés também pode ser reduzido, já que usamos uma média ou votação para combinar os modelos. Por causa do alto número de estimadores usados, Bagging fornece estabilidade e robustez.

Por outro lado, a realização do Bagging tem um custo computacional alto em termos de espaço e tempo, pois a cada nova iteração é criada uma amostra diferente. Além disso, essa técnica só funciona se o modelo base já tem uma boa performance. Usar o Bagging em um modelo base ruim pode fazer com que o modelo final fique ainda pior. Por último, por se tratar de um preditor homogêneo, ou seja, os modelos individuais usam o mesmo algoritmo, o Bagging pode não reconhecer alguns padrões de decisão da base.

Boosting

Os métodos de Boosting formam uma outra categoria de ensemble learning, com foco principalmente em diminuir o viés dos modelos iniciais. Esse tipo de aprendizado se tornou muito conhecido no meio de Data Science nos últimos anos por obter ótimos resultados em competições de Machine Learning, devido a sua grande adaptabilidade. Mas qual a teoria por trás desse algoritmo?

Assim como Bagging, os métodos de Boosting têm como base treinar várias modelos mais simples com a finalidade de produzir um modelo final mais robusto. No entanto, nos algoritmos de Boosting, os modelos não são mais treinados de forma independente entre si, mas de maneira sequencial, a partir de uma ajuste dos modelos treinados previamente.

Para maximizar o desempenho do preditor final, o Boosting treina iterativamente novos modelos com um enfoque nas observações que os modelos anteriores erraram mais, tornando a predição mais resistente ao viés. Em seguida, atualiza-se o modelo para priorizar as predições com maior erro nas observações da base de teste. O modo como ocorre esse treinamento e essa atualização é onde diferem os variados algoritmos de Boosting.

Como o principal foco dos métodos de Boosting é de reduzir o viés dos weak learners (modelos simples), é ideal escolher como base para a agregação um modelo simples com alto viés e baixa variância. Decorrente disso, geralmente escolhemos árvores de decisão de baixa profundidade para compor o preditor final.

AdaBoost

Adaptive Boosting é um algoritmo que consiste em combinar de forma sequencial vários modelos mais fracos. Sendo assim, o weak learner subsequente leva em consideração as predições do anterior para formar um preditor mais conciso. O diferencial desse algoritmo é que as predições mais difíceis (aquelas em que o weak learner da iteração atual mal previu) recebem um peso maior no preditor seguinte, buscando assim uma maior otimização do algoritmo final.

Em outros termos, cada modelo é inicializado com um peso padrão que define seu poder de decisão no modelo final. A partir disso, conforme vamos treinando esses modelos simples, cada weak learner ganha um peso maior para as observações que ele prevê corretamente e um peso menor para as observações em que ele possui um alto índice de erro.

Repare aqui que existem dois pesos. O primeiro é o peso para cada observação que representa o grau de foco que a iteração em questão deve dar para aquela observação. A cada novo modelo treinado, esses pesos das amostras são atualizados.

Já o segundo é um peso para cada modelo que representa seu poder de decisão quando os modelos combinados. Eles são atribuídos apenas uma vez para cada estimador.

Dessa forma, os weak learners com maior precisão terão maior poder de decisão no modelo final.


Gradient Boosting

O Gradient Boosting é um outro tipo de algoritmo de Boosting, que difere do Adaboost quanto à maneira com a qual os modelos são treinados com relação aos anteriores.

Ao invés de estabelecer pesos para os weak learners, o Gradient Boosting treina novos modelos diretamente no erro dos modelos anteriores. Ou seja, os novos modelos tentam prever o erro dos modelos anteriores em vez de prever independentemente o target. Dessa forma, obtemos a predição final somando a predição de todos os weak learners.

O algoritmo do Gradient Boosting funciona assim: o primeiro modelo faz uma aproximação bem simples da predição, e obtemos os nossos erros residuais (observado menos o previsto); depois, treinamos mais modelos nesses erros residuais, para tentar predizer o erro do primeiro modelo. Dessa forma, quando somamos as predições de cada modelo para obter a predição final, obtemos uma versão mais corrigida da primeira predição:

Repetimos esse processo por várias iterações, obtendo erros residuais cada vez menores.

Stacking

Para explicar como o Stacking funciona, vamos usar uma analogia esportiva.

Considere uma corrida em grupo, onde os corredores correm até passar o bastão para o próximo no caminho. Este é um bom exemplo de trabalho em equipe. Enquanto todos os membros do time devem ser competidores fortes, cada indivíduo tem um papel especial baseado em suas habilidades. Por exemplo, o âncora é o último membro a receber o bastão e aquele que completa a corrida. Em algum nível, ele é como o líder do time. Para ser efetivo nessas corridas, o âncora deve: saber as forças e fraquezas de cada membro do time, definir responsabilidades para cada membro e por fim, participar da corrida.

Métodos de stacking levam esta ideia das corridas em grupo. Ao invés de passar um bastão, modelos individuais passam suas predições para o próximo modelo. Abaixo temos um diagrama ilustrando a arquitetura de ensembles de Stacking.

 


Cada modelo individual usa o mesmo dataset e input features. Esses são os estimadores da primeira camada. Então, os estimadores passam suas predições como features adicionais para o estimador da segunda camada.

Até agora, vimos métodos de ensemble que usam simples operações aritméticas como a média ou a moda para combinar os modelos. No entanto, no Stacking, o combinador é por si só um modelo passível de ser treinado. Além disso, o modelo combinador não tem apenas as predições como features, mas também o dataset original. Isto permite determinar qual estimador é mais acurado dependendo das features de input.

O modelo agregador desempenha um papel similar ao âncora na corrida. É também o último membro da equipe, e aquele que fornece a predição final. Para ser efetivo, o modelo combinador deve dispor das mesmas características do âncora: deve aprender a identificar as forças e fraquezas dos estimadores individuais, escolhe qual modelo fornece a melhor predição dependendo das features de input, e por fim, é também um modelo útil para aprender padrões com o objetivo de prever o target.

Conclusão

Chegamos ao fim do nosso primeiro post sobre a série de Gradient Boostings. Esperamos que tenha ficado claro o que são métodos de ensemble learning e como eles contribuir na tarefa de construção de um modelo com a melhor performance possível.

O próximo post será dedicado exclusivamente ao XGBoost, explicando como ele constrói suas árvores de decisão em cada iteração, além de algumas melhorias que o tornam um algoritmo extremamente eficiente quando comparado ao Gradient Boosting, por exemplo.

Nos vemos em breve!

Proteção de dados e a competitividade das Startups

Que o Brasil tem muitas ineficiências isso não é novidade pra ninguém, porém estas também se tornam grandes oportunidades, por exemplo, para os empreendedores que montam startups com foco em resolver os problemas estruturais que existem no mercado e, conseguem obter tração e chamar atenção da indústria global de capital de risco.

Pra se ter uma ideia do potencial das startups no Brasil, só no ano passado elas receberam US$ 859 milhões em aportes financeiros, o equivalente a 45,4% dos investimentos em novas empresas na América Latina, segundo a Associação Latino-Americana de Private Equity e Venture Capital (Lavca). De acordo com a ABStartups, em todo o Brasil estima-se que existam cerca de 62 mil empreendedores e 6 mil startups. O número é mais que o dobro registrado há seis anos.
O avanço das startups no Brasil é ainda maior quando vemos que, em 2018, o país ganhou seus primeiros unicórnios, termo dado às startups que passam a valer mais de US$ 1 bilhão. Esse é um mercado que vem passando por um amadurecimento constante e deve aquecer as turbinas da economia do Brasil.

No mês passado o atual presidente, Michel Temer, sancionou a lei de proteção de dados pessoais – PLC 53/2018, e com isso um novo ingrediente entra nessa equação, pois do ponto de vista material, a nova legislação se aplica a qualquer pessoa – natural ou jurídica que realize tratamento de dados pessoais, ou seja, exerça atividade em que se utilizem dados pessoais (coleta, armazenamento, compartilhamento, exclusão, etc…), inclusive nos meios digitais. Vale ressaltar que dados pessoais pode ser qualquer informação que possa levar à identificação de uma pessoa, de maneira direta ou indireta, como: CPF, nome, endereço, dados de GPS, e outros.
Muitas soluções desenvolvidas por essas startups que nascem para resolver problemas reais, são baseadas em tecnologias que trabalham com dados pessoais em algum nível e inevitavelmente vão ser afetadas pela LGPD. Neste contexto, surge um outro desafio: encontrar formas inovadoras para que essas startups consigam implementar a LGPD sem perder sua vantagem competitiva, para que continuem agregando valor a cadeia com uma experiência melhor e mais eficiente para o usuário final. Vale citar que a nova lei é muito importante para o Brasil, um mercado que se acostumou a vender dados de forma indiscriminada e com pouco controle.

Em um mercado digital onde cada vez mais a experiência do usuário se torna customizada levando em conta as características do indivíduo, surge uma pergunta: A automatização que permite melhorar a eficiência consegue ser incompatível com a proteção de dados? Ou ainda, será que as startups ficaram em um ponto cego dessa regulamentação? Uma estatística que ajuda a entender o ecossistema de startups no Brasil é que cerca de 74% dessas empresas fecham após cinco anos e 18% antes mesmo de completar dois anos, segundo pesquisa da Startup Farm. Portanto um mercado brutalmente difícil de sobreviver e que requer novas legislações e empreendedores focados em resolver essas lacunas.
Importante é separar uma decisão automatizada do contexto da lei em que se fala de informações que possam levar à identificação de uma pessoa. Os dados brutos não poderão mais ser vendidos, pois fere essa questão da identificação, mas uma decisão que permite classificar aquele indivíduo em um grupo passa a fazer muito sentido. Seja classificar esse indivíduo em grupo mais propenso a consumir um produto ou a cometer uma fraude. Em um cenário onde essa separação não fica clara, a ineficiência volta a ter mais chances que os empreendedores.

Em um momento em que muitos setores da economia precisam ganhar eficiência para lidar com receitas em queda e com seus modelos de negócio sendo constantemente questionados, ganham espaços as empresas inovadoras, enxutas e com uma boa capacidade de execução. Acredito que as startups são uma peça chave para o crescimento do Brasil. Startupeiros uni-vos!

*Por Jhonata Emerick – Sócio da DataRisk

MACHINE LEARNING: A NOVA TENDÊNCIA DO MERCADO DIGITAL

Startup acelerada pela Visa usa inteligência artificial para evitar fraudes online e ajudar na tomada de decisão das empresas onseguir gerar modelos que analisam uma grande quantidade de dados complexos de forma rápida e automática para entregar resultados precisos em grande escala é o sonho de toda empresa, principalmente das instituições financeiras e fintechs. O segredo para essa evolução na entrega é o Machine learning. Pode até parecer algo ainda distante, mas suas aplicações já são uma tendência muito forte atualmente, por exemplo no segmento de marketing digital. O machine learning, ou aprendizado de máquina, como também é conhecido, está se tornando cada vez mais popular com a transformação digital das empresas. A DataRisk pode falar com detalhes sobre esse assunto. A DataRisk é uma empresa de tecnologia que utiliza Inteligência Artificial para análise de dados e tendências comportamentais dos consumidores e dos clientes. Com pouco mais de um ano de atuação no mercado, a empresa já possui grandes clientes como: um dos maiores programas de milhagem do país, uma grande seguradora e uma operadora de cartão de crédito. A DataRisk é especializada no desenvolvimento de modelos preditivos com foco em crédito, cobrança e fraude, atendendo principalmente instituições financeiras, a DataRisk conta com um time formado por especialistas na área de modelagem financeira, com amplo conhecimentos nas melhores práticas do mercado de machine learning. De acordo com Jhonata Emerick, Sócio Fundador da empresa, essa tecnologia é uma necessidade cada vez mais forte, uma vez que, no e-commerce e no sistema bancário brasileiro acontece uma tentativa de fraude a cada 16 segundos (dados indicadores do Serasa Experian de Tentativas de Fraude. Janeiro/2018). Para enfrentar essa realidade, a DataRisk trabalha com as mais modernas técnicas machine learning. A tecnologia não identifica pessoas nem retém informações pessoais, mas apresenta aos clientes a probabilidade daquela operação ser uma fraude através da utilização de dados internos ou dados de bureaus. A partir desta solução, a startup detalha para as empresas todas as informações para tomada de decisões mais ágeis, precisas e seguras. As soluções acontecem todas na nuvem e permitem aos clientes criar modelos preditivos próprios, sem custos de licenças ou uma equipe especializada. Usando dados transacionais, a empresa pode desenvolver em poucas horas uma solução customizada de fraude ou crédito. “Utilizamos as ferramentas mais poderosas de Big Data para entregar uma solução web, completa e escalável, possibilitando assim ao cliente um modelo acessível para escoragem em poucas horas”, afirma Emerick. No ano passado a DataRisk foi uma das startups selecionadas para participar do programa de aceleração da Visa. “Trabalhar com a DataRisk durante o Programa de Acelaração da Visa foi imensamente gratificante e revelador. Nossa indústria está se transformando muito rapidamente e o uso de novas tecnologias e ferramentas de analytics se tornam cada vez mais importantes. Nesse contexto, DataRisk oferece uma solução inovadora para construção de modelos preditivos de forma automatizada e prática, acelerando o processo em seus clientes” – Rodrigo Santoro – diretor da Visa Consulting & Analytics.

artificial-intelligence-2167835_1920

AI – Market ou Marketing

O Founder de uma grande startup me fez a seguinte provocação: “Jhonata como separar o joio do trigo nesse mercado onde todo mundo parece ter a solução mágica de inteligência artificial?”. Essa foi a centelha que deu origem a este artigo.

O “boom” no mercado de A.I. só está em curso porque inúmeros pensadores, da indústria e da academia, dedicaram e dedicam suas vidas ao seu amadurecimento; entretanto, toda hype tem seu preço. Como tudo que está na moda, a A.I. atrai curiosos e aventureiros; e é comum vermos surgir pregadores que não são praticantes. O uso de alguns termos em inglês e uma história bem contada não deveria bastar para reconhecermos uma autoridade no assunto. Mas como separar o joio do trigo? O objetivo aqui é exatamente esse: sugerir critérios que possam balizar a contratação de bons fornecedores e evitar frustrações com a A.I.

A primeira e mais importante dica que eu dou aqui é: que um verdadeiro especialista é capaz de simplificar toda a complexidade do assunto com o qual trabalha. Conhecendo profundamente o assunto, das bases à sua aplicação, eles devem ser capazes de adaptar o discurso conforme o público a quem se dirige. E o critério não deve ser diferente com cientistas de dados e especialistas de A.I. A segunda dica é: um verdadeiro especialista deve ter histórico de realizações na sua área de atuação e que seja reconhecido pelos seus pares.

Caso seu fornecedor utilize muitos termos complexos, te deixando com aquela sensação de que A.I. é um assunto hermético, tampouco seja capaz de apontar soluções produzidas pelo seu time de desenvolvedores – de preferência de uso prático comprovado –, esses são sinais de que é melhor você pular fora.

Seu problema precisa mesmo de IA?
Eu sou um entusiasta da tecnologia e acredito que ela tem um enorme potencial para – e vai – ajudar a humanidade a atingir um novo patamar civilizatório. Porém, na hora da contratação de uma solução de automação para aquele seu problema específico e urgente, alguns pontos precisam ser levados em conta. O primeiro ponto é se questionar se o problema a ser resolvido precisa, de fato, de A.I. Em outras palavras: o problema pode ser resolvido de forma tão eficiente quanto, usando soluções mais simples e serviços mais baratos? Se está contratando um fornecedor pela primeira vez, informe-se sobre os cases em que ele tenha sido franco com outro cliente e apontado que o problema apresentado podia ser resolvido de forma muito satisfatória e eficiente utilizando uma estratégia alternativa.

Entendo que você possa ficar deslumbrado ao assistir a apresentação de um fornecedor bem humorado que discorre sobre as infinitas possibilidades que a tecnologia oferece. Sim, tem gente que consegue passar a impressão de que sua empresa passará a funcionar com o apertar de um botão dum dia pro outro e que todos poderão se dedicar à recreação e ao ócio criativo. Isso será uma realidade – inexoravelmente. A 4º revolução industrial segue seu curso. Mas expectativa é diferente de necessidade e todo bom empreendedor sabe separar visão de operação. Não devemos pensar na A.I. como uma saída mágica para todos as problemas hoje enfrentados pelo negócio ou setor. Nem nos deixarmos ser convencidos disso.

Sobre os dados
Modelos de A.I. são desenvolvidos em cima de uma base – de dados. Um modelo de AI, ou aprendizagem de máquina, pode até ser configurado a partir de hipóteses mas sem um conjunto real e robusto de dados é impossível treiná-lo. A estratégia de treinamento mais comum é chamada de método supervisionado onde se faz necessária uma massa de dados contendo sua variável de interesse e inúmeras outras que o modelo interpretará como preditivas. Vamos a um exemplo prático. Sua empresa quer desenvolver um novo modelo capaz de prever a probabilidade dos seus atuais clientes cancelarem um dado serviço. Para treinar esse modelo será necessário uma base de dados com o histórico adequado de todos casos de cancelamento, acompanhado de uma amostra controle, de tamanho comparável, relativa aos clientes que mantêm e fazem bom uso do serviço. O modelo é então treinado para identificar quais as variáveis preditivas, ou combinação delas, que explicam alta chance de cancelamento. O resultado gerado pelo modelo permite compreender melhor as necessidades de seus clientes bem como traçar perfis daqueles que não deveriam ser admitidos. Uma pré-seleção ajudaria a minimizar prejuízos; e, com os recursos poupados, o serviço poderia ser melhorado de forma a aumentar a satisfação dos bons clientes.

A maioria das empresas não têm esses dados estruturados, o que acaba dificultando e encarecendo o desenvolvimento dos algoritmos de A.I., porque o fornecedor precisa despender tempo e energia extra formando a base de dados para treinamento do algoritmo, numa fase preliminar do projeto. O fornecedor deve buscar a forma mais viável, técnica e economicamente, de organizar essa base de treinamento. E é nessa etapa que você conseguirá ter uma idéia mais clara do nível de expertise e criatividade de seu fornecedor; ou seja, da capacidade de entregar o prometido. Se não possuir dados estruturados veja se parte do trabalho pode ser feita internamente, para que tenha maior controle. Particularmente nesses casos, dê preferência a equipes com experiência em diversos setores e problemas distintos. E evite propostas usando dados sintéticos.

Soluções prontas:
Grandes empresas de tecnologia como Google, Amazon e Facebook oferecem APIs para desenvolvimento de soluções de A.I. por terceiros, o que torna a tecnologia mais acessível. No entanto, soluções desenvolvidas utilizando kits de desenvolvimento acabam se tornando soluções muitas vezes complexas e que requerem um especialista full time, é muito importante deixar isso alinhado com o fornecedor da solução. Por isso, é imprescindível esclarecer com o fornecedor se a solução que está sendo proposta baseia-se no uso de APIs de terceiros.
Procure saber mais sobre as soluções que já tenham desenvolvido e quais ferramentas e técnicas empregadas em cada um deles. Isso vai gerar segurança de que seu fornecedor entende bem as diferenças entre as técnicas existentes e que, mesmo que faça uso de kits de desenvolvimento, será capaz de entregar um bom produto e atendimento.

E agora como eu utilizo essa solução?
Você pode achar que essa pergunta é uma mera provocação, mas aguarde que a prática lhe mostrará que ela faz todo sentido. Muitos fornecedores acreditam que a capacidade de entrega deve ser medida ao fim do desenvolvimento do modelo de análise, enquanto que sua implantação tende a ser um dos maiores desafios desse tipo de projeto. Essa postura de “lavo minhas mãos” pode ser usada como um ótimo critério de eliminação. O melhores fornecedores são capazes de deixar claro, logo de saída, o plano para colocar a nova solução em produção; porque estão cientes de que essa é a única forma de fazer a diferença na vida e nos negócios de seus clientes

Dicas finais
Por fim, alguns tips rápidos que eu não poderia deixar passar: 1) lembre-se de que nem sempre uma grande consultoria conhecida por atuar em outros setores é garantir que uma grande entrega em IA.; 2) na hora de internalizar um profissional da área, tome cuidado na contratação de cientistas de dados porque hoje dia, de acordo com o LinkedIn, meio mundo é data scientist ; 3) lembrando que a primeira contratação é mais importante, pois uma boa escolha nessa hora pode ser a garantia da qualidade sua equipe de ciência de dados que se forma ; 4) por último, todo profissional precisa de suporte, não é diferente para um cientista de dados, seja em relação a ferramenta ou no relacionamento com as áreas de negócio, ou seja, Data Scientist não faz milagre.

Esse artigo foi escrito com intuito de ajudar para que mais projetos em IA tenham um final feliz e, no final do dia, desdobre-se um círculo virtuoso em que cada vez mais seguras das vantagens e dificuldades adoção de soluções de AI, as empresas passem a procurá-las com maior freqüência, contribuindo com o amadurecimento do mercado maduro e diversidade do ecossistema. O objetivo aqui de maneira alguma foi o de esgotar possibilidades de aplicação e dificuldades de adoção de soluções de AI, mas simplesmente o de elencar alguns pontos críticos de contratação que podem auxiliar na decisão e aumentar as chances de sucesso do seu projeto.

*Jhonata Emerick – sócio da DataRisk