Aprendizado de Máquina – Otimização de Enxame de Partículas (PSO) e Twitter

Dilan Jayasekara Seguir Set 12, 2018 · 7 min ler

Introdução

Todos nós vivemos em um mundo onde a análise de um grande conjunto de dados não estruturados está se tornando uma necessidade comercial. E o tempo que passamos na internet é basicamente o tempo que gastamos nas redes sociais. Até a nossa vida diária é afetada pelas pessoas ao nosso redor. E estamos tendendo a mudar nossas opiniões e pensamentos em relação a algo baseado nas idéias e opiniões de outras pessoas. Alguns podem chamar isso de ruim e, ao mesmo tempo, alguns podem chamá-lo de bom . De qualquer forma, se tivermos a capacidade de pensar na opinião de outras pessoas, isso seria realmente útil e é quando as análises de sentimento surgem. análise de sentimento fazemos a classificação das amostras de dados em classes positivas, negativas ou neutras e tiramos conclusões apropriadas dos dados.

Um enxame é um grande número de agentes que interagem localmente consigo mesmos. No enxame, não há supervisor ou controle central para dar ordens sobre como se comportar. Algoritmos baseados em enxames são populares nesta época, portanto, sua paixão por algoritmos baseados na população, inspirados na natureza, que podem produzir produtos de alta qualidade com baixo custo e soluções rápidas para situações que são identificadas como complexas e difíceis de resolver. Por essa razão, a inteligência Swarm está se tornando uma jóia de um milhão de dólares na categoria de Inteligência Artificial que está pronta para coletar o padrão, estilo de vida e comportamento dos enxames sociais no ambiente, por exemplo, rebanhos de pássaros, abelhas , colônias de formigas e educação de peixes .

Pássaro reunindo Educação dos peixes

Mesmo que esses agentes (esses indivíduos insetos / enxame) são simplistas com experiência insuficiente por conta própria, todos eles trabalham juntos para alcançar um objetivo comum para sua sobrevivência. Não é uma questão de conhecimento e o principal mecanismo dessa interação é chamado stigmergy, que utiliza agentes ou ações para coordenação indireta.

“A estigmática é uma forma bem definida de auto-organização. Produz estruturas complexas, estruturas aparentemente inteligentes, sem necessidade de qualquer controle, planejamento ou qualquer comunicação direta entre os agentes individuais. ”

Exemplo de Stigmergy

Baseado em Swarm Intelligence, um modelo matemático simples foi desenvolvido por Kennedy e Eberhart em 1995, eles querem descrever e discutir o comportamento social de peixes e pássaros e foi chamado de Otimização de Enxame de Partículas (PSO) . PSO é uma das metaheurísticas mais famosas e muito úteis na era atual, portanto, mostrou o sucesso de vários problemas de otimização após a aplicação. O princípio básico desse modelo é a auto-organização que descreve a dinâmica de sistemas complexos. A PSO utiliza um modelo extremamente simplificado de conduta social para cuidar dos problemas de otimização, em uma estrutura cooperativa e inteligente.

(a) Configuração experimental e desenhos da seleção dos ramos curtos por uma colônia de Linephitema humile, 4 e 8 min após a ponte ter sido colocada. (b) Distribuição da porcentagem de formigas que selecionaram a ramificação mais curta sobre n experimentos. O ramo mais longo é r vezes mais longo que o ramo curto. O segundo gráfico (n = 18, r = 2) corresponde a um experimento em que o ramo curto é apresentado à colônia 30 min após o ramo longo: o ramo curto não é selecionado, e a colônia permanece presa no ramo longo.

Os algoritmos PSO são mais fascinantes e atraídos para o pesquisador no campo do sistema de lógica difusa, rede neural, otimização, reconhecimento de padrões, tecnologia de robôs, processamento de sinais, etc.

Para excluir atributos duplicados desnecessários de um conjunto de dados, podemos usar métodos de seleção de recursos. Remover esses atributos é uma obrigação, porque no final do dia não queremos diminuir a precisão do algoritmo que usamos para prever algo no futuro.

A seleção de recursos não é uma tarefa fácil, pois o tamanho do espaço de pesquisa, o espaço de pesquisa é proporcionalmente aumentado com os recursos incluídos no conjunto de dados. O principal princípio da seleção de recursos é melhorar a qualidade e o desempenho do preditor . A seleção de recursos atua como uma ponte para o pré-processamento e estamos definindo o recurso e o processo de seleção antes de entrarmos no processo de extração. As aplicações de seleção de recursos incluem classificação de dados, classificação de imagens, análise de cluster, análise de dados, recuperação de imagens, análise de opinião, análise de revisão, etc. Usando um método chamado wrapper, a extração de características pode ser feita usando dois estágios: todos os dados do Twitter como um conjunto de dados e transformamos este tweet em um estágio de texto normal. O que fazemos no próximo estágio é adicionar mais recursos ao vetor de recursos. Um rótulo de classe é atribuído a cada dado de tweet no setor de dados de treinamento e, em seguida, passa esses dados para vários classificadores para o processo de classificação e, no final, obtemos dados de tweet classificados positivos, negativos ou neutros. O método Wrapper alcança resultados superiores aos métodos de filtro. O FS é visto como um problema de otimização porque é muito importante obter um subconjunto ideal de recursos relevantes a partir de dados irrelevantes e redundantes. Muitos algoritmos evolutivos foram usados para otimizar a seleção de recursos, o que inclui algoritmos genéticos e algoritmos de enxame. Alguns dos algoritmos de otimização baseados em swarm para seleção de recursos incluem Otimização de Enxame de Partículas (PSO), Colônia de Abelhas Artificiais (ABC) e Otimização de Colônia de Formigas (ACO).

Seleção de recursos: método de wrapper

Métodos e Metodologias

Baseado em Swarm Intelligence, um modelo matemático simples foi desenvolvido por Kennedy e Eberhart em 1995, eles querem descrever e discutir o comportamento social de peixes e pássaros e foi chamado de Otimização de Enxame de Partículas (PSO). PSO é uma das metaheurísticas mais famosas e muito úteis na era atual, portanto, mostrou o sucesso de vários problemas de otimização após a aplicação. O princípio básico desse modelo é a auto-organização que descreve a dinâmica de sistemas complexos. A PSO utiliza um modelo extremamente simplificado de conduta social para cuidar dos problemas de otimização, em uma estrutura cooperativa e inteligente.

No twitter, um usuário tem permissão para escrever suas próprias opiniões e opiniões em uma mensagem curta no twitter da plataforma social são denominadas como tweets. Os tweets podem conter caracteres, links, mídia ou uma gravação. Esses tweets não são escritos em um padrão e tem na sua maioria estruturas curtas, gírias, abreviações, erros de gramática, sentenças semi-escritas, erros ortográficos e assim por diante. Portanto, é complicado expulsar os dados úteis dos tweets por causa de seu estilo não estruturado. Ao aplicar o clustering, estamos tentando reduzir a complexidade de encontrar a ocasião ou o tema do tweet composto. Para extrair palavras específicas que são correspondentes a um determinado evento, os dados são tratados pelo espaço vetorial, demonstrando recorrência de termos e recorrência de termos inversos. Então, o framework de mudança de enxame de partículas é o melhor método para lidar com esse problema.

O agrupamento de dados de tweets é categorizado em quatro principais etapas, que são:

  1. Recolha de dados do twitter

2. Pré-processamento de dados do Twitter reunidos

3. Extração de recursos

4. Clustering de dados (usando PSO)

Recolha de dados do twitter

A API do Twitter atua como o principal papel, dando-nos a oportunidade de extrair os tweets da categoria definida conforme necessário. Na primeira fase, a coleta de dados do Twitter é feita com a ajuda da biblioteca do Tweepy no Python.

Usamos um arquivo CSV separado (denominado como documento) para armazenar todos os tweets individuais na pasta especificada de sua categoria.

Pré-processamento de tweets

No próximo estágio, o pré-processamento de documentos inclui os seguintes estágios: limpeza de dados e um corpus de dados são criados para análise de cluster.

Extração de recurso

Na terceira fase, a Tokenização é feita para dividir os tweets em palavras, frases e símbolos denominados tokens e Stemming é feito para reduzir a palavra real à sua forma base ou raiz. Parar lista de palavras é mantida para observar as palavras comuns nos tweets.

Agrupamento de dados usando PSO:

Estamos aplicando o algoritmo PSO para cluster após o pré-processamento do tweet ser concluído. Como primeiro passo do PSO, estamos contando e declarando o número de partículas. Uma partícula significa um esclarecimento potencial para a constelação dos tweets de streaming. Assim, um enxame consiste em um grupo de soluções de clustering de tweets de streaming. Cada partícula é representada da seguinte forma:

P = (C1, C2, C3, C4… Cm. Cn)

onde 'Cm' significa o vetor centróide dos clusters e 'n' é o número de clusters.

Após a inicialização das partículas, o vetor centróide mais próximo está nos tweets e é atribuído a cada partícula. A saúde de cada partícula é calculada estudando a semelhança média entre o centróide do cluster e um tweet no espaço vetorial do documento, pertencendo àquele cluster usando a medida de correlação de cosseno. Resultados experimentais mostram que o clustering PSO supera as técnicas hierárquicas e de particionamento de clustering.

Aqui, eu estava tentando extrair tweets relacionados a Telemedicina, Epilepsia e Heart Strokes e salvar cada tweet em três arquivos CSV diferentes. Para acompanhar a próxima parte, consulte estes dois artigos que eu piblished.

Extração, Visualização e Otimização de Enxame de Partículas usando Python

Descrição detalhada de como usar o twitter para eliminar tweets em tempo real e tomar decisões usando o Python

paradatascience.com