# Problem

When train my linear chain CRF with annotated observations, I feed it with a number of sequences containing observation values and a "ground-truth" label for each observation. I'm currently using the hCRF Matlab interface. (see 1)

In my case I have 4 continuous observation values (some in the interval [-1,1], some around [140, 200]; none outside [-10, 250] though). The label is an integer between 1 and 17, giving a total of 17 possible labels.

# Question

After training, my model consists of 17*17 = 289 edge weights and 17*4 = 68 window weights. Can I understand the edge weights as some sort of probabilities for state transitions (even though they are not actual probabilities in the range [0,1])? And what exactly do the edge weights tell me?

# Reference

For reference, the CRF produces conditional probabilities of the form

$$p(y|x) = \frac{1}{Z(x)} \exp{ \left\{ \sum_{k=1}^{K} \lambda_k f_k(y, x) \right\}}$$

where to my understanding, the $\lambda_k$ are my edge weights and the $Z(x)$ are the window weights I get.

I read some tutorials about CRFs but I still do not quite understand, how the feature functions $f_k(y, x)$ are looking if I simply put in sequences of 4 tuples (the 4 observation values).

Thanks in advance for any pointers.