BIG DATA w środowisku MATLAB

Analizy Big Data wymagają stosowania nowych sposobów przetwarzania w celu wspomagania podejmowania decyzji czy odkrywania zjawisk oraz charakteryzujących je prawidłowości. Środowisko MATLAB oferuje w tym zakresie szereg narzędzi.
Prowadząc analizy Big Data w środowisku MATLAB możemy wykorzystać trzy podstawowe podejścia. Pierwsze polega na rozszerzeniu dostępu do danych i pamięci. Może to być zrealizowane poprzez stosowanie 64-bitowej architektury, mapowanie zmiennych w pamięci czy korzystanie ze zmiennych dyskowych bądź z kontenera danych datastore. Drugie podejście do problemu Big Data w środowisku MATLAB to zastosowanie metod programistycznych. W celu przyspieszenia analiz, możemy używać obiektów systemowych do przetwarzania strumieniowego, blokowego przetwarzania obrazów, przetwarzania równoległego z wykorzystaniem pętli parfor, tablic GPU (z wykorzystaniem Parallel Computing Toolbox), konstrukcji Single Program Multiple Data (SPMD) i tablic rozproszonych oraz techniki MapReduce. Ostatnie rozwiązanie wymaga, aby algorytm był podzielony na fazy mapowania oraz redukcji. Wszystkie funkcje związane z rozszerzeniem dostępu do danych i pamięci oraz z metodami programistycznymi mogą być skalowane do klastrów obliczeniowych (z wykorzystaniem MATLAB Distributed Computing Server), aby jeszcze bardziej zwiększyć wydajność obliczeniową i możliwość analizy dużej liczby danych. Ograniczeni jesteśmy wtedy praktycznie tylko przez łączną pamięć fizyczną takiego klastra. W ramach trzeciego podejścia do Big Data w środowisku MATLAB, można wykorzystać również przetwarzanie w chmurze (m.in. Amazon Elastic Computing Cloud) oraz platformę Hadoop, która składa się z dwóch zasadniczych części:
?         HDFS (Hadoop Distributed File System) – systemu plików zapewniający wysoką wydajność dostępu do danych przechowywanych w wielu węzłach
?         Hadoop MapReduce do rozproszonego przetwarzania danych przechowywanych w HDFS. Algorytmy MapReduce opracowane w środowisku MATLAB bez problemu można uruchomić w ramach Hadoop MapReduce. Co ciekawe nie wymaga to znajomości programowania w Javie, i dodatkowo poprzez wykorzystanie Datastore na drugi plan schodzi konieczność zaznajomienia się z wewnętrzną architekturą HDFS oraz Hadoop.

Wybór konkretnej techniki do analiz Big Data zależny jest od platformy obliczeniowej, ilości danych i złożoności modeli które chcemy wykorzystać. Przy czym złożoność określa, czy dane da się podzielić, następnie analizować w podzbiorach jako podzadania i agregować wyniki.
Dodatkowo można wykorzystać zaawansowaną analitykę środowiska MATLAB. Przykładowo, uczenie maszynowe będzie pomocne dla wydobycia cennych informacji z dużych zbiorów danych i rozwijania modeli predykcyjnych. Szeroki wybór algorytmów uczenia się, w tym drzewa decyzyjne (boosted i bagged), algorytm centroidów (k-średnich), algorytm k-najbliższych sąsiadów, mieszanina rozkładów Gaussa, algorytm maksymalizacji oczekiwań, ukryte modele Markowa i sieci neuronowe znaleźć można w Statistics and Machine Learning Toolbox oraz  w  Neural Network Toolbox.
Z wykorzystaniem MATLAB Compilera, każda z opisanych tu technik może zostać wdrożona w organizacji jako samodzielna aplikacja, bądź zostać zintegrowana z systemami przedsiębiorstwa.