quinta-feira, 29 de novembro de 2007

Sistemas Baseados em Regras

Herbert Simon, acerca dos sistemas baseados em regras: "Em vez do método de pesquisa força-bruta, temos um método combinado de pesquisa e raciocínio."

Os sistemas baseados em regras também são conhecidos por sistemas periciais e, frequentemente, por sistemas baseados em conhecimento. É um sistema de apoio à decisão que procura representar o modo de raciocínio e o conhecimento utilizado por especialistas na resolução de problemas no seu âmbito de especialidade. Ou seja, existe um paralelismo entre estes sistemas e a forma como os especialistas humanos atingem um alto nível de desempenho, na medida em que estes conhecem muito bem as suas áreas de especialização.

Um dos primeiros sistemas baseados em regras conhecidos foi o MyCin, que foi desenvolvido na década de 70 na Universidade de Stanford e tinha como objectivo fazer o diagnóstico de doenças infecciosas através de dados sanguíneos e recomendar os antibióticos apropriados.
Nos anos seguintes desenvolveram-se sistemas idênticos aplicados a outros domínios de problemas, nomeadamente na área da auditoria contabilística e recomendação fiscal. De forma mais abrangente, todas as situações, quer envolvam planeamento, diagnóstico, interpretação de dados, optimização ou comportamento social, podem ser expressos mediante um conjunto de regras bem definidas.

Um sistema baseado em regras é um modelo que utiliza regras explícitas para expressar o conhecimento do domínio de um problema e permite, através da confrontação do conhecimento existente com factos conhecidos sobre um determinado problema, inferir regras relativas a esses factos.
As componentes básicas do sistema baseado em regras são:

i) Base de conhecimento ou base de regras
Constitui uma espécie de base de dados que, em vez de dados, contém as regras do sistema. As regras assumem a forma de: Se x então y, em que x é a descrição de determinada situação e y é a acção desencadeada como consequência.

Designa-se por condição o lado esquerdo da regra, (antes do “se”), e por acção o lado direito da regras (depois do “se”).

A ideia por detrás da utilização de regras para representar conhecimento é a de que, utilizando um número suficiente destas regras, consegue-se fazer uma cobertura completa do domínio de raciocínio que um perito utiliza para resolver problemas desse domínio. Cada regra descreve uma região do espaço do problema. Usando uma abordagem do tipo divide-and-conquer (divide e conquistarás), consegue-se representar todo o espaço do problema por um conjunto bem definido de regras, reduzindo a complexidade desse espaço.

ii) Memória
Serve para guardar temporariamente factos iniciais e conclusões intermédias ou hipóteses.

iii) Interface com o utilizador
É o front-end do sistema, onde se introduz os factos do problema e se recebem os resultados ou conclusões retiradas pelo sistema.

iv) Interpretador de regras ou mecanismo de inferência
É o algoritmo que vai procurar fazer o “matching” (correspondência) dos factos iniciais do problema colocado (guardados na memória) com as regras existentes na base de conhecimento a fim de “disparar” a regra que melhor se aplica a esse facto. Quando há um match entre um facto do problema e uma regra, é feita a instanciação da regra e, se não existir conflito com outras regras derivadas de outros factos, esta é seleccionada e guardada novamente na memória ou, caso não existam outros factos para analisar, enviada para a interface com o utilizador.

A figura seguinte exemplifica o funcionamento de sistema.


Quando os factos são confrontados com as regras sendo feita uma correspondência e seleccionando uma regra que se aplica a essa situação, estamos perante um ciclo de reconhecimento – acção.

Este tipo de sistemas tem grande aplicação nos casos em que se consegue representar pequenas peças de conhecimento do domínio de um problema mas não se conhece um critério global de solução óptima.

Se colocarmos um especialista a resolver um problema ele irá seguir um determinado caminho para chegar a uma solução; outro especialista poderá seguir caminho diverso e, ainda assim, chegar à mesma solução. A resolução do problema depende do caminho adoptado, ou seja, das peças de conhecimento que são analisadas por cada perito, sendo extremamente difícil definir o que é a solução global óptima.

Uma das grandes vantagens deste tipo de sistema é a possibilidade de substituir a base de conhecimento, mantendo as restantes componentes, para se ter um novo sistema pericial de um diferente domínio do problema. A explicabilidade da solução é também uma das grandes vantagens a salientar, pois a aplicação de modelos num contexto de negócio pretende-se o mais transparente possível para que a decisão tomada seja claramente entendida por todos os intervenientes. Por outro lado, se estivermos perante um problema que se estruture em demasiadas regras, a sua abordagem via este tipo de sistemas pode ser de difícil implementação.

Sistemas periciais vs Árvores de Decisão

Os sistemas periciais implicam uma estruturação prévia do conhecimento (com base em regras, como vimos) que permite deduzir novos dados. As técnicas de Data Mining podem ser encaradas como o inverso: permitem “vasculhar” a memória que reside nos dados e descobrir padrões e regras significativas. Numa perspectiva de extracção de conhecimento bottom-up, não existem pressupostos e é dada aos dados a oportunidade de se expressarem.

A extracção de conhecimento pode ser:

- supervisionada: a tarefa consiste em explicar o valor de um determinado campo com base nos outros. Seleccionamos um campo alvo e pedimos ao computador para o estimar, prever ou classificar. O exercício de análise de churn posto em prática nas aulas em Clementine usando Árvores de Decisão é um exemplo típico deste tipo de aprendizagem. Partindo de um conjunto de variáveis que caracterizavam clientes cujo comportamento de abandono é conhecido (a variável alvo aqui tomava dois valores possíveis: churners e não churners), foi possível obter um modelo que diferenciava estas duas tipologias de clientes e que, face a um novo conjunto de clientes atribuía uma probabilidade de pertencer aos dois grupos.

- não-supervisionada: não existe um alvo, pedimos à heurística/algoritmo para identificar nos dados padrões significativos. A segmentação de uma base de dados de clientes é um dos exemplos de aplicação da aprendizagem não supervisionada, pois apesar de o output final ser a constituição de agrupamentos de clientes com base em semelhanças, não existe uma classificação pré-definida. O K-means é um dos métodos mais usados neste tipo de problemas de negócio.

Retomando a temática das Árvores de Decisão iniciada nas aulas, vimos como uma das suas principais vantagens é a extracção de regras, que podem facilmente ser expressas em linguagem corrente, de modo a serem bem compreendidas pelos analistas e pelos gestores. Apesar de muitas vezes não ser fundamental conhecer a forma de funcionamento do modelo, existem problemas onde a possibilidade de explicar as razões que justificam determinadas decisões é essencial.

Se nos Sistemas Periciais é fundamental envolver os peritos para explicitar as regras que expressam o conhecimento do domínio de um problema, com as Árvores de Decisão o processo é o inverso. As Árvores de Decisão abordam o processo de extracção de conhecimento numa perspectiva de indução, ou seja, há uma generalização dos padrões encontrados nos dados que depois se traduzem em regras, sem existir um conjunto de premissas formuladas inicialmente sobre as relações entre objectos.

Contudo, há que controlar a quantidade de regras geradas pois a knowledge-base extraída pode ser tão má em complexidade tempo e espaço como a base inicial -não nos esqueçamos que, no limite, cada entrada de uma tabela pode originar uma regra. Essa questão é abordada através de técnicas de desbaste da Árvore de Decisão (prunning) e na minimização da diversidade nos nós terminais da Árvore (ou seja, garantir a maior proporção possível de objectos correctamente classificados).

Estas técnicas serão devidamente detalhadas no 3º trimestre da cadeira de Data Mining. Irão ver que, no fundo, é como jogar ao jogo das 20 perguntas: a resposta à primeira pergunta determina as questões seguintes e na maior parte das vezes chegamos à solução final sem serem feitas todas as perguntas possíveis, porque os padrões já encontradas por associação das respostas às perguntas anteriores permite-nos chegar à resposta correcta na maioria dos casos.

(é vermelho? SIM, é redondo? SIM, é um fruto? SIM, É UMA MAÇÃ???!! NÃO! Vêem aos pares? SIM!! ENTÃO SÃO CEREJAS!).


quinta-feira, 15 de novembro de 2007

Tarefas e níveis da Gestão - uma visão integrada


Parece ser aceite por todos que a gestão é o processo de planear, organizar,
liderar e controlar o trabalho de membros de uma organização, bem como o processo de utilizar todos os recursos organizacionais de forma a alcançar objectivos claramente definidos dentro da organização. Estes 4 pilares que sustentam as funções dos gestores têm inerentes dois tipos de acções: o Decidir e o Fazer. Parece-me contudo correcto entender estas duas acções como transversais às organizações – em qualquer nível de uma organização (operacional, táctico e estratégico) deve existir a preocupação entre a correcta tomada de Decisões assim como a eficácia do que é Feito.

Devemos entender o gestor como a pessoa responsável pela canalização dos esforços empregues para o atingir desses objectivos. As suas funções tipo podem resumidamente descrever-se da seguinte forma:

Planear – é o processo de estabelecer objectivos e o correcto conjunto de acções para que estes sejam alcançados. É um processo que deve acontecer atempadamente e que deve originar os procedimentos a seguir pelos envolvidos no alcance dos objectivos.

Numa organização os objectivos são tipicamente estabelecidos nos níveis mais elevados, originando os objectivos das diversas unidades que compõem a organização – é sobre as pessoas que ocupam os níveis mais baixos da hierarquia que geralmente recai a tarefa de atingir os objectivos. A influência que o gestor tem sobre as pessoas das equipas operacionais é fulcral no cumprimento dos objectivos, conduzindo à colocação em prática do que foi especificado no processo de planeamento.

Organizar – é o processo de reunir duas ou mais pessoas num trabalho conjunto, de uma forma estruturada, de modo a alcançar um objectivo específico ou um conjunto de objectivos. Implica pois competências a nível da definição e delegação de tarefas, autoridade (que eu entendo como capacidade de influenciar) e estruturação de recursos entre as pessoas da organização. Esta função reúne a capacidade de ter presente as competências das pessoas que integram as equipas, bem como a capacidade de ter presente as tarefas a que essas pessoas estão afectas no seu quotidiano laboral.

Liderar – a função de liderança envolve a capacidade de dirigir, influenciar e motivar as pessoas das equipas para que as tarefas essenciais à continuidade da actividade sejam levadas a cabo. O estabelecimento de relações de confiança entre a equipa e o seu líder é fundamental para que as pessoas se sintam parte integrante da organização. Uma boa liderança é fundamental para garantir que todos remem na mesma direcção, na direcção do alcance dos objectivos. Um bom líder faz com que a sua equipa acredite no lema “Um por todos e todos por um”, e isso tem efeitos ao nível da motivação individual, do espírito de intra-ajuda (entre membros de uma equipa) e inter-ajuda (entre equipas) e do Fazer-bem transversal à organização.

Controlar - a função de controlo traduz-se no processo de assegurar que as actividades concretizadas respeitam o que foi traçado no processo de planeamento. Implica os seguintes elementos: a) o estabelecimento de padrões de desempenho; b) medir o desempenho actual; c) a comparação entre o desempenho efectivo e os padrões estabelecidos; d) a implementação de acções correctivas caso se verifiquem desvios. Esta função pressupõe manter a organização “nos carris”.

A gestão é, pois, um processo que requer maturidade. Maturidade ao nível das relações, do negócio, da apreensão da estratégia da organização e da sua comunicação às equipas. Aliás, parece-me que a função comunicação é uma das funções mais importantes do gestor apesar de não aparecer na listagem anterior de modo explícito. A comunicação do planeamento enquanto roadmap da estratégia da organização, a comunicação da estrutura organizativa das equipas (ou seja, a correcta comunicação das tarefas dos indivíduos e a forma como as diversas tarefas devem ser coordenadas no colectivo de grupo), a Comunicação da visão, missão e valores da organização (e o vivê-lo na pele, claro está), a comunicação dos mecanismos de controlo – a balizagem da actividade. Cito o colega João Guerreiro para acrescentar ao factor maturidade o factor coragem como característica de um gestor completo – “entender os outros requer consideração, procurar ser entendido requer coragem” (in
http://guerreirojrpm.wordpress.com/).

Outros dois factores são essenciais a um gestor completo: capacidades de relacionamento inter-pessoal e de gestão das restrições temporais associadas ao processo de tomada de decisão e da própria execução de tarefas.





O gestor e a tomada de decisão

É bem entendido que o gestor não é uma peça isolada na estrutura das organizações, sendo isso sim parte integrante do sistema de influências que lhe está inerente. Na literatura encontramos 3 classificações para os diversos níveis da gestão:

Gestores de 1ª linha - correspondem ao nível mais baixo da organização em que existe um responsável afecto a determinada equipa de trabalho. Podemos dar como exemplos o responsável pelo serviço de gestão de reclamações de uma seguradora e o responsável pelo call-center da mesma empresa. Neste nível, e para além das 4 funções tipo que o gestor desempenha, é frequente que ele desempenhe ainda outra função: o Executar. Estes gestores enquadram-se sobretudo no nível Operacional das organizações.

Estabeleçamos uma associação entre este nível de gestão e a pergunta (formulada do ponto de vista da organização): Onde Estou?

Gestores intermédios - dirigem as actividades dos gestores de 1ª linha, sendo também frequente coordenarem o trabalho dos operacionais. Reportam a outros gestores e dirigem as actividades que visam implementar as directrizes da empresa. Retomando o exemplo anterior, o responsável pelo serviço de atendimento a clientes pode ser classificado como gestor intermédio, uma vez que reporta ao Director de Operações e dirige os responsáveis pelas diversas áreas responsáveis pela gestão dos contactos dos clientes. Têm um enquadramento sobretudo Táctico.

A pergunta central que ocupa as pessoas neste nível de gestão é: Como lá chegar?

Gestores de topo - ocupam os lugares mais elevados da hierarquia organizacional, sendo responsáveis pela gestão global da organização. O Director de Operações, referido no exemplo anterior, bem como os restantes membros do Comité de Direcção onde se inclui o Director Geral, podem ser apontados como exemplos.

Estes gestores preocupam-se com a definição das linhas Estratégicas que traçam o rumo da organização: Para onde queremos ir?

A associação das tarefas de gestão aos diferentes níveis de gestão acima definidos não pode ser feito com base em regras de classificação rígidas, uma vez que existe uma partilha dessas tarefas, que poderá ser distinguida com base no tempo afecto por cada um dos níveis a essas mesmas tarefas. Uma tradução possível pode ser a seguinte, apoiada numa lógica de modelação fuzzy:


Estes níveis de gestão têm latente um determinado grau de autoridade que está na base da modelação da estrutura formal da organização. Ou seja, podem traduzir-se numa hierarquia. Entenda-se “Autoridade” neste contexto como o poder de tomar decisões que influenciam as acções de outros. Implica a noção de “superior hierárquico” e, consequentemente, de “subordinado”.

Esta hierarquia inerente aos níveis da gestão parece-me estar fortemente correlacionada com a hierarquia de decisões. O comportamento dos indivíduos que desempenham determinado papel ou função de gestão e/ou operacional é orientado por objectivos. O foco do processo de decisão pode ser:

a selecção dos objectivos de negócio transversais à organização – tipicamente os objectivos estratégicos, que se propõem a dar resposta a problemas pouco estruturados (em que existem muitas vezes alternativas conflituosas e em que existe elevado grau de incerteza e risco sobre a decisão tomada) ;
a implementação desses objectivos – tipicamente de carácter operacional, que dão resposta a problemas altamente estruturados, na medida em que são facilmente determinados e em que as alternativas de acção são claras e bem definidas.

Falo em hierarquia porque o estabelecimento de objectivos pelos níveis de gestão mais altos da hierarquia tem forçosamente impacto na implementação dos objectivos dos níveis de gestão seguintes. Retomo aqui os actos de Decidir e Fazer. A tarefa de atingir os objectivos de uma organização recai quase sempre sobre as pessoas nos níveis mais baixos da hierarquia, que dedicam a maior parte do seu tempo ao Fazer. Mas a correcta definição dos objectivos terá de ser determinada pelos níveis superiores, cuja principal afectação de actividades se centra no Decidir.

Contudo, não se deve inferir que esta hierarquização de objectivos é claramente definida e aceite – as organizações são complexas, frequentemente multi-objectivos, que são alvo de ponderações (ou prioritizadas) em função de níveis de importância ou do grau de influência dos seus “patrocinadores”.




As estruturas organizacionais tornaram-se mais complexas e os custos associados à tomada de más decisões aumentaram. O acesso a informação de apoio à decisão ganhou o devido relevo e a extracção de conhecimento da imensa quantidade de dados gerada pelos sistemas operacionais através da aplicação de modelos tem hoje uma dimensão claramente estratégica.


Os decisores são encorajados a justificar as suas acções com base no conhecimento que extraído dos dados, pelo que é fundamental representar a importância do layer Dados-Modelos-Conhecimento-Inteligência nas organizações. O seu objectivo é o de apoiar o gestor a utilizar os dados e modelos inerentes ao seu negócio de forma a dar resposta às 3 questões fundamentais que determinam o seu sucesso:

Para onde quero ir? Como lá chegar? Onde estou?



****************************************************

Referências:

Simon, H., Administrative Behavior
Stoner, J., Freeman, R., Gilbert Jr., D. , Management
Arsham, H., Applied Management Science: making good strategic decisions
(http://home.ubalt.edu/ntsbarsh/opre640/opre640.htm)

segunda-feira, 5 de novembro de 2007

Funções e relações entre indicadores



A preocupação em traduzir matematicamente fenómenos de naturezas diversas encontra expressão num sem número de discussões sobre relações entre pares de variáveis. Tomemos como exemplo as seguintes questões económicas ditas clássicas:

- a quantidade procurada de um produto e o preço;
- o consumo e o rendimento;
- educação e rendimento;
- desemprego e a taxa de inflação.

Isto não significa que o mundo possa ser reduzido a relações bivariadas. Quando se abandonam as representações gráficas bidimensionais dos livros de referência, a realidade multidimensional impera. Contudo, as ferramentas matemáticas desenvolvidas para tratar relações entre duas variáveis são pedras basilares para a análise de relações mais complexas.

A relação entre duas quaisquer variáveis económicas, como as acima mencionadas, pode ser expressa nas seguintes formas:

a) Especificação económica: há uma relação positiva ou negativa entre x e y;


Y = f(x)


b) Especificação estatística: a partir de um conjunto observado de dados estatísticos para cada uma das variáveis;


Y1 = f(x1)

Y2 = f(x2)

Y3 = f(x3)
...
Y4 = f(x4)

c) Especificação matemática: em termos de uma equação;

Y = a + bx

d) Especificação geométrica: representação gráfica num plano a duas dimensões;



Sobre as Funções
Função de uma variável. Sejam u e z duas variáveis, reais ou complexas, e sejam e , respectivamente, os seus domínios.
Se entre u e z existe uma correspondência tal que a cada valor de z, domínio (D), corresponde um valor de u, domínio (F) , seja qual for a maneira como essa correspondência é estabelecida, diz-se que u é função de z, definida no domínio (D) , e escreve-se:

u = f(z)

(…) Ao conjunto (D) chama-se domínio da função; ao conjunto (F) contra-domínio da função.

in Lições de álgebra linear e análise – volume II, Bento de Jesus Caraça.

************************************************************************

Podemos dizer que uma função é uma relação entre variáveis e constantes que permitem descrever fenómenos traduzíveis numericamente e que podem ser representados através de gráficos sobre eixos cartesianos. Esta relação é caracterizada por um conjunto de operações, ou fórmula, que incluem um input (variável independente, representada geralmente por x) e um output (variável dependente, representada geralmente por y).

Dos vários tipos de funções existentes, iremos sumariamente abordar dois em concreto: as lineares e não lineares.

a) Funções lineares

Uma função linear é dada pela formula f(x) = m x + b.

Graficamente uma função linear é ilustrada por uma linha recta.
Uma grande particularidade deste tipo de funções está no facto da diferença de sucessivos outputs ser constante, ou seja, cada vez que a variável x é incrementada em 1, a variável y sofre um aumento constante.

b) Funções não lineares

Por outro lado, funções cujos gráficos não são linhas rectas são chamadas funções não lineares. Algumas delas têm nomes específicos, como são os casos da função quadrática (f(x)=ax2+ bx+c) e da função cúbica ( f(x) = ax3 + bx2 + cx + d ).

A grande particularidade deste tipo de funções está no facto da primeira diferença entre sucessivos outputs constituir uma função linear e das segundas diferenças constituírem uma função constante.



Representação gráfica de Funções Lineares e Não Lineares através de dados

Case study I - Indicadores de Gestão (alguns exemplos)


Seguem-se alguns exemplos das relações entre indicadores de apoio a diversas actividades das Organizações (representação gráfica e tipo de função):



Case study II - CrediSIAD (Projecto de GPDW)

De seguida apresentamos alguns exemplos das funções já abordadas, com o apoio dos dados (simulados) do negócio que estamos a trabalhar no projecto de GPDW. Pretendemos apenas ilustrar graficamente a relação entre alguns indicadores que poderão ser produzidos neste contexto, sem a pretensão de chegar à estimação do modelo com melhores medidas de ajustamento.




Por Ana Cardoso, Ana Sofia Marques, Rui Cunha