Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- protected void epoch() {
- for (Point point : points) {
- Map<Integer, Double> neuronIdWithDistanceMap = new HashMap<>();
- double distance;
- for (int i = 0; i < neurons.size(); i++) {
- distance = point.calculateDistance(neurons.get(i));
- neuronIdWithDistanceMap.put(i, distance);
- }
- List<Integer> sortedNeuronsId = neuronIdWithDistanceMap.entrySet().stream()
- .sorted((Map.Entry.comparingByValue()))
- .map(Map.Entry::getKey)
- .collect(Collectors.toList());
- int neuronOrder = 1;
- for (Integer neuronId : sortedNeuronsId) {
- neurons.get(neuronId).moveCloser(point, 0.01 / Math.pow(neuronOrder, 3));
- neuronOrder++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement