Cogs 200 Group 32

From UBC Wiki
An image created in google docs displaying the usage of an app for our cogs project
Examples of the tracking app

By: Eleanor Hawkins 94957321, Jared Lazar 24517161 and Yue Dai 94911880,

Introduction

Our society has become one where we are highly dependant on the use of medications and drugs. We are prescribed drugs for ailments as small as a headache, to something as serious as an autoimmune disorder. Without the development and advancement in the field of medicine, it is unlikely that we would be able to survive in the extremely dense and highly populated areas that we have constructed. There are simply too many bacteria and viruses, the spread of sickness would be devastating without modern medicine. The number of both life-threatening and persistent but minor conditions that affect individuals is high and without the proper treatments a large percentage of those would not survive or would have a poor quality of life. Every individual is both psychologically and physiologically different from the next, causing the efficacy of certain doses of drugs to have huge variation across populations. This variation is a problem for both doctors and patients, and finding the most effective dose is predominantly determined through the process of trial and error. This process can be hugely taxing on a patient as well as their primary care physician, and there are multiple risks that must be considered. Many drugs can have severe negative long-term effects on a person if too much is taken, but underprescribing and taking less than one requires can potentially be equally as harmful.

To solve this problem, we can attempt to use a cognitive systems approach, marrying the disciplines of biological psychology and computer science. Using a machine learning algorithm we would enable a system to perform the trial and error with minimal human intervention. Widespread use of a program like this would have the advantage of a large number of data sets with which to analyze and help new subjects receive personalized doses and dosage schedules.

To illustrate how such a program could work, we will use caffeine as our model. We will show how machine learning can help us utilize the effects of caffeine on State of Being (an individual's subjective experience in life) effectively while minimizing some of the negative effects associated with the consumption of caffeine such as dependency, withdrawal, and desensitization.

To solve the problem we first must identify measurable variables that help to indicate our progress towards reaching the goal. We aim to find an effective dosage model yielding the maximum positive effects of the caffeine while minimizing the drawbacks of its use. For our program, successful metrics would include:

  • Levels of caffeine consumption that merit the highest levels of productivity and consumption benefits.
  • Optimal timing schedule for caffeine consumption based on day to day needs: the amount of sleep, time of wake up, alertness level, productivity, long vs. short periods of productivity.
  • Lowest levels of drawback symptoms: physiological and psychological dependency, poor sleep, possible long-term damages to our digestive system, jitteriness/anxiety, tolerance.
  • Maximising the outcome of different desired States of Being (SOB)

Program Purpose

The goal of our proposal is to find a machine learning algorithm that can successfully contain all of the features necessary to analyze a set of responses and produce a drug dosage schedule as an output. We aim to use machine learning to find the most effective, safe and personalized dosage program for drugs. Using caffeine as our sample drug, we will attempt to evaluate what features of a program like this would be most helpful and effective in correctly monitoring, amending and optimizing a regulated dosage schedule of a drug. This program will be driven by the user's personalized goals.

Dynamic Systems Approach

We found it most useful to apply a dynamic systems perspective to our problem. We postulate that some of the driving variables towards a ‘productive’ State of Being (SOB) outside of caffeine are exercise, sleep quality (duration, quality, and consistency), nutrition (including hydration), stress, personal disposition and extrinsic motivation. We see caffeine as a tool that can be used to make the system more effective, and our function would be to monitor and understand how the system is working and if it is functioning effectively. Our tool elevates the function, as well as the functional understanding of an individual's productivity cycle.

Example of using an attractor basin model for different states of being, including driving variables

By taking previously collected data on the effects of caffeine, through the addition of context we can turn it into information about the effects of caffeine on a person. From here we can add meaning, which allows us to act on it, effectively turning it into knowledge about how humans function under the influence of caffeine. Our ultimate goal is to give the users the wisdom to make the best decisions about what course of action to take depending on the situation. For example, if the user feels sleepy after lunch, and there is a deadline they have to meet that night, they can ask the system which course of action it suggests. Depending on the data mined from all of our users as well as the machine learnings collection of data about the user, it will be able to suggest a ranked number of contingencies which the user can do. The system will be able to see what generally works in this part of the fluctuation: and give an educated guess in the form of a ranked menu. The system will be tracking the different outcomes of the modifying agents at different times. For example, if the user is feeling tired after lunch the machine may suggest: a) a brisk walk; b) an hour and a half nap; c) a cup of coffee, d) a 30-minute nap and half a cup of coffee. Once the user picks a course of action, they will be able to give feedback to the algorithm about how well it increased their productivity in this situation.

Each of the driving variables mentioned above produces an effect on the disposition of a person; their state of mind, their efficiency, their performance. There are transitions between these states, each driven by gradients. This is where the dynamic systems approach becomes clear: states of mind are ultimately driven by these drivers, and there is a gradient which each state of mind operates on, and all of these different drivers push a variable one way or another.

Motivation and efficacy are hard to characterize and are often elusive. We can train ourselves to get things done outside of motivation, but it is hard to see what contributes to the SOB of efficacy, or to what extent each driving variable is deterministic of each SOB. If we have slept well, are properly caffeinated, have had exercise and have both intrinsic and extrinsic motivation to be productive, we have a better chance of getting things done. But there is a scale. We may reach the same level of productivity if one variable is at an extreme, especially through motivation as we can with caffeine and sleep. We can reach a similar level of alertness as we can with a proper sleep schedule than we can with copious levels of caffeine.

People balance these multi-varied gradients every day, and we are pretty good at it generally, but it takes time and experience, and sometimes we are bad at understanding what would be the best thing for us because we do not want to hear it. This function would simply systemize it, and lay it all out so that ultimately our users could make the best decisions for themselves. We balance these variables all the time. Sometimes it is desirable for us to forgo sleep, max out on caffeine, and not leave the library for 11 hours because we have a final that we must study for. This algorithm would understand those tradeoffs, and it would map the effectiveness of each.

The use of fuzzy classifiers would be effective because it would model the transition states between the classes, and it would map the different drivers of individual variables. For example, the cluster of alertness would be driven by things like nutrition: after four hours of no food, there is a blood sugar drop off. This might result in less productivity. The cluster of tiredness can be driven by something like sleep quality the previous night, and then be pushed in one direction or the other by a factor like caffeine, blood sugar, or motivation. This is the same concept as solid state attractors: there are complex interactions on something like a person's motivation, attractor basins might be something like sleep, productivity, procrastination. One might be deeper than another, for instance, once you fall into the attractor basin of procrastination, it can often be very difficult to get yourself out of it. A push might be needed, such as an upcoming deadline (motivation) or a stimulant like caffeine. Our function would be able to track and predict these attractor basins and see what pushes would be most effective to get us to our goal. Furthermore, there are natural fluctuations in the human experience, our circadian rhythm, how often we get hungry, and stuff like natural light outside.

These things all affect our experience. Caffeine is a perturbation of our system, which deviates from the natural fluctuation into sleepiness.

Error reduction model

Our entire program is about empowering people: taking something that is hidden that they vaguely intuitively act on, and making it into something they can explicitly understand and manipulate for their own benefit. The Machine Learning will cut down on the experimental time, and as we get more data and more participants, the learning curve will become steeper, allowing the machine to make smarter guesses about how a person is likely to react to different variables.

Procedure

Undertaking this project will be a massive endeavour and will require a number of interdependent unfixed components in order to succeed. Our ultimate goal is to develop a program where we are able to take personal data from a single person's physiological reactions to a substance and determine the overall effect the substance has on that individual, whether it be positive or negative. A machine learning algorithm which would take in our data and observations on a subject's behaviour/response both with and without the drug, while simultaneously minimizing negative effects such as tolerance and dependency.

In order to model this algorithm effectively, we will be using caffeine, a stimulant, as the substance in question. Using a legal, widely used drug has the benefit of having a large sample size, as well as a wide variation in different utilization methods of caffeine throughout many different societies and many different people. The cost of caffeine or things with caffeine in them is low, incurring minimal drawbacks of ingestion. It has a relatively low margin for dependency, reportedly taking only ten days for the body's physical dependency and withdrawal symptoms to discontinue. The first step would be to do a literary review of all of the relevant literature concerning machine learning drug dosage programs, the physiological and psychological effects of caffeine on people, as well as the drugs dosage index, dosage response rate, and other variables concerning the drug's effect including a subjects tolerance levels, the effect of prolonged caffeine usage on the effectiveness of such a system.

Caffeine is a substance that stimulates the central nervous system. It has effects on the cardiovascular, respiratory, and renal systems. It also is known to effect ¬one’s mood, memory, alertness, and physical and cognitive performance. Caffeine is rapidly absorbed by the body, its absorption reaching completion within an hour after ingestion and staying in the body anywhere from 1.5 to 9 hours. The elimination time is variable depending on the metabolism of the individual ingesting the caffeine as well as multiple physiological and environmental characteristics such as obesity, pregnancy, and smoking (Institute of Medicine (US) Committee on Military Nutrition Research, 2001).

Overall regular caffeine consumption has been shown to be beneficial (Smith, 2002). The effects caffeine has on our body, however, can be both positive and negative. Like most substances, too much caffeine can be fatal but the fatal dose is many times higher than the average amount consumed from everyday sources (Institute of Medicine (US) Committee on Military Nutrition Research, 2001). Significant sources of caffeine include coffee, tea, soft drinks, energy drinks, and some cocoa products. The amount of caffeine in each product or source varies but the average cup of coffee contains about 50-150mg of caffeine (Dietitians of Canada, 2016).

Some of the positive effects of this stimulant include increased alertness, increase in positive mood states, improved performance on sustained response tasks (Childs & de Wit, 2006)

Some of the negative effects of caffeine can include anxiety, uneasy, insomnia, and withdrawal symptoms. Following repeated use of caffeine, our bodies can react with withdrawal-like symptoms that can include headaches, irritability, nervousness, and lower energy levels. It should be noted that although withdrawal symptoms often indicate addictive properties, caffeine is not classified as an addictive drug (Institute of Medicine (US) Committee on Military Nutrition Research, 2001). Usually these symptoms occur if the user is ingesting a significantly higher than average amount of caffeine, for example if someone were to consistently have 4 cups of coffee per day.

In attempts to increase the accuracy of our experiment, we have chosen to perform it as a blind study. We would first measure a subject’s normal levels of the variables being used as inputs in the system to have a baseline level of function for the individual. We would measure this for two weeks (we believe this to be a sufficient time period to analyze the individual’s normal behavior). After the initial period of measurement is where the blindness to the study comes in. We would start the subject on a regular consumption schedule of pills. Some of the subjects will receive pills with caffeine, and other will receive a placebo, or sugar pill, instead. They would then regularly self-report their mood, alertness levels, reaction times, etc. and the system would then analyze these responses and perform its function.

Other substances may affect the results of our experiment, specifically other stimulants or depressants. Nicotine, for example, found in tobacco products is a mild central nervous system stimulant and stronger cardiovascular stimulant. (Lenoir et al., 2013). The presence of stimulants or depressants when attempting to test for the effects of caffeine would reduce the credibility of our results and there would be no way to tell the extent of the effects on our study. The third variable problem could arise.

Once enough information is gathered to make a hypothesis on the effects of caffeine on an individual, we could set parameters for our algorithm to be used by our machine learning function as a baseline. From this, we could give our method an error level, where we could tell whether it is improving or not. This would look like some fabricated clusters of data which give the algorithm an idea of where to start dosing the individuals. We would then take live data given received from our test subjects, and our system would learn from these data points to further the optimization of the program. This would also allow it to be individualized based on the physiological and cognitive reactions of each subject, their own sensitivity to caffeine, and all the other factors discussed above.

When enough data has been gathered, we would be able to pre-cluster participants based on the many different variables during their intake assessment and questionnaire. This would allow us to further baseline an individual's optimal cycle and would allow for a more individualized experience from the commencement of their involvement in the program. This is how the machine learning would aid our development of individualized programs. Then once the algorithm has been optimized, we would be able to change the variables, but we would still be able to use the same system for other drugs. This is why caffeine is such a useful model to use, it allows us to take a large sample size, and experiment using different amounts of caffeine with a wide variation of the population. Once the program has self-optimized, we can decide whether the specific type of machine learning which we selected was the best possible for the collection of data.

We must consider the definition of optimal caffeine use or optimal alertness level or even an optimized program. The use of caffeine will vary depending on an individual's current needs.

For example, in the program, as it is without the consideration of outside scheduling variables, optimizing caffeine means balancing optimization at different times in the day. The optimal amount of caffeine is that which facilitates the degree of activity which a person is interested in doing at the time, it fluctuates. For example, in the morning the optimum level caffeine will be higher than the optimum level of caffeine at noon, because caffeine’s half-life in humans has a maximum of 12 hours (Cappelletti, S. 2015); in order to be sufficiently ready for sleep, depending a person may want to limit caffeine consumption later in the day.

Defining something that is most conducive to a favourable outcome over time means optimizing the outcomes beyond the day to day. An overall healthy person with a good sleep schedule and healthy eating and exercise habits will be best aided by the addition of caffeine as a subsidiary motivator, not as a necessity. The optimization of caffeine/time might entail the subtraction of level of caffeine use, a resensitization, and then a cycling structure appropriate for the lifestyle a person has.

Fundamentally, there are three axes which the FCM fuzzy clustering algorithm must account for: Caffeine blood level concentration; Time; And physiological effects, both desired, as well as current. These two data points can be on the same axis because the optimization of this means the reduction of error (negative space) between these two points.

Many people believe that the transformation from information to knowledge, which is what we are looking for, comes on three levels. The first level, data, is raw facts about reality. For example, in a group of 100 people, 60 people might like ∂, whereas 40 people like ß. Data is this ratio. But there is no context to this, we are not yet aware what the variables symbolize. In order to transform this data into information; something which is important in any research project, we must add context. Let us say that ∂ means men who like yellow, and ß is men who like blue. Now we have information about our sample group. However, this information is still not actionable on, because it is missing the additional layer of meaning. When we add meaning, such as ‘this was a poll on which colour men are more likely to buy for a shirt’, and I am a shirt company, then I have actionable information; Knowledge. Now that I know that men like ∂, yellow shirts more, I am able to take the action of printing yellow shirts, knowing that they will sell better than if I had printed blue shirts.

Now by applying this transition layer model of decision making to our project, it becomes clear why machine learning is such a useful function to apply to this problem.

Measurement

  1. We will measure the efficacy of our algorithm's dosage schedule using physiological as well as psychological/subjective indicators
  2. These will be measured at different points of the program, for example directly after a subject has had caffeine, three hours after, eight hours after and twelve hours after. This scaling will help the results be more accurate because it is marking on contingency, or on past actions, not how a person is 'feeling' at the time, which can be hard to quantify
    1. Physiological
    2. Pupil dilation
    3. Heart Rate
    4. Reaction time when playing a game
    5. Amount of caffeine consumed
    6. Amount of sleep
    7. Amount of physical activity
    8. Level of hydration
  3. Psychological/Subjective indicators will be judged on experience instead of people ranking, this will help the machine learn in a structured way. Each answer will give the program a data point. It will monitor mood, alertness, sleepiness, productivity, energy, focus, dependancy indicators,
    1. Subjects will be asked to rank how likely they are to accomplish goals in the next half hour, hour three hours depending on what point in the cycling they are in
    2. Sample questions for subjective indicators:
      1. Are you more likely to: Take a nap; Go to the gym; Work for half an hour on your paper; spend an hour on social media; go for a walk
      2. In the past two hours have you: Been productive for half an hour; felt sleepy; wasted time on social media; procrastinated your work; felt distracted; felt unfocused; felt focused; felt jittery
      3. When you woke up this morning: were you sleepy still; did you hit snooze on your alarm more than twice; did you wake up on your own; did you feel ready for the day ahead; are you dreading the day ahead; did you feel well rested; did you feel a compulsion for a cup of coffee or tea
      4. When you went to bed last night: Did you spend more than an hour on an electronic device before trying to sleep; were you sleepy before bedtime; did you fall asleep in under half an hour; did you fall asleep in under 15 mins; did it take you more than two hours to go to sleep (no electronic use);

Ideally, our algorithm could be compiled in a user-friendly app where people could track their own physiological and psychological indicators. The algorithm will use the data points given to it by a subject to learn what dosage rates will be most effective for their wellbeing.

Algorithm

Criteria

  • The system must be able to be used on different drug dose problems instead of a single type.
  • The system must receive data from the user and interpret this data in order to optimize its output.
  • The system must use as little human manipulation as possible.

How the system works

  1. Review previous data on the effects of caffeine, give the system parameters
  2. Collect all data from our experiment.
  3. Categrize data in several clusters using FCM, each cluster represents a state which has a prototype data.
  4. Match data from subjects who have effective caffeine dose into sequences of states.
  5. Create a collection of state change patterns for effective drug dose using a PSA model, calculate the probability of each patterns' occurrence.
  6. Recommand a default caffeine dose for users based on the experiment. Since state change is based on time, a proper time to drink coffee is also recommended.
  7. Get new data from users after they drink coffee, match these data into a state sequence.
  8. Use likelihood ratio-based verification to check if the current caffeine dose is effective for the user. If not, increase or decrease the recommendation caffeine dose. Record this value and the corresponding state sequence for next recommendation.
  9. The system collects data related to alertness that users provide after they drink coffee, and upgrade the dataset by re-categorizing data and re-calculating the probability of state change patterns. Also may change the default caffeine dose and time.
  10. Each user may have a personal dataset. By repeating step 7 and 8 each time the user uses our app, a personalized caffeine dose recommendation is provided. And use the most often occurred state sequence in the user's dataset to recommend the proper time to drink coffee.

Machine Learning Options

  1. We looked at many different machine learning techniques to figure out which one would be the most useful to help us implement our system
  • Linear Regression: We did not choose this algorithm because it’s main use is to evaluate real values based on continuous variables. Our experiment does not have continuous variables
  • Logistic Regression: We did not choose this method of computation because this algorithm is meant to predict the probability of occurrence of an event using discrete values fitted into logic functions
  • Decision Tree: This method of computation involves having known outcomes to various different decisions and making choices based on which of the options is best. This would not work for our project because the outcomes (responses) of each individual are unknown.
  • K-Means: Although similar to the algorithm we chose in its use of clustering, we did not choose this algorithm because the FCM model is better at accounting for with extraneous data and outliers - which we expect to occur in our experiment at times due to its self-reporting nature

We chose this system because it fits our needs in that it has an advantage in dealing with extraneous data and experimental "noise". This attribute is helpful because we use our users' data to improve our recommendation strategy. But user's data maybe extreme and meaningless, therefore handle noise properly is an important feature we want.

FCM clustering technique

What is FCM

Fuzzy C-Means Clustering (FCM) is a technique to categorize data points into several clusters, each data point can belong to more than one cluster.

Advantage

FCM clustering technique has an advantage in dealing with noisy and incomplete data, which is common in typical drug delivery applications. FCM clustering technique is also good at categorizing images information like X-ray image, fMRI, MEG, EEG and etc, which is commonly used in modern medical technology.

Algorithm

Input

A set of observations .
In our program, represents heart rate, reaction time, and etc for a certain amount of caffeine dose.

Output

A list of cluster centers . represents the prototype data of the cluster . A matrix , where each element tells the degree to which element belongs to cluster .
In our project, is the number of alertness levels we want.

Step

The algorithm aims to minimize the function
(Li ,Y., Lenaghan S.C. and Zhang, M. 2012)
Where is a weighting exponent which determines the level of cluster fuzziness. A larger results in more dispersed clusters.
And (Li ,Y., Lenaghan S.C. and Zhang, M. 2012)
The centroid of a cluster is the mean of all points, weighted by their degree of belonging to the cluster:
(Li ,Y., Lenaghan S.C. and Zhang, M. 2012)
The objective fuction is minimized using an iteration method. The iteration stops when
(Li ,Y., Lenaghan S.C. and Zhang, M. 2012) where is termination criterion between 0 and 1, and is the iteration step.
will converge to a local minimum or a saddle point.

Effective caffeine dose State Sequence

The effective caffeine dose is the one that has obvious positive effects but no huge negative effects. From the experiment, we have obeservations from subjects drinking effective amount of coffee based on time, and category prototypes we got from the above algorithm . Then we use the formula below to find the closest match of to
if (Li ,Y., Lenaghan S.C. and Zhang, M. 2012) In this way, ovservation is categorized into cluster . Then we can get a sequence of states which is the state of

Result

The system will use the certain amount of caffeine which provides the most positive effects meanwhile has the least negative effects as the default amount of caffeine we recommend users take. We can rate positive effects as a positive number, and negative effects in a negative number. So this certain amount of caffeine is the one that maximizes the sum of these two numbers.
Then the system uses the most often occurred state sequence as the default state sequence. Since states in the sequence are listed based on time, the system can recommend a default time which will give the user's desired alertness at the desired time.

PSA model

What is PSA model

Probabilistic Suffix Automaton(PSA) is a method used to get a general pattern of strings by comparing the suffix of them.

Advantage

  1. Shows discrete states which are easy for human to interpret
  2. Able to deal with and sort out meaningless/extreme data, something very helpful for the accuracy of the system.

Algorithm

State change pattern and its probability

Input

The sequence of states we get from last algorithm.

Output

A collection of patterns shown in the state sequence with the probability they appear. For example, we have a state sequence {1, 2, 3, 1, 2, 3, 3, 2, 1}, then the possible states of this sequence is "Start", "1", "2", "3", "1_2", "2_3", "3_1", "3_2", "3_3". The diagram on the right shows the possible states and the probability of state change patterns.

Step

Step for PSA

First we need to know, the probability of observed right after is defined by
(Li ,Y., Lenaghan S.C. and Zhang, M. 2012)
Where is the frequency of pattern in And we also have a collection of state change patterns occurred in previous state sequences. It doesn't matter whether the collection is empty or not. The followings are concrete steps.
The algorithm starts with the first state of the sequence, and finds if there is such a state in the collection. If there is no such a state, then create a new state in the collection. Otherwise, the algorithm appends the next state to the first state, and checks if there is such a pattern in the collection. The algorithm will keep appending the next state if this certain pattern exists in the collection, then adjust the probability of state pattern changes in the collection. If the certain pattern doesn't exist, remove the first state of the pattern one by one until the remaining pattern exits in the collection. Then add its previous state to the remaining pattern, and create this pattern in the collection and adjust its probability of occurrence. In the worst case, there will be only one state left, which is still not in the collection. Then create this new state in the collection. Then the algorithm starts from the first state again to repeat previous steps. A diagram showing the procedure of the algorithm is shown on the right.

Likelihood Ratio-Based Verification

what is likelihood ratio-based verification

Likelihood ratio-based verification is a method to check the if the drug delivery is effective by calculating the probability of the given state sequence matching the effective state sequence.

Input

A series of data collected overtime provided by the user <mathS'=\left \{ s'_{1}, s'_{2},...,s'_{n} \right \}</math>. The collection we get from the PSA method.

Output

The answer about whether the drug delivery is effective or not.

Step

We have two hypotheses. First one is is S' is effective drug delivery, while the other one is is S' is not effective drug delivery.. The Likelihood of whether it is effective or not is calculated by
Accept if (Li ,Y., Lenaghan S.C. and Zhang, M. 2012)
Accept if (Li ,Y., Lenaghan S.C. and Zhang, M. 2012)
Where and is the probability of state patterns are in the collection or not. is a threshold, the larger is, the more strict the rule is.

Result

Based on the output, we can adjust the amount of caffeine dose accordingly for the user. For example, if in our system, the effective caffeine dose should give a state sequence something like . Whereas the data provided by the user gives a state sequence . By calculating the probability, the system knows this is not an effective dose for this user. And the system uses the highest state of the user's sequence minus the highest state of the default sequence. If it's positive, then decrease the dose. If it's negative, then increase the dose. After several times, the user will get a personalized caffeine dose recommendation.

Conclusion

In conclusion, our aim with this project would be to find a machine learning algorithm which works best for finding an optimized dosage schedule for caffeine. Although we have proposed a system which uses FCM, PSA and likelihood ratio-based verification algorithm to analyze data and find out a personalized coffee drink plan, we would analyze many different options once we had collected concrete data from our initial users.

We believe that machine learning will be the most effective way to systemize drug dosage systems. Using the dynamic systems approach, it is easy to see the different SOB attractor states which we naturally fluctuate in and out of every day. The algorithm would suggest a course of action which would lead us to the desired SOB and help us sustain our time there. Once we collect real data, we will reevaluate our algorithm to see if there are any better options.

Our ultimate goal for this project is to create a program which facilitates user decision making for their dosage rates. It will take user data, and move it up the decision-making model so that our users themselves will be able to make the best-informed decisions about their caffeine consumption, and we believe that our machine learning algorithm is the best way to do it.

Resources

  • Boulenger, J. Patel, R.M. Post, A.M. Parma, P.J. Marangos (1983) Chronic caffeine consumption increases the number of brain adenosine receptors Life Sci, 32, pp. 1135-1142
  • Budney, A.J., Brown P.C., Griffiths, R.R., Hughes, J.R., Juliano, L.M. (2013) Caffeine Withdrawal and Dependence: A Convenience Survey Among Addiction Professionals. PubMed, 3(2):67-71. 10.1089/jcr.2013.0005
  • Cappelletti, S., Daria, P., Sani, G., & Aromatario, M. (2015). Caffeine: Cognitive and Physical Performance Enhancer or Psychoactive Drug? Current Neuropharmacology, 13(1), 71–88. http://doi.org/10.2174/1570159X13666141210215655
  • Childs, E., De Wit, H. “Subjective, behavioural, and physiological effects of acute caffeine in light, nondependent caffeine users.” Psychopharmacology, vol. 185, no. 4, 16 Mar. 2006, pp. 514–523., doi:10.1007/s00213-006-0341-3.
  • R. Colton, R.E. Gosselin, R.P. Smith (1968) The tolerance of coffee drinkers to caffeine Clinical Pharmacology Ther, 9, pp. 31-39
  • Eikelboom, R., & Stewart, J. (1982). Conditioning of drug-induced physiological responses. Psychological Review, 89(5), 507-528. http://dx.doi.org/10.1037/0033-295X.89.5.507
  • Strain, E., Mumford, G., Silverman, K. Griffiths, R. (1994) Caffeine Dependence Syndrome Evidence From Case Histories and Experimental Evaluations. JAMA. 1994;272(13):1043–1048. doi:10.1001/jama.1994.03520130081037
  • “Food Sources of Caffeine.” Dietitians of Canada, 17 Oct. 2016, www.dietitians.ca/Your-Health/Nutrition-A-Z/Caffeine/Food-Sources-of-Caffeine.aspx.
  • Holtzman S.G., (1990) Caffeine as a model drug of abuse. Trends Pharmacol Sci 11:355–356.
  • Institute of Medicine (US) Committee on Military Nutrition Research. Caffeine for the Sustainment of Mental Task Performance: Formulations for Military Operations. Washington (DC): National Academies Press (US); 2001. 2, Pharmacology of Caffeine, https://www.ncbi.nlm.nih.gov/books/NBK223808/
  • Kuznicki, J., Turner, L. (1986). The effects of caffeine on caffeine users and non-users, Physiology & Behavior, Volume 37, Issue 3, Pages 397-408. https://doi.org/10.1016/0031-9384(86)90197-6
  • Lenoir, M. “Rapid Sensitization of Physiological, Neuronal, and Locomotor Effects of Nicotine: Critical Role of Peripheral Drug Actions.” Journal of Neuroscience, vol. 33, no. 24, 12 June 2013, pp. 9937–9949., doi:10.1523/jneurosci.4940-12.2013.
  • Li, Y., Lenaghan S.C. and Zhang, M. (2012, February 23) A Data-Driven Predictive Approach for Drug Delivery Using Machine Learning Techniques. Plus one. [http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0031724
  • Smith, A. “Effects of caffeine on human behaviour.” Food and Chemical Toxicology, Pergamon, 25 Aug. 2002, www.sciencedirect.com/science/article/pii/S0278691502000960.