Devblog o sztucznej inteligencji

1

Witam. Chciałbym zaprosić was na mój devblog poświęcony sztucznej inteligencji oraz programowaniu w języku python i nie tylko. Na razie jest kilka artykułów, lecz będę stronę sukcesywnie rozbudowywać. Zapraszam do odwiedzania, komentowania oraz dodawania propozycji na kolejne artykuły. Mam nadzieję, że razem zapełnimy niszę sztucznej inteligencji w Polsce.

http://jakubniwa.pl

0

Errors found while checking this document as XHTML 1.0 Transitional!
Result: 44 Errors, 12 warning(s)

Uuuuu....

0

Będę musiał nad tym popracować co prawda :)

0
sjnhg napisał(a)

Errors found while checking this document as XHTML 1.0 Transitional!
Result: 44 Errors, 12 warning(s)

Uuuuu....

A jakie to ma w ogóle znaczenie? Ten walidator jest w ogóle zgodny ze standardem?

0

Odczuwałem pewne dziwności więc podglądnąłem w kilku przeglądarkach i były różności, co prawda drobne ale wciąż widoczne. Dlatego sprawdziłem. A co do validatora to użyłem tego co jest pierwszy w Google od lat ;)

Jakoś tak lubię gdy stronki o tematyce informatycznej mrugają do mnie zielonym validatorkiem ;)

0

ale tam nic oprócz reklam i FB nie ma... Totalna porażka

0

google.com:

Errors found while checking this document as HTML5!
35 Errors, 3 warning(s)

Niestety, mało kto się przejmuje validatorami :(

0

Porażka. Co to ma znaczyć, że w dziale "obrazy" czy jakoś tak jest JEDEN link a nad nim i pod nim wyj*** w kosmos reklamy ? Fakt, poza reklamami i FB nic tam nie, ma ale jak napiszesz coś jeszcze i wywalisz reklamy to będzie może fajnie. Tak czy siak mimo, że u mnie z kolorami cienko to moim zdaniem kolorystyka jest świetna, miła i "relaksująca" dla oka, jednak może to być subiektywne odczucie.

0

Dziękuję za wszystkie opinie.
Z reklamami jest porażka, fakt - bo na wszystkich stronach zmieniłem z googla na adkontekst, a tam nie ma cienkich z linkami.
W najbliższym czasie to naprawię. Będę starać się w miarę często dodawać artykuły. Dział obrazy zostanie zastąpiony "Źródłami". Miał służyć troszeczkę inaczej.

Aktualnie (mam nadzieję że dzisiaj skończę) piszę artykuł, który pokazuje swojego rodzaju ewolucje HC[hill climbing]->SHC[settled hill climbing]->SA[simulated annealing] dla problemów dyskretnych.

Jeszcze raz dziękuję za wszystkie opinie, na pewno w pozytywnym stopniu wpłyną na rozwój "stronki".
Jakub Niwa

0

Pytanie po co w ogóle reklamy ? Ta strona się rodzi a reklamy to owijająca się wokół szyi pępowina ...

0

Witam.
Od ostatniego czasu na stronie pojawiło się trochę nowych treści m.in.:

  • artykuł o SVM
  • opis działania strategi ewolucyjnych
  • wizualizacja działania perceptronu z wykozystaniem PyQt4 oraz portowaniem canvansa matplotliba(żeby nie było za łatwo)
  • Opisanie algorytmu gazu neuronowego
    W dziale z filmami:
  • wizualizacja działania perceptronu
  • animacja działania metaheurystyki niedawno przeze mnie opracowanej (możliwe, że nie ktoś wcześniej to badał, lecz nie mogę znaleźć tego w literaturze)
  • wizualizacja "autka" sterowanego logiką rozmytą
  • wizualizacja symulacji fizycznych (matplotlib + scipy)
  • seria filmów ukazujących ewolucję projektu (dla rozrywki) traktującego o uczeniu sieci neuronowych za pomocą mojej nowej metaheurystyki. Dokładniej uczone są sieci neuronowe sterujące pszczołami, których zadaniem jest zebranie jak największej ilości nektaru z kwiatów
  • Animacja uczenia sieci neuronowej
    W dziale ze źródłami można zaleźć podstawkę do algorytmów aglomeracyjnych, klasyfikacji oraz klasteryzacji, która implementuje kilka przydatnych klas takich jak CPoint, CCluster, CMetric, CDistance oraz CHelper z wykożystaniem numpy oraz matplotlib'a, oraz kody źródłowe do większości treści prezentowanych na stronie.

Na dniach zostanie dodane:

  • segmentacja oraz kompresja obrazu z wykorzystaniem algorytmu gazu neuronowego, wstęp do logiki rozmytej, coś o teorii gier oraz pisaniu własnego programu do gry w GO.

Serdecznie zapraszam do odwiedzania strony, komentowania, wytykania błędów, dawania propozycji. Z chęcią dokładniej wytłumaczę to co jest niejasne, bądź niezrozumiałe. Polecam także subskrybowanie kanału RSS lub Like'owanie Facebookowego fun-page stronki, gdyż pojawiają się tam na bieŻąco (Boże, widzisz takie błędy i nie grzmisz) informacje o nowych treściach.

0

Tak z ciekawości: sztuczną inteligencją zajmujesz się tylko hobbystycznie czy także w pracy?

0

Jedynie hobbystycznie.

0

Witam,
Na stronie w dziale źródła jest dostępna paczka do algorytmów roju wraz z zaimplementowanym algorytmem PSO w języku C++.

W celu optymalizacji własnego zadania, wystarczy stworzyć klasę dziedziczącą po CZadanieOptymalizacyjne, nadać jej wymiarowość, oraz nadpisać evala. Następnie podać wskaźnik na ten obiekt do algorytmu PSO, w CSwarm ustalić warunek stopu [Warunek stopu znajduje się w CSwarm, by można było porównywać różne implementacje] i gotowe. Kod można używać we własnych projektach, byłoby miło, gdyby znalazły się tam informacje o źródle :)

Z chęcią pomogę w adaptacji tego rozwiązania do własnych projektów, wyjaśnie wątpliwości.

Tak na marginesie: Specem od C++ nie jestem, więc może być tam kilka "dziwnych rozwiązań".

Pozdrawiam.

0

Pierwsze dziwne rozwiązanie które zauważyłem to generowanie liczb losowych (taki mój konik). Po pierwsze srand powinien być używany tylko raz, jest duża szansa, że przy wykonywaniu CParticle (CSwarm*) czas będzie taki sam, jak przy poprzednim wykonaniu, więc frand() da Ci identyczną wartość.

frand() zauważyłem w dwóch różnych klasach, wyrzuć go poza nie (np. jako funkcję). Dodatkowo lepszą metodą generowania liczb w zakresie [0,1] (na pewno nie chcesz zakresu [0,1)?) byłoby zastosowanie rand()/(RAND_MAX+1.0) (dla zakresu [0,1)). Choć najlepiej by było zastosować lepszą bibliotekę, np. boost::random (jest już chyba w TR1 domyślnie, jak nie to na pewno w c++0x).

Rzadko też w C++ widuje się wywoływanie metod i odwoływanie się do pól przez this (choć jest to jedno z rozwiązań dziedziczenia po szablonach), najczęściej się to pomija. Masz też niekonsekwencje w używaniu tego, niekiedy odwołujesz się przez this->, a w innych miejscach przez (*this). .

Nie testowałem programu ze względu na moje duże wątpliwości do generowania liczb losowych.

0

Z srand() jest celowo, ponieważ mogę przekazać seeda i robić miarodajne benchmarki. Od ostatniego czasu, trochę to zmieniłem, zmiany akurat pokrywają się z Twoimi uwagami :)

Docelowo, gdy skończę testować pakiet do benchmarkowania, wrzucę tam uaktualnioną wersję. A this, używam z dziwnego przyzwyczajenia.

Bardzo dziękuję za Twoje uwagi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1