Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nền tảng Thuật toán của AI, Machine Learning, Big Data

Hong Ong
November 06, 2017

Nền tảng Thuật toán của AI, Machine Learning, Big Data

Tổ chức: TopDev.
Chủ đề: Nền tảng thuật toán của AI, Machine Learning, Big Data
Speaker: Ông Xuân Hồng - Researcher engineer @ Trusting Social.
Ngày: 15/10/2017.

Hong Ong

November 06, 2017
Tweet

More Decks by Hong Ong

Other Decks in Research

Transcript

  1. Nội dung • Tổng quan Big Data • MapReduce -

    thuật toán nền tảng của Big Data • Các thuật toán làm hằng ngày với Big Data • Chia sẻ kinh nghiệm
  2. Tổng quan Big Data Message queue Processing Storage Management •

    Amazon Kinesis • SQS • Apache Kafka • Apache Spark • Apache Storm • Apache Flink • Hadoop • AWS S3, Google storage • NoSQL • Jenkins • Git • Docker • Ansible • Travis
  3. Processing - Distributed computing • Master/Driver ◦ Chuyển program thành

    các tasks cho các workers. ◦ Scheduling tasks để các workers hoạt động đồng bộ với nhau. • n-Cluster/Executors ◦ Hoàn thành các tasks và trả kết quả về Driver. ◦ Cache dữ liệu khi được yêu cầu. • SparkContext dùng để tạo RDDs.
  4. Nội dung • Tổng quan Big Data • MapReduce -

    thuật toán nền tảng của Big Data • Các thuật toán làm hằng ngày với Big Data • Chia sẻ kinh nghiệm
  5. Nội dung • Tổng quan Big Data • MapReduce -

    thuật toán nền tảng của Big Data • Các thuật toán làm hằng ngày với Big Data • Chia sẻ kinh nghiệm
  6. Các thuật toán làm hằng ngày với Big Data Máy

    tính dù có mạnh đến đâu cũng không cứu rỗi được một giải thuật tồi
  7. Swap two numbers a = 5, b = 8 temp

    = a a = b b = temp # a = 8, b = 5
  8. a = 5, b = 8 a = a +

    b = 5 + 8 = 13 b = a - b = 13 - 8 = 5 a = a - b = 13 - 5 = 8 # a = 8, b = 5 Swap two numbers
  9. Dimension reduction • Giảm số chiều dữ liệu • Vẫn

    đảm bảo độ chính xác • Tăng tốc độ tính toán, tiết kiệm bộ nhớ.
  10. Join Big tables Key A1 B1 k1 values 1 null

    Key A1 B1 k1 null values 2 O(n^2)
  11. Join Big tables Key A1 B1 k1 values 1 null

    Key A1 B1 k1 null values 2 Key A1 B1 k1 values 1 null k1 null values 2 Key A1 B1 k1 values 1 values 2 union SELECT Max(A1), Max(B1) GROUP BY Key O(n)
  12. Cho dãy số 12, 3, 5. Tìm medians (trung vị)?

    B1: sắp xếp tăng dần thành 3, 5, 12. Worse case O(n^2) B2: tìm trung vị. 3/2 = 1.5 ~ 2 B3: kết quả 5 Medians
  13. Medians Tìm medians tần số chuyển động tracking theo giây

    trên đồng hồ Mitsfit? Biết rằng giá trị giao động trong khoảng [-20.000, 20.000]
  14. 19.999 / 10.000 = 1 (for bin) 19.999 % 10.000

    = 9.999 (for next bin) Find and medians base number Results: list medians [1, 9, 9, 9, 9] Medians
  15. • Wavelet vs Fast Fourier Transform • JPEG, PNG, Gif

    • MP4, MOV • Zip, gzip Compression Giả sử lưu lượng dữ liệu truyền qua Internet là 1.000.000.000 TB/s. Nếu kĩ thuật nén cải thiện được 0.1%. Ta sẽ tiết kiệm được 1.000.000.000 * 0.1 / 100 = 1.000.000 TB/s
  16. More and more • Machine learning ◦ Random forest ◦

    Matrix computation (dense, sparse vector) ◦ Deep learning • Big number: ◦ Add, subtract, multiply, divide
  17. Nội dung • Tổng quan Big Data • MapReduce -

    thuật toán nền tảng của Big Data • Các thuật toán làm hằng ngày với Big Data • Chia sẻ kinh nghiệm
  18. • Sử dụng cache và partition đúng cách để tăng

    tốc tính toán. • Sử dụng vim, nano, less để quan sát file Big Data. • Kiến thức cần có: toán rời rạc, xác suất thống kê, đại số tuyến tính. ◦ Tính độ phức tạp. ◦ Đọc hiểu các giải thuật liên quan. • Sử dụng các công nghệ tiên tiến khi cần thiết: ◦ GPU, quantum computing • Yêu thích việc tối ưu tính toán. • Nên áp dụng thuật toán theo hướng: ◦ Chia để trị. ◦ Quy hoạch động. ◦ Xấp xỉ. ◦ Độ phức tạp không quá O(n^2). • Cố gắng thu nhỏ dữ liệu càng nhiều càng tốt: ◦ Lấy mẫu 1% quần thể. ◦ Giảm số chiều dữ liệu. • Nên sử dụng binary file parquet cho lưu trữ và tính toán Big Data. ◦ Kích thước được nén nhỏ. ◦ Column oriented Chia sẻ kinh nghiệm
  19. • Tổng quan về cấu trúc và dữ liệu •

    Introduction to Algorithm, 3rd Edition (MIT Press) • Sketching algorithm for Big Data • Mining massive dataset (Stanford) • 7 techniques dimensionality reduction • Microsoft quantum computing Tham khảo thêm