Coder Social home page Coder Social logo

mdp_delusions's Introduction

MDP_Delusions

This repository contains data and code relating to the MDP_Delusions project, a collaboration between Rick Adams, Peter Vincent, David Benrimoh, Karl Friston and Thomas Parr.

Project summary

Delusions are, by popular definition, false beliefs that are held with certainty and resistant to contradictory evidence. They seem at odds with the notion that the brain at least approximates Bayesian inference. This is especially the case in schizophrenia, a disorder thought to relate to decreased – rather than increased – certainty in the brain’s model of the world. We use an active inference Markov decision process model (a Bayes-optimal decision-making agent) to perform a simple task involving social and non-social inferences. We show that even moderate changes in some model parameters – decreasing confidence in sensory input and increasing confidence in states implied by its own (especially habitual) actions – can lead to delusions as defined above. Incorporating affect in the model increases delusions, specifically in the social domain. The model also reproduces some classic psychological effects, including choice-induced preference change, and an optimism bias in inferences about oneself. A key observation is that no change in a single parameter is both necessary and sufficient for delusions; rather, delusions arise due to conditional dependencies that create ‘basins of attraction’ which trap Bayesian beliefs. Simulating the effects of antidopaminergic antipsychotics – by reducing the model’s confidence in its actions – demonstrates that the model can escape from these attractors, through this synthetic pharmacotherapy.

Using the code

All the code (almost) needed to run the simulations included in this work can be found in this repo. You will also need a version of Matlab (this project was developed using MATLAB R2019b) and SPM12, which you can download here.

Figures 2a, 2b, 3a, 3b, 3c, 4a, 4b and 4c can be run quickly by running Production_Figures/single_MDPs_for_figures.m which will load in the relevant simulations used for each graphic - note that paths at the beginning of the file (lines 8, 9, 11, 12) will need to be updated for your setup. Alternatively, this script also gives the code and parameters required to re-create each simulation. These can be easily changed within the script.

To re-create the remaining figures (which show many simulations to demonstrate the effect changing parameters on the results), use working_model/analyse_varied_MDPs.m. Unfortunately, we are not able to upload all of the simulation results here, since some of the simulations are >5GB. We are very happy to share these large files, so please email Dr. Rick Adams and we'll find a way to share these files. However, you can still generate some the figures already using the results in Production_Figures/MDP_sim_symm_beta* and Production_Figures/MDP_sim_trust_beta*. Again, you will need to change the paths at the beginning of the code.

You can also email Rick if you have any further questions about the code, or feel free to raise an issue here.

The online manuscript can be found here

mdp_delusions's People

Contributors

peter-vincent avatar drrickadams avatar petervincent96 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.