Advertisement
Guest User

Untitled

a guest
May 25th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.52 KB | None | 0 0
  1. ZASTOSOWANIA: Filtrowanie poczty elektronicznej, rozpoznawanie obiektów, samoprowadzące się samochody, wyświetlanie proponowanych filmów np, na YouTube.
  2.  
  3. WSTĘP: Uczenie maszynowe (ang. machine learning) to dziedzina informatyki pokrywająca się też z m.in. robotyką, statystyką, optymalizacją matematyczną, która korzysta z technik statystycznych celem nadanie systemom komputerowym zdolości do samouczenia się (progresywnego/postępowego polepszania swojej efektywności w powierzonych zadaniach). Kluczem jest to, że to nie ludzie programują algorytmy działania, gdyż byłyby one zbyt skomplikowane dla człowieka. Człowiek tworzy mechanizm działania botów.
  4. Instrukcje w gotowym programie mogą być statyczne – nie zmienia się sposób jego działania, ale samo budowanie modelu jest oparte o dostarczanie algorytmowi próbek danych wejściowych. Programy mogą też uczyć się wraz z ich użytkowaniem, np. czatboty.
  5. Uczenie maszynowe można podzielić najbardziej ogólnie na nadzorowane i nienadzorowane.
  6. Najpopularniejsze zadania uczenia nadzorowanego to regresja i klasyfikacja. Ich celem jest predykcja wartości atrybutu decyzyjnego na podstawie wartości pozostałych atrybutów. Regresja: atrybut decyzyjny jest liczą rzeczywistą. Klasyfikacja: atrybut decyzyjny ma wartość dyskretną (binarną, nominalną). Jest to tzw. klasa.
  7. HISTORIA:
  8. 1950 – test Turinga:
  9. Test zaproponowany przez Alana Turinga mający na celu sprawdzenie zdolności maszyny/programu do naśladowania ludzkiego zachowania w rozmowie/do posługiwania się językiem naturalnym.
  10.  
  11. Program miałby przejść test w momencie w którym sędzia nie umiałby rzetelnie dojść do tego, który z jego rozmówców jest maszyną, a który człowiekiem. Test nie ma na celu sprawdzenia w żaden sposób poprawności treści rozmowy, a jedynie jej zdolność do naśladowania człowieka.
  12. Praca Turinga, w której zawarł swój koncept zaczyna się od słów „Propunuję rozważyć pytanie ‘Czy maszyny potrafią myśleć?’”. Słowo „myśleć” jest trudne do zdefiniowania, dlatego Turing zastąpił potem to pytanie przez „Czy mogą teoretycznie istnieć komputery cyfrowe, które poradziły by sobie dobrze w grze imitacji?” Dosł.: „Are there imaginable digital computers which would do well in the imitation game?”. Imitation game to gra imprezowa polegająca na tym, że osoba A to mężczyzna, B to kobieta, zać C to gracz, mający na celu zgadnąć płcie obu osób. Osoba A ma oszukiwać C, a B pomagać C, ale gracz oczywiście nie wie kto kłamie. W pytaniu Turinga rolę jednej z osób miałby przejąć komputer, a weryfikacja pytania Turing amiałaby polegać na sprawdzeniu, czy C uwierzyłby bardziej komputerowi czy człowiekowi. Rozważania Turinga stały się ważną kwestią w filozofii sztucznej inteligencji.
  13.  
  14. Turing uważał, że w końcu programy będą zdole do przejścia testu Turinga. Oszacował, że w 2000 roku komputery miałyby być w stanie oszukać 30% ludzi w pięciominutowym teście. Narazie jednak nie było programu, który bez kontrowersji przeszedłby test Turinga „na czysto”.
  15.  
  16.  
  17. 1966 – ELIZA:
  18. Stworzono program nazwany ELIZA, niektórzy uważają, że był to pierwszy program zdolny przejść test Turinga, gdyż faktycznia, udało mu się oszukać niektóre osoby, z którymi „rozmawiał”, choć to kontrowersyjny pogląd, choćby dlatego, że testowani ludzi nie wiedzieli o tym, że w ogóle możliwe jest, że rozmawiają z programem. ELIZA stworzona przez Josepha Weizenbauma miała naśladować zachowanie psychoterapeuty.
  19. 1951 – Pierwsza sieć neuronowa:
  20. Zaprojektowana przez Marvina Lee Minsky’ego powstaje pierwsza maszyna będąca siecią neuronową – SNARC (Stochastic Neural Analog Reinforcement Calculator):
  21. The machine itself is a randomly connected network of approximately 40 Hebb synapses. These synapses each have a memory that holds the probability that signal comes in one input and another signal will come out of the output. There is a probability knob that goes from 0 to 1 that shows this probability of the signals propagating. If the probability signal gets through, a capacitor remembers this function and engages a "clutch". At this point, the operator will press a button to give reward to the machine. At this point, a large motor starts and there is a chain that goes to all 40 synapse machines, checking if the clutch is engaged or not. As the capacitor can only "remember" for a certain amount of time, the chain only catches the most recent updates of the probabilities.
  22. SNARC uważa się za jeden z pierwszych pionierskich kroków w dziedzinie AI.
  23.  
  24.  
  25.  
  26.  
  27.  
  28. 1952 – Partyja?
  29. Arthur Samuel skonstruował program/maszynę, uczącą się gry w warcaby. Program oparty był o schemat drzewa poszukiwań pozycji na planszy poczynając od obecnego stany gry.
  30.  
  31. Samuel nie miał do dyspozycji dużej ilości pamięci, dlatego nie mógł pozwolić sobie na analizowanie każdego możliwego poddrzewa. Stworzył on funkcję punktującą dane stany gry, próbującą okreslić szanse wygranej na podstawie aspektów takich jak ilość pionków po każdej połowie planszy, ilość damek, odległość pionków od pola promocji na damkę. Zastosowanie algorytmu alfa-beta pozwoliło to odrzucić dużą część odnóg drzewa.
  32. Alfa-beta to algorytm przeszukujący, redukujący liczbę węzłów, które muszą być rozwiązywane w drzewach przeszukujących przez algorytm minimax. Warunkiem stopu w przeszukiwaniu podrzew z zastosowaniem alfa-beta jest znalezienie przynajmniej jednego rozwiązania czyniącego obecnie badaną opcję ruchu gorszą od poprzednio zbadanych opcji. Wybranie takiej opcji ruchu nie przyniosłoby korzyści graczowi ruszającemu się, dlatego też nie ma potrzeby przeszukiwać dalej gałęzi drzewa tej opcji.
  33. Ta technika pozwala zaoszczędzić czas poszukiwania bez zmiany wyniku działania algorytmu. Czas przeszukiwania ograniczony zostaje do przeszukania najbardziej obiecujących poddrzew, w związku z czym możemy zejść głębiej w tym samym czasie.
  34. Warcaby są grą o sumie zerowej, zysk jednego gracza to strata drugiego. Dlatego jeden gracz będzie chciał maksymalizować stan gry, a drugi minimalizować. Zaczynamy przeglądanie od stanów końcowych, symulując optymalne wybory dla obu graczy tak aby na głębokości d(w liściach drzewa) była dla nich optymalna liczba S(stan gry po wykonaniu d ruchów). Tak więc gracz min zawsze wybiera ruch który prowadzi do mniejszej wartości końcowej, a gracz max - przeciwnie. Po przeprowadzeniu tej symulacji gracz, który znajduje się w korzeniu drzewa(aktualnie wykonujący ruch) ma pewność, że jego ruch jest optymalny w kontekście informacji o stanie gry z przeprowadzonej symulacji algorytmem minimax na głębokość d(tzn. maksymalizuje minimalny zysk).
  35.  
  36. W największym skrócie minimax jest algorytmem minimalizowania największych możliwych strat.
  37. Minimax jest podobny do myślenia ludzkiego. You can think of the algorithm as similar to the human thought process of saying, "OK, if I make this move, then my opponent can only make two moves, and each of those would let me win. So this is the right move to make."
  38.  
  39. Samuel jednak uczynił swój program jeszcze lepszym – dał mu możliwość uczenia się, co było jednym z pierwszych przykładów zastosowania uczenia maszynowego – jego porgram zapamiętywał każdą pozycję w grze, którą już raz analizował, pozostawiając jej przypisaną wartość stanu. Dzięki temu, gdy program napotkał na taki wariant w ogóle nie było potrzeby analizowania tego poddrzewa, gdyż wartość była już przypisana, co zwiększyło możliwości wchodzenia algorytmu coraz głębiej. Samuel kazał też programowi rozgrywac partie samemu ze sobą co dodatkowo zwiększyło jego umiejętności. Był to pierwszy program, który potrafił grać w planszówkę na tak wysokim poziomie. Po latach jego program miał możliwość równej gry z dobrymi amatorami.
  40.  
  41. 1957 – Perceptron:
  42. U uczeniu maszynowym perceptron to algorytm uczenia nadzorowanego, który pozwala na określić przynależność obiektu z danymi parametrami wejściowymi do jednej z dwóch klas. Można go wykorzystywać tylko do klasyfikowania zbiorów liniowo separowlanych. Perceptron należy przed użyciem wytrenować podając mu przykładowe dane wejściowe, a następnie zmieniać system neuronów tak by wynik na wyjściu przybrał określoną wartość.
  43. Perceptron był zaprojektowany z myślą o rozpoznawaniu obrazu, mial matrycę 400 komórek światłoczułych.
  44.  
  45. 1967 – powstaje algorytm „najbliższy sąsiad”, był to początek podstawowego rozpoznawania wzorców.
  46. Rozpoznawanie wzorców – pole badawcze w obrębie uczenia maszynowego. Może być definiowane jako działanie polegające na pobieraniu surowych danych i podejmowaniu dalszych czynności zależnych od kategorii do której należą te dane.
  47. Algorytm najbliższego sąsiada NN / nearest neighbour – jest to algorytm zachłanny wykorzystywany w problemie komiwojażera – zawsze szuka drogi do najbliższego miasta. Był wykorzystywany do wyznaczania tras.
  48. Bo masz na przykład takiego lekarza, który zapisze Ci pewne tabletki, tylko dlatego bo już kiedyś widział podobny przypadek jakiejś choroby.
  49. Czyli znajduje najbliższego sąsiada w przestrzeni pacjentów
  50. To jest jakiś pattern raczej.
  51.  
  52.  
  53. 1985 – NETtalk:
  54. NETtalk uczył się wymawiać pisane słowa angielskie pokazywane mu na wejściu.
  55.  
  56. 1997 – Deep Blue:
  57. Stworzony przez IBM Deep Blue był pierwszym komputerem, któremu udało się wygrać partię szachów ze światowym mistrzem Garrim Kasparowem ze standardową kontrolą czasu. Partia została rozegrana w 1996 i stała się znana, mimo, że Kasparow wygrał trzy kolejne partie, a dwie zremisował wygrywając cały mecz 4 : 2. Mecz został przez Deep Blue wygrany w 1997 wynikiem 3,5 : 2,5. DB stał sie pierwszym systemem komputerowym, który wygrał z aktualnym mistrzem świata w meczu z regularną kontrolą czasu. System swoją siłę czerpał głównie z siłowych metod przeszukiwania. Mógł ewaluować 200 milionów pozycji na sekundę.
  58. Funkcja oceny pozycji na początku była mocno uproszczona. Komputer sam nauczył się oceniać optymalne wartości paramatrów dla np. bezpieczeństwa położenia króla analizując tysiące partii arcymistrzów szachowych. Arcymistrzowie dopracowali po pierwszym meczy z Kasparowem bazę danych oraz dostarczyli bibliotekę otwarć.
  59. Kasparow zarzucił nieuczciwość IBM. Po części zarzuty te były prawdziwe. Pomiędzy partiami program Deep Blue był modyfikowany, uwzględniając informacje z poprzednich partii. Kod był modyfikowany, aby program lepiej rozumiał styl gry Kasparowa. Umożliwiło to uniknięcie pułapki w ostatniej partii, na której sztuczna inteligencja poległa wcześniej dwukrotnie.
  60. 2011 – Watson:
  61. Watson to superkomputer stworzony przez IBM do odpowiadania na pytania zadawane w języku naturalnym.
  62. The computer system was initially developed to answer questions on the quiz show Jeopardy![6] and, in 2011, the Watson computer system competed on Jeopardy! against legendary champions Brad Rutter and Ken Jennings[4][7] winning the first place prize of $1 million.
  63. 2016 – Alpha Go:
  64. Pierwsze zwycięstwo komputera z człowiekiem w Go.
  65.  
  66. PODSTAWOWE METODY:
  67.  
  68. REGRESJA to metoda statystyczna pozwalająca na badanie związku pomiędzy wielkościami danych. Umożliwia przewidywanie nieznanych wartości jednych wielkości na podstawie znanych wartości innych.
  69.  
  70. REGRESJA LINIOWA:
  71. Linia najlepszego dopasowania.
  72. Regresja liniowa – metoda estymowania wartości oczekiwanej zmiennej przy znanych wartościach innej zmiennej lub zmiennych . Szukana zmienna jest tradycyjnie nazywana zmienną objaśnianą lub zależną. Inne zmienne nazywa się zmiennymi objaśniającymi lub niezależnymi. Zarówno zmienne objaśniane i objaśniające mogą być wielkościami skalarnymi lub wektorami.
  73. Regresja w ogólności to problem estymacji warunkowej wartości oczekiwanej. Regresja liniowa jest nazywana liniową, gdyż zakładanym modelemzależności między zmiennymi zależnymi a niezależnymi, jest funkcja liniowa bądź przekształcenie liniowe (afiniczne) reprezentowane przez macierz w przypadku wielowymiarowym.
  74.  
  75. REGRESJA LOGISTYCZNA:
  76. Regresja logistyczna – jedna z metod regresji używanych w statystyce w przypadku, gdy zmienna zależna jest na skali dychotomicznej(przyjmuje tylko dwie wartości). Zmienne niezależne w analizie regresji logistycznej mogą przyjmować charakter nominalny, porządkowy, przedziałowy lub ilorazowy. W przypadku zmiennych nominalnych oraz porządkowych następuje ich przekodowanie w liczbę zmiennych zero-jedynkowych taką samą lub o 1 mniejszą niż liczba kategorii w jej definicji [1].
  77. Zwykle wartości zmiennej objaśnianej wskazują na wystąpienie, lub brak wystąpienia pewnego zdarzenia, które chcemy prognozować. Regresja logistyczna pozwala wówczas na obliczanie prawdopodobieństwa tego zdarzenia (tzw. prawdopodobieństwo sukcesu).
  78. Formalnie model regresji logistycznej jest uogólnionym modelem liniowym (GLM), w którym użyto logitu jako funkcji wiążącej.
  79.  
  80. Funkcja logit
  81.  
  82. REGRESJA WIELOMIANOWA
  83.  
  84.  
  85.  
  86.  
  87.  
  88. TWIERDZENIE O UNIWERSALNOŚCI:
  89. Każda funkcja ciągła może zostać zaproksymowana przez sieć neuronową z dowolną dokładnością!
  90.  
  91. Algorytm GENETYCZNY:
  92. Najczęściej działanie algorytmu przebiega następująco:
  93. 1. Losowana jest pewna populacja początkowa.
  94. 2. Populacja poddawana jest ocenie (selekcja). Najlepiej przystosowane osobniki biorą udział w procesie reprodukcji.
  95. 3. Genotypy wybranych osobników poddawane są operatorom ewolucyjnym:
  96. 1. są ze sobą kojarzone poprzez złączanie genotypów rodziców (krzyżowanie),
  97. 2. przeprowadzana jest mutacja, czyli wprowadzenie drobnych losowych zmian.
  98. 4. Rodzi się drugie (kolejne) pokolenie. Aby utrzymać stałą liczbę osobników w populacji te najlepsze (według funkcji oceniającej fenotyp) są powielane, a najsłabsze usuwane. Jeżeli nie znaleziono dostatecznie dobrego rozwiązania, algorytm powraca do kroku drugiego. W przeciwnym wypadku wybieramy najlepszego osobnika z populacji - jego genotyp to uzyskany wynik.
  99. Działanie algorytmu genetycznego obejmuje kilka zagadnień potrzebnych do ustalenia:
  100. 1. ustalenie genomu jako reprezentanta wyniku
  101. 2. ustalenie funkcji przystosowania/dopasowania
  102. 3. ustalenie operatorów przeszukiwania
  103.  
  104. Antena:
  105. The 2006 NASA ST5 spacecraft antenna. This complicated shape was found by an evolutionary computer design program to create the best radiation pattern.
  106. ALG GEN .:Problem definiuje środowisko, w którym istnieje pewna populacja osobników. Każdy z osobników ma przypisany pewien zbiór informacjistanowiących jego genotyp, a będących podstawą do utworzenia fenotypu. Fenotyp to zbiór cech podlegających ocenie funkcji przystosowania modelującej środowisko. Innymi słowy - genotyp opisuje proponowane rozwiązanie problemu, a funkcja przystosowania ocenia, jak dobre jest to rozwiązanie.
  107. Genotyp składa się z chromosomów, gdzie zakodowany jest fenotyp i ewentualnie pewne informacje pomocnicze dla algorytmu genetycznego. Chromosom składa się z genów.
  108. Wspólnymi cechami algorytmów ewolucyjnych, odróżniającymi je od innych, tradycyjnych metod optymalizacji, są:
  109. 1. stosowanie operatorów genetycznych, które dostosowane są do postaci rozwiązań,
  110. 2. przetwarzanie populacji rozwiązań, prowadzące do równoległego przeszukiwania przestrzeni rozwiązań z różnych punktów,
  111. 3. w celu ukierunkowania procesu przeszukiwania wystarczającą informacją jest jakość aktualnych rozwiązań,
  112. 4. celowe wprowadzenie elementów losowych.
  113.  
  114. OBJECTIVE FUNCTIONS:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement