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

Jak podejść do zadania zw. z machine learning?

+1 głos
244 wizyt
pytanie zadane 10 grudnia 2018 w Inne języki przez smokolisz Mądrala (6,370 p.)

Cześć mam do zrobienia projekt związany z machine learning wykorzystując perceptron.

Mam 10000 zbiorów liczb składających się z 6 elementów np {1, 3, 8, 11, 24, 25}. Każda liczba oznacza położenie czarnego pikselu na obrazku 7x7 pikselów. Następnie dla każdego zbioru potrzebuje sprawdzić ile z tych liczb jest parzystych, a ile nieparzystych. Kolejną cechą jest zagęszczenie czarnych pikselów na obrazku.

  1. Czy znacie może jakiś fajny działający przykład czegoś podobnego?
  2. Mam doświadczenie w językach c++, js, php, czy one nadają się do tego zadania? Czy lepiej wdrożyć się w coś innego? Słyszałem, że dobrym językiem do tego będzie python. Czy ma on rzeczywiście takie narzędzia, dzięki którym szybko udałoby mi się napisać odpowiedni program?
  3. Na co zwracać uwage podczas szukania informacji potrzebnych do rozwiązania problemu? Polecicie jakieś poradniki, źródła związane z tym tematem?
  4. Jakie narzędzie/bibliotekę polecicie do wygenerowania wielu obrazków w js?

1 odpowiedź

+1 głos
odpowiedź 10 grudnia 2018 przez Benek Szeryf (87,090 p.)
wybrane 12 marca 2019 przez smokolisz
 
Najlepsza
  1. Tak, patrz listing na końcu tego postu.
  2. Nie nadają się aż tak dobrze jak Python. Python ma wiele narzędzi, które umożliwiają w błyskawiczny sposób rozwiązywać takie problemy (patrz listing).
  3. Na początek należy zapoznać się z biblioteką Numpy, nawet jeśli mówimy o deep learningu. Warto też zapoznać się biblioteką Scikit-learn.
  4. Nie znam JS. Nie widzę sensu generowania obrazków za pomocą JS, skoro można to również zrobić łatwo za pomocą Pythona. Wykorzystałbym bibliotekę Matplotlib do produkcji obrazków. Mogę Ci z tym pomóc, jeśli będziesz chciał.
import numpy as np

n, m = 10000, 6
data = np.random.randint(low=1, high=m**2, size=(n,m), dtype=int) # wygenerowanie danych
is_odd = lambda x: x & 0b1
seq = map(is_odd, data.flatten())
odd_even_array = np.reshape(np.fromiter(seq, int), (-1, m))

for row in odd_even_array:
    s = row.sum()
    print(s, m - s)

s wskazuje ile jest liczb nieparzystych w danym zbiorze, natomiast m - s ile jest liczb parzystych. data zawiera macierz, która ma 10 000 wierszy i 6 kolumn. Każdy wiersz został wypełniony losowymi wartościami całkowitymi z przedziału <1, 36>. Pobierz sobie IPythona, uruchom go i wklej ten kod w konsolę (dograj moduł numpy, jeśli nie masz). W ten sposób możesz poeksperymentować.

komentarz 10 grudnia 2018 przez smokolisz Mądrala (6,370 p.)
Dzięki wielkie :)

Podobne pytania

+1 głos
3 odpowiedzi 362 wizyt
+1 głos
2 odpowiedzi 1,439 wizyt
+2 głosów
3 odpowiedzi 254 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

85,082 zapytań

133,883 odpowiedzi

296,817 komentarzy

56,216 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...