Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2015-08-06

Week 1


В прошлый раз я рассказал о том, как мы делали лабораторки. Теперь материал первой недели.

Topics:
  • Apache Spark overview,
  • basic machine learning concepts,
  • steps of typical supervised learning pipelines,
  • linear algebra review,
  • computational complexity / big O notation review.

Lab 1:
NumPy, Linear Algebra, and Lambda Function Review.
Gain hands on experience using Python's scientific computing library to manipulate matrices and vectors, and learn about lambda functions which will be used throughout the course.

Apache Spark это такая кластерная вычислялка, основная идея которой заключается в том, что исходный набор данных оборачивается в RDD – Resilient Distributed Dataset, который кусками раскидывается на по вычислительным нодам и эти куски там параллельно обрабатываются (стадия Map). На стадии Reduce результаты вычислений возвращаются на ноду-driver, инициировавшую обработку. Особенно отмечается тот факт, что, в отличие от традиционного MapReduce, в Spark данные крутятся в оперативной памяти, что позволяет достичь стократного превосходства по быстродействию.


Дальше – machine learning, концепция.
Галопом-по-европам, огромные датасеты, их надо очистить, преобразовать, извлечь фичи/свойства, нормализовать, найти по ним оптимум для разных моделей, оценить модели, выбрать лучшую и, в светлом будущем, использовать модель для предсказаний.


Линейная алгебра.
Векторы, матрицы, inner product, outer product, разные свойства операций над матрицами. В общем, там где сумма произведений – там ищи применение умножению матриц.
А еще транспонированные матрицы, инвертированные матрицы, identity matrix, Euclidean norm for vectors, вот это все.
В наших вычислениях (ML) используется повсеместно и очень плотно.


Big O notation.
Довольно важная штука. Чтобы оценить, потянет машины или кластер обработку набора данных, определенного размера, надо уметь оценить предполагаемые затраты на хранение и вычисления. Для используемого алгоритма. Разные алгоритмы имеют разные оценки по времени/размеру.
Время оценивается в количестве элементарных операций, размер оценивается в единицах хранения – 8 байт под плавующую точку.



А потом была лабораторка.

Сначала на бумажке вычисляли результаты умножения матриц, записывая результаты в нотебук.
Потом умножали матрицы по всякому с помощью NumPy.
Посмотрели на DenseVector.

Потом занялись lambda и имитацией map().reduce() под соусом «функциональный подход».

На этом первая неделя как-то закончилась.

Ничего серьезного.




original post http://vasnake.blogspot.com/2015/08/week-1.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)