Forum Replies Created

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • Avatarsenabhishek
    Participant

    Hi Juan,

    Thanks for getting back.

    If I understand this correctly:
    – Everytime an activity vector arrives (walking 0.75, running 0.2, stationary, 0.05), I don’t understand how output_state gets populated:
    `output_state = engine.output_variable(“output_state”)
    – Is there anything that needs to be created in the Fuzzy Model (using QTFuzzyLite) or will this be done programmatically at runtime? How does output_state get populated?
    – When you say the engine needs to be manually processed, do you mean that specific rule blocks need to be activated that are connected to this activity state, the output gets processed and defuzzified, and then the rest of the blocks need to be activated and defuzzified?
    – What is the point of the ‘implication’ in your comment? Is this setting it up for the subsequent processing of rule blocks that are dependent on the activity state?

    Or am I missing something?

    Abhishek.

    Avatarsenabhishek
    Participant

    Hi Juan,

    Thanks very much for getting back. I’ve tried your approach and am now testing it out by following the example in the SimpleDimmerChained solution.

    A follow-up question: One of the inputs to the fuzzy model is a machine-learned model for activity recognition (stationary, walking, running etc.). Now, if I simply take the highest confidence value from the output of the machine-learned model (e.g. stationary with 0.75) and pass it in as the input to the fuzzy model, I obviously lose a significant degree of precision where the other activity confidence degrees (e.g. walking 0.2, running 0.05) are not represented in the input variable to the fuzzy model.

    How can I achieve this in fuzzylite i.e. how can I pass in a membership function (e.g. stationary 0.75, walking 0.2, running 0.05) as an input variable? What membership function would accurately represent this type of an input?

    Best,
    Abhishek.

    Avatarsenabhishek
    Participant

    Hey Juan,

    I’ve added the necessary files to the repo and also referenced this site and the github repo for FuzzyLite in the README. Let me know if that’s fine.

    Cheers,
    Abhishek.

    Avatarsenabhishek
    Participant

    Hey Juan,

    To help you out I’ve created a sample Swift project that includes your source code (in the project). The model used is the default one available when you open the QT FuzzyLite application i.e. Ambient –> Power.

    I’ve created a github repository at https://github.com/senabhishek/fuzzyliteAndSwift so enjoy! Once again, thank!

    Cheers,
    Abhishek.

    Avatarsenabhishek
    Participant

    Hey Juan,

    Thanks a lot for the prompt answer! Yes – I was exactly looking for this. A couple of questions:

    1. I will definitely go for approach since with approach 1 you will lose information as you mention. However, my question is what are some considerations one takes when you pick a specific methods of defuzzification and accumulation? In most of my models I am simply using Centroid for defuzzification and minimum for accumulation. Can you share some insight on this?
    2. I am planning on using the accumulated activation degree as sort of a confidence rating for my outputs – any thoughts on this?

    Cheers,
    Abhishek.

Viewing 5 posts - 1 through 5 (of 5 total)