Difference between revisions of "User:Francis Tyers/Perceptron"
(4 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
<math> |
<math> |
||
h_{\mathrm{estacio'}}(t,c) = \begin{cases}1 & \text{if } t~ =~ season ~ \mathrm{and}~ sec~ \mathrm{follows}~ estacio'~ \\0 & \text{otherwise}\end{cases} |
|||
</math> |
</math> |
||
== |
==Training algorithm== |
||
The objective of the training algorithm is to find the most adequate set of weights, <math>w</math> and a threshold <math>\theta</math>. |
|||
<div style="padding: 1em;border: 1px dashed #2f6fab;color: black;background-color: #f9f9f9;line-height: 1.1em"> |
|||
<source lang="python"> |
|||
def decision(input, weights, threshold): #{ |
|||
#} |
|||
# Initialise weights and threshold. |
|||
weights = [0.0, 0.0]; |
|||
threshold = 0.0; |
|||
errors = 0; |
|||
while True: #{ |
|||
# If there are no errors, training has converged. |
|||
if errors == 0: #{ |
|||
break; |
|||
#} |
|||
#} |
|||
</source> |
|||
</div> |
|||
==Example== |
==Example== |
Latest revision as of 10:51, 9 November 2014
A perceptron is a classifier that
The classifier consists of:
- An input vector,
- A weight vector,
- Threshold,
The input vector is made up of binary features, such as:
Training algorithm[edit]
The objective of the training algorithm is to find the most adequate set of weights, and a threshold .
def decision(input, weights, threshold): #{
#}
# Initialise weights and threshold.
weights = [0.0, 0.0];
threshold = 0.0;
errors = 0;
while True: #{
# If there are no errors, training has converged.
if errors == 0: #{
break;
#}
#}
Example[edit]
Here is a worked example of a perceptron applied to the task of lexical selection. Lexical selection is the task of choosing a target translation for a given source word in a context out of a set of possible translations . A perceptron makes a classification decision for a single class, so we need to train a separate perceptron for each possible target word selection.
In the example,
- = estació
- = {season, station}
- = season
Features[edit]
The features we will be working with are ngram contexts around the "problem word". These can be extracted from the word alignments calculated from a parallel corpus.
Catalan | English |
---|---|
Durant l' estació seca les pluges són escasses. | During the dry season it rains infrequently. |
L' estiu és una estació de l' any. | Summer of one of the seasons of the year. |
Barcelona-Sants és una estació de tren a Barcelona. | Barcelona-Sants is a train station in Barcelona. |
... |
Training data[edit]
- s = estació, t* = season
_ sec |
1 |
_ de el any |
1 |
_ de tren |
0 |
_ de el línia |
0 |
_ humit |
1 |
_ plujós |
1 |
un _ a |
0 |
Feature vector[edit]
This is the above training data expressed as an input vector to the perceptron.
_ sec | _ de el any | _ de tren | _ de la línia | _ humit | _ plujós | un _ a | ||
---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Weight vector[edit]
_ sec | _ de el any | _ de tren | _ de la línia | _ humit | _ plujós | un _ a |
0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |