• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Predykcja odległości pomiędzy dwoma punktami w układzie współrzędnych

Object Storage Arubacloud
0 głosów
397 wizyt
pytanie zadane 23 listopada 2020 w Python przez En1CeKa Nowicjusz (190 p.)
Potrzebuję pomocy w stworzeniu odpowiedniego modelu do predykcji odległości w bibliotece TensorFlow.

Załóżmy że mamy 2 punkty w układzie współrzędnych:

(x1,y1)

(x2,y2)

Łatwo możemy policzyć odległość ze wzoru:

math.sqrt(pow(x1-x2,2)+pow(y1-y2,2)).

Natomiast chce stworzyć model, który na podstawie wielu przykładów ze współrzędnymi i odległościami będzie w stanie dokonać predykcji dla punktów wcześniej mu nieznanych.

Nie wiem jak poprawnie zbudować taki model, pierwsza warstwa przyjmuje matrix (2,2) jako input, natomiast nie wiem jak ma wyglądać ostatnia warstwa, czy ma to być tylko jeden neuron jako wartość liczbowa czy wiele neuronów.

Nigdy nie budowałem modelu z jednym neuronem na końcu, także nie wiem czy jest to w ogóle możliwe żeby sieć zwracała nam konkretną wartość. Zawsze w warstwie końcowej miałem tyle neuronów ile klas decyzyjnych, natomiast jeśli chodzi o odległość to klas decyzyjnych może być nieskończenie wiele, dlatego nie wiem jak rozwiązać ten problem.

Bardzo proszę o pomoc kogoś kto wie jak taki model mógłby wyglądać.

Pozdrawiam.

1 odpowiedź

+1 głos
odpowiedź 23 listopada 2020 przez Nelson89 Dyskutant (7,720 p.)
wybrane 23 listopada 2020 przez En1CeKa
 
Najlepsza

Cześć,

do Twojego zadania, Twój model powinien mieć na wejściu wektor (1 x 4), a nie macierz (2 x 2).  Czyli Twoje dane powinny trafić do modelu w postaci [x1, y1, x2, y2]. Możesz pójść o krok dalej i wycentrować dane tak, żeby x1, y1 były w centrum osi współrzędnych (x1=0, y1=0). Wtedy na wejściu model będzie mieć dwa neurony (1 x 2).

A jeżeli chodzi o budowanie modelu z jednym wyjściem, to nie ma problemu. Do tego musisz wybrać odpowiednią funkcję straty i odpowiedni wskaźnik jakości dla metody optymalizacji. Jako, że model ma przewidywać jakieś wartości, to oznacza, że będzie wykonywać zadanie regresji. Tutaj masz listę dostępnych wskaźniki jakości dla Keras/TF, a tutaj funkcje straty.

Jeżeli chodzi o Tensorflow - jest to dobra biblioteka ale trochę skomplikowana. Jeżeli chcesz sobie życie ułatwić spróbuj użyć nakładki (zwane wysokopoziomowym API) na Tensorflow, która nazywa się Keras. Dzięki temu budowanie i trenowanie modeli będzie łatwiejsze. Jeśli używasz Tensorflow w wersji wyższej niż 2.0, to Keras jest wbudowany już w Tensorflow. W niższych wersjach też jest moduł Keras ale to nie jest to samo i trzeba osobno zainstalować Keras'a. Ten moduł znajdziesz w: Tensorflow.keras.

Pozdrawiam,

Nelson

 

 

komentarz 23 listopada 2020 przez En1CeKa Nowicjusz (190 p.)

Dziękuje Ci za odpowiedź, bardzo mi pomogłeś. Nie wiem czy zastosuje pomysł o sprowadzeniu pierwszego punktu do środka układu współrzędnych bo mogło by to kolidować z dalszą częścią mojego projektu, ale nawet bez tego już dobrze sieć działa.

0.0 [0.06774564]
1.0 [1.0028919]
2.0 [1.9848628]
3.0 [3.0138786]
4.0 [4.008499]
5.0 [4.965348]
6.0 [5.9982166]
7.0 [6.996971]
8.0 [7.9975414]
9.0 [8.971885]

I tak korzystam z kerasa :D

Pozdrawiam.

Podobne pytania

0 głosów
1 odpowiedź 489 wizyt
pytanie zadane 25 marca 2020 w PHP przez bulgotnik86 Gaduła (3,040 p.)
0 głosów
0 odpowiedzi 94 wizyt
0 głosów
0 odpowiedzi 168 wizyt
pytanie zadane 18 maja 2021 w Python przez Patryk01 Obywatel (1,270 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...