Bom dia. Excelente material a respeito de Fuzzy, poderia adiconar mais exemplos como esse, é muito bom para entendimento ver o resultado da pratica real.
bom dia pessoal. isso aqui é um vídeo sobre lógica..............nebulosa. ou também conhecido como lógica difusa, ou o nome em ingles que é lógica f🌬- uzzy
IMPORTANTE !!! Recentemente (outubro de 2019) o código tinha começado a dar um erro no Colab por conta da atualização do pacote networkx que mudou a classe digraph e excluiu uma função que o scikit-fuzzy usava. Para resolver o problema estou forçando agora a instalação da versão 2.3 com o comando !pip install networkx==2.3 (a versão atual é 2.5). Pode ser que versões futuras do scikit-fuzzy resolvam este problema sem necessidade de downgrade na networkx. O vídeo não mostra este comando pois quando gravei estava tudo ok.
No meu python IDLE está aparecendo um erro "AttributeError: module 'skfuzzy.control' has no attribute 'Antecedent'", tem alguma relação com o erro que voce comentou ai?
Olá Hemerson, parabéns pelo vídeo. Show!!! Só achei o seu vídeo sobre fuzzy com Python!!! O que para mim vc se tornou referência!!!Vc tem outros vídeos sobre lógica fuzzy ou sistemas híbridos neuro-fuzzy???
Interessante demais! Particularmente acho o número 5 fantástico, pois alguns adjetivos são neutros (medíocre, sentido literal), imediatamente dos dois lados teríamos adjetivos de posicionamento (bom e ruim) e seus respectivos superlativos (péssimo e excelente). Achei interessantes as proposições lógicas, mas também colocaria o equivalente a 5: o meio seria, se aceitável, então média; os primeiros dois posicionamentos: se... ou..., então...; e os superlativos: se... e ... então. Fora que simetria afaga o coração. kkkkk Abraço
Boa Noite, Hemerson, muito bom seu vídeo, Parabéns!m Se puder me tirar uma dúvida eu ficaria muito grato. Estava lendo a documentação no site do Skfuzzy e no exemplo de lá é preciso definir qual será o método de defuzzyficação (centróide, centro de máximo etc) para extração do valor final (18 no teu cars), nesse exemplo você não definiu como será feito o cálculo final, dessa forma ele já usa algum cálculo padrão?
Olá Manoel, ele usa um método padrão mas eu não me lembro agora qual é (já faz um tempinho que fiz este vídeo, apenas para uma disciplina que eu ministro ... não é minha área de pesquisa então eu não me aprofundei muito).
@@HemersonPistori muito obrigado pela resposta, Hemerson, dei uma pesquisada e vi que o método padrão é a centroide, repassando a informação kkkk bom dia.
Verdade. Este é um ponto importante que vou tentar trazer em outro vídeo. Acabei de fazer um outro, mas não trata disso (é mais relacionado com a interação com o usuário usando "adjetivos").
Olá! Ótima matéria. Fazendo alguns ensaios, com meu script para outro tema, assim como para o gorjeta nebulosa, verifiquei que, para valores mínimos e máximos dos antecedentes, os valores do consequente convergem para um determinado valor, no qual não são os valores esperados. Ex. comida = 0 e serviço = 0 : valor esperado da qualidade ~ 0. Valor calculado da qualidade = 5.43. Da mesma forma para para valores máximos. Ex. comida = 9.9 e serviço = 9.9 : valor esperado da quantidade ~ 25. Valor calculado da quantidade = 19.76. Nos meus scripts aconteceu a mesma coisa. Tem alguma informação sobre isso? Já tentei inúmeras soluções mas não consegui resultados satisfatórios.
Obrigado ! Não sei se dá mas acabei de subir um novo vídeo com algumas coisas a mais (não sei muita coisa a mais do que aquilo que eu coloco nos vídeos de lógica nebulosa pois não trabalho no dia a dia com isso ... apenas ensino o básico mesmo).
A alma do sistema são as definições das funções de pertinências mas me parece que são muito empíricas, ou seja, cada pessoa que atacar O MESMO PROBLEMA terá respostas diferentes.
Pode ser uma limitação das funções de pertinência que você escolheu ou então da própria função da biblioteca que realiza a transformação. Teoricamente, existem muitas maneiras de fazer isso mas não sei se dá para fazer uma troca desta função sem mexer no código fonte da biblioteca.
Olá Hemerson! Sensacional esse material. Gostei muito e achei muito explicativo. Me parece que usou o modelo TSK para o exemplo. Como eu faria para pegar as consequências num modelo mamdani?
infelizmente eu não explorei tanto assim o scikit-fuzzy ainda, só o básico mesmo para fazer este vídeo :-( não sei te dizer como usar outros modelos de inferência.
Um dos parâmetros do "ctrl.Consequent" é o "defuzzify_method". É só trocar o padrão defuzzify_method='centroid' por outro, como defuzzify_method='mom' ou defuzzify_method='som'
Excelente video! Parabéns! Mas se alguem puder me ajudar agradeço. No meu output (varia de 0 a 10) independente do valor que coloco na entrada, nunca consigo chegar a 10 o máximo que consegui foi 8,8333 e com grau de pertinencia 0,7. Ja mexi nas regras, coloquei valores para forçar que o resultado fosse 10 para entender, mas sem sucesso...isso é normal?
Testou no colab ou diretamente no desktop ? Dá um erro na instalação com o colab mas mesmo assim o código rodou aqui (nunca testei sem o colab) ... que erro está dando para você ?
O código foi intensamente testado na época em que o vídeo foi criado, com as versões da biblioteca daquela época. O problema, infelizmente, é que as bibliotecas vão mudando e não são retro-compatíveis. Por isso o código pode passar a não funcionar depois de um certo tempo (para resolver, é preciso usar bibliotecas antigas ou atualizar o código para as funcionar com bibliotecas novas).
Professor, sensacional. Deve ser o 5º ou 6º vídeo que assisto e não estava entendendo o conceito da função de pertinência. Muito obrigado.
Finalmente entendi!! Coisas complexas precisam ser explicadas com exemplos simples e não abstratos. Por mais docentes assim como vc!
Que vídeo fantástico! Parabéns!
Muito obrigado 😃
Muito bom. Passou por todos os conceitos com linguagem acessível e ainda mostrou código funcionando. Parabéns.
Excelente explicação, utilizarei a lógica fuzzy em meu tcc em um assunto epecífico e o vídeo foi de grande ajuda. Obrigado!
Excelente! Muito obrigado pela aula.
Vídeo muito bom! Explicação simples e excelente!
Muito útil. Estou precisando na minha pós graduação de Confiabilidade e Gestão de Ativos, para a disciplina de Inteligência Computacional.
Sigo seus videos a um tempo, excelente explicação! :D
Bom dia. Excelente material a respeito de Fuzzy, poderia adiconar mais exemplos como esse, é muito bom para entendimento ver o resultado da pratica real.
Bem claro! ótima explicação
bom dia pessoal. isso aqui é um vídeo sobre lógica..............nebulosa. ou também conhecido como lógica difusa, ou o nome em ingles que é lógica f🌬- uzzy
KKKKKKKKKK lógica f- æ.. fuzzy
Tá bom ficou legal o vídeo e a explicação.
IMPORTANTE !!! Recentemente (outubro de 2019) o código tinha começado a dar um erro no Colab por conta da atualização do pacote networkx que mudou a classe digraph e excluiu uma função que o scikit-fuzzy usava. Para resolver o problema estou forçando agora a instalação da versão 2.3 com o comando !pip install networkx==2.3 (a versão atual é 2.5). Pode ser que versões futuras do scikit-fuzzy resolvam este problema sem necessidade de downgrade na networkx. O vídeo não mostra este comando pois quando gravei estava tudo ok.
No meu python IDLE está aparecendo um erro "AttributeError: module 'skfuzzy.control' has no attribute 'Antecedent'", tem alguma relação com o erro que voce comentou ai?
Olá Hemerson, parabéns pelo vídeo. Show!!! Só achei o seu vídeo sobre fuzzy com Python!!! O que para mim vc se tornou referência!!!Vc tem outros vídeos sobre lógica fuzzy ou sistemas híbridos neuro-fuzzy???
Muito obrigado !!! Infelizmente só tenho este por enquanto :-(
Muito didático o seu vídeo! Obg
Muito bacana, excelente!!!
Excelente explicação! Recomendo
Muito boa explicação!
Interessante demais! Particularmente acho o número 5 fantástico, pois alguns adjetivos são neutros (medíocre, sentido literal), imediatamente dos dois lados teríamos adjetivos de posicionamento (bom e ruim) e seus respectivos superlativos (péssimo e excelente). Achei interessantes as proposições lógicas, mas também colocaria o equivalente a 5: o meio seria, se aceitável, então média; os primeiros dois posicionamentos: se... ou..., então...; e os superlativos: se... e ... então. Fora que simetria afaga o coração. kkkkk Abraço
Boa !!!
Excelente conteúdo.
muito bom mano, vlw
Muito didático, bom!
Boa Noite, Hemerson, muito bom seu vídeo, Parabéns!m Se puder me tirar uma dúvida eu ficaria muito grato. Estava lendo a documentação no site do Skfuzzy e no exemplo de lá é preciso definir qual será o método de defuzzyficação (centróide, centro de máximo etc) para extração do valor final (18 no teu cars), nesse exemplo você não definiu como será feito o cálculo final, dessa forma ele já usa algum cálculo padrão?
Olá Manoel, ele usa um método padrão mas eu não me lembro agora qual é (já faz um tempinho que fiz este vídeo, apenas para uma disciplina que eu ministro ... não é minha área de pesquisa então eu não me aprofundei muito).
@@HemersonPistori muito obrigado pela resposta, Hemerson, dei uma pesquisada e vi que o método padrão é a centroide, repassando a informação kkkk bom dia.
@@manobet valeu !!!
Como ele calcula o resultado da gorjeta? Como chegou em 18.57?
Muito bom, mas faltou explicar como o sistema chegou no resultado 18.75 ( 21:45 seg do vídeo)
Verdade. Este é um ponto importante que vou tentar trazer em outro vídeo. Acabei de fazer um outro, mas não trata disso (é mais relacionado com a interação com o usuário usando "adjetivos").
Com certeza vou ver :-)
muito bom!!!
Muito bom Gaussiana[ 0,1]
Olá! Ótima matéria. Fazendo alguns ensaios, com meu script para outro tema, assim como para o gorjeta nebulosa, verifiquei que, para valores mínimos e máximos dos antecedentes, os valores do consequente convergem para um determinado valor, no qual não são os valores esperados. Ex. comida = 0 e serviço = 0 : valor esperado da qualidade ~ 0. Valor calculado da qualidade = 5.43. Da mesma forma para para valores máximos. Ex. comida = 9.9 e serviço = 9.9 : valor esperado da quantidade ~ 25. Valor calculado da quantidade = 19.76. Nos meus scripts aconteceu a mesma coisa. Tem alguma informação sobre isso? Já tentei inúmeras soluções mas não consegui resultados satisfatórios.
Como que eu pego o grau de pertinência? Por exemplo, a gorjeta é quão pertencente ao médio e quão pertencente ao alto?
Excelente vídeo. Há como criar saídas singleton com a biblioteca skfuzzy?
Obrigado ! Não sei se dá mas acabei de subir um novo vídeo com algumas coisas a mais (não sei muita coisa a mais do que aquilo que eu coloco nos vídeos de lógica nebulosa pois não trabalho no dia a dia com isso ... apenas ensino o básico mesmo).
A alma do sistema são as definições das funções de pertinências mas me parece que são muito empíricas, ou seja, cada pessoa que atacar O MESMO PROBLEMA terá respostas diferentes.
Sim, ou você poderá consultar especialistas. Assim terá uma amostragem maior
Muito bom !
Pq nunca consigo um percentual máximo de gorjeta? Independente dos valores que coloco nos antecedentes
Pode ser uma limitação das funções de pertinência que você escolheu ou então da própria função da biblioteca que realiza a transformação. Teoricamente, existem muitas maneiras de fazer isso mas não sei se dá para fazer uma troca desta função sem mexer no código fonte da biblioteca.
Olá Hemerson!
Sensacional esse material. Gostei muito e achei muito explicativo.
Me parece que usou o modelo TSK para o exemplo. Como eu faria para pegar as consequências num modelo mamdani?
PS: estava em busca de um material que mostrasse na prática e bem explicado como foi o seu. Parabéns
infelizmente eu não explorei tanto assim o scikit-fuzzy ainda, só o básico mesmo para fazer este vídeo :-( não sei te dizer como usar outros modelos de inferência.
De qualquer modo você fez um ótimo trabalho!
Muito Bom esse exemplo. Vamos interagir com mais exemplos, tem muito a se explorar. Parabéns!!!
O gráfico da gorjeta está pintado errado não?
Alguém sabe como mudar a função defuzzy do controlador? Tipo de lom pra mom ou centroide
Um dos parâmetros do "ctrl.Consequent" é o "defuzzify_method". É só trocar o padrão defuzzify_method='centroid' por outro, como defuzzify_method='mom' ou defuzzify_method='som'
Excelente video! Parabéns! Mas se alguem puder me ajudar agradeço.
No meu output (varia de 0 a 10) independente do valor que coloco na entrada, nunca consigo chegar a 10 o máximo que consegui foi 8,8333 e com grau de pertinencia 0,7. Ja mexi nas regras, coloquei valores para forçar que o resultado fosse 10 para entender, mas sem sucesso...isso é normal?
E como faz se o código tiver mais de 3 mil regras?
não está rodando o código
Testou no colab ou diretamente no desktop ? Dá um erro na instalação com o colab mas mesmo assim o código rodou aqui (nunca testei sem o colab) ... que erro está dando para você ?
O teu codigo tem muitos erros camarada
O código foi intensamente testado na época em que o vídeo foi criado, com as versões da biblioteca daquela época. O problema, infelizmente, é que as bibliotecas vão mudando e não são retro-compatíveis. Por isso o código pode passar a não funcionar depois de um certo tempo (para resolver, é preciso usar bibliotecas antigas ou atualizar o código para as funcionar com bibliotecas novas).
Muito boa explicação!
Que bom que ajudou
sensacional!
Muito obrigado!
Excelente explicação.