Learn R Programming

edl (version 1.1)

RWlearningMatrix: Function implementing the Rescorla-Wagner learning.

Description

Function implementing the Rescorla-Wagner learning.

Usage

RWlearningMatrix(
  data,
  wm = NULL,
  alpha = 0.1,
  lambda = 1,
  beta1 = 0.1,
  beta2 = 0.1,
  progress = TRUE,
  ...
)

Arguments

data

A data frame with columns Cues and Outcomes.

wm

A weightmatrix of class matrix, or a list with weight matrices. If not provided a new weightmatrix is returned. Note that the cues and outcomes do not necessarily need to be available as cues and outcomes in the weightmatrix: if not present, they will be added.

alpha

Learning parameter (scaling both positive and negative evidence adjustments), typically set to 0.1.

lambda

Constant constraining the connection strength.

beta1

Learning parameter for positive evidence, typically set to 0.1.

beta2

Learning parameter for negative evidence, typically set to 0.1.

progress

Logical: whether or not showing a progress bar (may slow down the process).

...

Parameters for the function getValues.

Value

A weightmatrix.

See Also

RescorlaWagner, updateWeights

Examples

Run this code
# NOT RUN {
# load example data:
data(dat)

# add obligatory columns Cues, Outcomes, and Frequency:
dat$Cues <- paste("BG", dat$Shape, dat$Color, sep="_")
dat$Outcomes <- dat$Category
dat$Frequency <- dat$Frequency1
head(dat)
dim(dat)

# now use createTrainingData to sample from the specified frequencies: 
train <- createTrainingData(dat)

# this training data can actually be used train network:
wm1 <- RWlearningMatrix(train)
# comparison with a list:
wm2 <- RWlearning(train)
length(wm2)
getWM(wm2)

# in R markdown or knitr reports the progress bar should be turned off:
wm <- RWlearningMatrix(train, progress=FALSE)

# Learning in steps is also possible:
wm <- RWlearningMatrix(train[1:20,])

train[21,c("Cues", "Outcomes")]
wm <- RWlearningMatrix(train[21,], wm=wm)

# }

Run the code above in your browser using DataLab