commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-1267) Grid coordinate of "Neuron" that belongs to a "NeuronSquareMesh2D"
Date Wed, 09 Sep 2015 10:55:45 GMT

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

Gilles commented on MATH-1267:
------------------------------

Referring to the nested, nested, nested comment :)
I think that we don't exactly speak about the same "concepts".  "Visual" doesn't directly
relate to any sort of GUI meant to interact with or display the Java data structure representing
an ANN.  It just happen that a (Kohonen) 2D map is an often used layout because it is straightforward
to _see_ some of its properties.
I wanted to keep {{NeuronSquareMesh2D}} separate from the ANN-related classes because it is
really not tied to the ANN concept; it is "only" a helper class to make it easy to implement
the code that computes some of the properties of a network that would happen to be a 2D-map.

The training, for example, is totally indepent of the network layout (it should only relate
to the "links" between {{Neuron}} instances).

There is _nothing_ "visual" in a {{Neuron}} and that it may belong to 2D-map is irrelevant.

Also, as you pointed out, a 2D-map could have another layout (e.g. hexagonal), and the (row,
column) would not provide a satisfactory "coordinate system"...  And even more so with a non-uniform
density of neurons.
So {{NeuronSquareMesh2D}} is limited to square-neighbourhood 2D maps of uniform density. 
(Rather than build on it, it might be interesting to implement alternate layouts for 2D maps.
 Or perhaps 3D-maps...  Or maybe that looking at how to implement an adaptive 2D-map.)

bq. Once the Network is ready, it could be dropped into a NeuronSquareMesh2D constructor.


The neurons and links between them are managed in the {{Network}} class; hence it's possible
to create any kind of network topologies (having nothing to do with a 2D-plane layout). "Dropping"
such a network would be inconsistent with the assumptions of {{NeuronSquareMesh2D}}.
Currently, {{NeuronSquareMesh2D}} builds a {{Network}} that locally has a plane structure
(by construction).


> 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)

Mime
View raw message