GlobalMatchingModels.MINERVA
— TypeMINERVA(;L=.8, s=.9, N=10, S=20, h=.8, c=0)
Model object for the MINERVA model model.
Parameters
L
: learning rate or encoding accuracy probabilitymemory
: a matrix containing memory traces where each row corresponds to a tracen_features
: the number of features per tracen_traces
: the number of traces in modelc
: decision criteria
References
Hintzman, D. L. (1988). Judgments of frequency and recognition model in a multiple-trace model model. Psychological Review, 95(4), 528.
GlobalMatchingModels.REM
— TypeREM(;memory, u=.9, c=.6, g=.4, n_steps=1)
A REM model object containing a memory array and parameters.
Arguments
memory::AbstractArray
: An array of item representations.u::Float64
: Probability (between 0 and 1) that a given feature of an item is copied into LTM.c::Float64
: Probability (between 0 and 1) that a given feature of an item is copied correctly into LTM. 1 - c probability of a feature being converted to a different integer sampled from geometric distribution.g::Float64
: Probability of sample integers from a geometric distribution.n_steps::Int64
: The number of timesteps, i.e. number of times an item is studied.
References
Shiffrin, R. M., & Steyvers, M. (1997). A model for recognition memory: REM—Retrieving Effectively From Memory. Psychonomic Bulletin & Review, 4(2), 145-166.
- Authors *
@author taylor "dot" curley@gatech.edu (tmc2737) @date 06/17/2021 @coauthor itsdfish @date 06/18/2021
GlobalMatchingModels.compute_activation
— Methodcompute_activation(M, p)
Computes activation value for each trace in matrix M
for a given probe p
.
M
: a matrix in which rows represent memory traces and columns represent feature valuesp
: a vector of feature values representing a memory probe
GlobalMatchingModels.compute_activations
— Methodcompute_activations(model::REM, probe)
Computes activations for each trace in memory given a memory probe. Activation estimates based on Equations 3 and 4 from original paper. The final product of the calculations is a probability ratio of the probe activating an old item vs. a new item. The example provided is from Figure 1 of the paper.
Arguments
model::REM
: an REM model object containing memory array and parametersprobe::AbstractArray
: A vector of numbers representing the memory probe.memory::AbstractArray
: A vector of numbers representing an item in memory.
Output
::Float64
: Float value representing the estimated odds ratio.
Example
julia> probe = [6,1,1,3];
julia> memory = [0 2; 1 2; 0 1; 3 0];
julia> model = REM(;memory, g=.40, c=.70)
julia> compute_activations(model, probe)
2-element Vector{Float64}:
10.580277777777777
0.18450000000000003
GlobalMatchingModels.compute_intensity
— Methodcompute_intensity(model::MINERVA, probe)
Computes echo intensity using a given memory probe
.
model
:MINERVA
model objectprobe
: a vector of feature values representing a memory probe
GlobalMatchingModels.compute_odds
— Methodcompute_odds(activations)
Given a set of activations, what are the odds that the probe is old vs. new? An OR > 1 –> old item. The odds are computed simply as a mean across activation values.
Arguments
activations::AbstractArray
: A vector of activations.
Output
::Float64
: Float value representing the odds of old vs. new.
Example
julia> activations = [10.58,0.18];
julia> compute_odds(activations)
5.38
GlobalMatchingModels.compute_prob
— Methodcompute_prob(activations)
Given a set of activations, what is the probability that the probe is old vs. new? An prob > .5 –> old item. The probability is based on the odds, which is the mean across activations.
Arguments
activations::AbstractArray
: A vector of activations.
Output
::Float64
: Float value representing the odds of old vs. new.
Example
julia> activations = [10.58,0.18];
julia> compute_odds(activations)
5.38
GlobalMatchingModels.compute_similarity
— Methodcompute_activation(M, p)
Computes simularity between memory traces in matrix M
and memory probe p
using the dot product.
M
: a matrix in which rows represent memory traces and columns represent feature valuesp
: a vector of feature values representing a memory probe
GlobalMatchingModels.encode!
— Methodencode!(model, stimuli)
Encodes a matrix of stimuli with accuracy governed by parameter L
model
:MINERVA
model objectstimuli
: a matrix in which rows represent stimuli and columns represent features
GlobalMatchingModels.encode!
— Methodencode!(model::REM, stimuli)
Encodes a degraded copy of stimuli into memory.
Arguments
memory::AbstractArray
: A vector or matrix of item representations.u::Float64
: Probability (between 0 and 1) that a given feature of an item is copied into LTM.c::Float64
: Probability (between 0 and 1) that a given feature of an item is copied correctly into LTM. 1 - c probability of a feature being converted to a different integer sampled from geometric distribution.g::Float64
: Probability of sample integers from a geometric distribution.n_steps::Int64
: The number of timesteps, i.e. number of times an item is studied.
Output
encode!::AbstractArray
: an array of imperfect copy of items.
Example
julia> model = REM(;memory=fill(0, 4, 4), g=.40, c=.70)
julia> stimuli = generate_stimuli(.3, 4, 4)
julia> encode!(model, stimuli)
4×4 Matrix{Int64}:
0 0 4 3
1 1 0 15
4 0 0 1
0 0 0 0
GlobalMatchingModels.generate_stimuli
— Methodgenerate_stimuli(g, w, n)
Generates a matrix containing individual vectors of feature values corresponding to different items. Rows correspond to feature values and columns correspond to memory traces or "images".
Arguments
g::Float64
: Controls the probability of sampling integers from a geometric distribution (between 0 and 1). A higher g value represents common words (with common features) and lower g values represent words with less common words (with uncommon features).w::Int64
: The number of non-zero values in a given item vector.n::Int64
: The number of items in a study/test list.
Output
outMat::AbstractArray
: An w x n matrix of separate item vectors.
Example
julia> generate_stimuli(0.4, 4, 4)
4×4 Array{Float64,2}:
6.0 1.0 0.0 1.0
0.0 6.0 2.0 1.0
0.0 0.0 1.0 0.0
0.0 0.0 3.0 0.0
GlobalMatchingModels.random_stimulus
— Methodrandom_stimulus(model::MINERVA, n)
Generates n
random stimuli with a specified number of features in model object. Returns a n
by n_features
matrix.
GlobalMatchingModels.random_stimulus
— Methodrandom_stimulus(model::MINERVA)
Generates random stimulus with a specified number of features in the model
object.