[ 
https://issues.apache.org/jira/browse/MATH-1267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14734212#comment-14734212
 ] 

Ole Ersoy edited comment on MATH-1267 at 9/8/15 4:19 AM:
---------------------------------------------------------

I love the concept of the adaptive training procedure.

The Neuron2D would server a `visual` adapter over the Neuron.  All of the 
'visual stuff' (row, column, etc.) goes on the adapter.  If there are 
additional properties that would be interesting to display the Neuron2D adapter 
would house those methods, and if the things come from the Neuron, Neuron2D 
serves as a bridge between the 'widget' displaying the graph and the Neuron.

So we have the computational classes:
- Network
- Neuron

And the corresponding visual classes:
- NeuronSquareMesh2D
- Neuron2D

Once the Network is ready, it could be dropped into a NeuronSquareMesh2D 
constructor.  The constructor wraps all the Neuron instances in Neuron2D 
instances, and sets the row and column of each Neuron2d instance, while at the 
same time checking to make sure that the Network id's are valid / unique (As is 
done in the LocationFinder).

Finding a location would work like this:
Neuron2D n2d = NeuronSquareMesh2D.find(id);
n2d.getRow()
n2d.getColumn()
n2d.getWhateverOtherVisualInformationThatMightBeInterestingPossiblyDelegatingToTheContainedNeuron()

The adapter could also observe the Neuron for changes and communicate these to 
the graph, in case someone wants to do something interactive.



was (Author: ole):
I love the concept of the adaptive training procedure.

The Neuron2D would server a `visual` adapter over the Neuron.  All of the 
'visual stuff' (row, column, etc.) goes on the adapter.  If there are 
additional properties that would be interesting to display the Neuron2D adapter 
would house those methods, and if the things come from the Neuron, Neuron2D 
serves as a bridge between the 'widget' displaying the graph and the Neuron.

So we have the computational classes:
- Network
- Neuron

And the corresponding visual classes:
- NeuronSquareMesh2D
- Neuron2D

So for example once the Network is ready, it could be dropped into a 
NeuronSquareMesh2D constructor.  The constructor wraps all the Neuron instances 
in Neuron2D instances, and sets the row and column of each Neuron2d instance, 
while at the same time checking to make sure that the Network id's are valid / 
unique (As is done in the LocationFinder).

Finding a location would work like this:
Neuron2D n2d = NeuronSquareMesh2D.find(id);
n2d.getRow()
n2d.getColumn()
n2d.getWhateverOtherVisualInformationThatMightBeInterestingPossiblyDelegatingToTheContainedNeuron()

The adapter could also observe the Neuron for changes and communicate these to 
the graph, in case someone wants to do something interactive.


> Grid coordinate of "Neuron" that belongs to a "NeuronSquareMesh2D"
> ------------------------------------------------------------------
>
>                 Key: MATH-1267
>                 URL: https://issues.apache.org/jira/browse/MATH-1267
>             Project: Commons Math
>          Issue Type: Wish
>            Reporter: Gilles
>            Assignee: Gilles
>            Priority: Minor
>             Fix For: 4.0, 3.6
>
>         Attachments: LocationFinder.java
>
>
> When the network layout is a 2D grid, it useful to be able to retrieve the 
> grid coordinate (row, column) of a a neuron.
> I propose to define a new class "LocationFinder" (in package 
> "o.a.c.m.ml.neuralnet.twod.util") that will provide the functionality through 
> a "getLocation(Neuron n)" method.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to