1
$\begingroup$

I would like to know how to teach an agent for performing prediction of the severity of disease and also for alerting patients using machine learning methods. I found the Model-based reflex agent class can be used in medical diagnosis in some literature. May I know which architecture will be good, to make such an agent?

$\endgroup$
  • 1
    $\begingroup$ Would you have actual references to what you found? "Model-based reflex agent" can mean quite a few things, depending on with school of thoughts you are asking to. $\endgroup$ – Eric Platon May 26 '18 at 4:14
  • $\begingroup$ This question should be migrated to: datascience.stackexchange.com. $\endgroup$ – JahKnows Jun 1 '18 at 8:48
  • 1
    $\begingroup$ @EricPlaton i read about agents in ai.stackexchange.com/questions/3243/… $\endgroup$ – Dayz Jun 1 '18 at 15:44
2
$\begingroup$

The question is really broad---as stated by @thecomplexitytheorist---so difficult to give a meaningful answer. The following is about a clarification about the problem, and some directions.

A model-based reflex agent is a blueprint describing the key components necessary to build that agent. It is an abstract architecture to guide the creation of concrete agents. Whether software or hardware, the target agent should have a bit serving as "sensors" (a HW camera, or a software API"), "actuators", memory, etc. So if you aim at a HW agent, you need to decide what compenents, and collect them. A SW agent would be the definition of a software architecture, or the use of some modelling framework.

The Machine Learning part is about endowing the agent with some skill. It is the "smarts" programming part, what the "brains" will do in the instance of the blueprint. Please note that it does not have to be Machine Learning. It could be another "style" of programming, such as a rule-based system, or a plain hand-crafted program.


How to teach such agent is currently an open question. First steps usually start with drawing the agent as a black box, its inputs (e.g. symptom data), its desired output (diagnosis and alert). Then we detail the black box in terms of what sensors the agent needs to process the input, what actuators for the output, and what it needs to learn and memorize. Depending on the available input data and diagnosis/alert output system (email?), the next stage aims at refining step by step, until a good idea of what needs be implemented emerges.

At this point, all pieces are in place, except the internal model---the piece that really pertains to Machine Learning (if you choose ML for that). As the input data is available, and the output format decided, the "final" stage (before implementation) is to define the model. It really depends on the actual data and the goal (here we assume prediction). Labelled data (we can teach with input and output, as we already know them) usually leads to supervised learning. Unlabelled data (we can teach with the input only) leads to unsupervised learning or reinforcement learning. Once one understands the situation, we can choose some algorithm like SVM, decision trees, neural networks, etc. Note that the final decisions (before implementation) require studying the data beforehand (Is it regular? Are there missing bits? Is it in a format useful for ML? Etc.) to make appropriate choices.


Final note: The question may get closed on this site, because it is too broad. Way more useful to ask narrow questions, with a clear answer or set of answers. As you see here, this long answer is just the tip of how to teach an agent (I could not sleep anyway). And no implementation yet. In fact, all this could be summed up as "typical system development, with an ML component". Two guiding principles: (1) isolate the ML component(s), so specialists can dig and make the best of them, and (2) keep it simple.

$\endgroup$
1
$\begingroup$

your question is quite broad, each disease has its own characteristics. And sometimes it takes a domain-expert or a pathologist to predict the severity of certain disease. you can't predict severity of all diseases with one algorithm (or a method).But in some cases you can use machine-learning methods to get assistance. I suggest you to go through "grand-challenge.org" competitions and read the writeups of teams which participated in those competitions to get a basic idea.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.