Phân tích dữ liệu lớn phần 2

168 20 0
Phân tích dữ liệu lớn phần 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỘT SỐ CỤ PHÂN TÍCH DỮ LIỆU LỚN Giảng viên: Nguyễn Tu Trung, Trần Mạnh Tuấn BM HTTT, Khoa CNTT, Trường ĐH Thủy Lợi Hà Nội, 2019 Nội dung  Hadoop  Spark  GPU-Tensorflow NTTrung Bài giảng PTDLL 2/28 Hadoop        Hadoop gì? Lịch sử Hadoop Các thành phần Hadoop Ứng dụng Hadoop số công ty lớn Nguyên tắc hoạt động Hadoop Các trình Hadoop Cài đặt Hadoop NTTrung Bài giảng PTDLL 3/28 Hadoop gì?  Theo Apache Hadoop:  NTTrung «Apache Hadoop framework dùng để chạy ứng dụng cluster lớn xây dựng phần cứng thông thường Hadoop thực mơ hình Map/Reduce, mơ hình mà ứng dụng chia nhỏ thành nhiều phân đoạn khác nhau, phần chạy song song nhiều node khác Thêm vào đó, Hadoop cung cấp hệ thống file phân tán (HDFS) cho phép lưu trữ liệu lên nhiều node Cả Map/Reduce HDFS thiết kế cho framework tự động quản lý lỗi, hư hỏng phần cứng node.» Bài giảng PTDLL 4/28 Hadoop gì?  Theo Wikipedia:  NTTrung «Hadoop framework nguồn mở viết Java cho phép phát triển ứng dụng phân tán có cường độ liệu lớn cách miễn phí Nó cho phép ứng dụng làm việc với hàng ngàn node khác hàng petabyte liệu Hadoop phát triển dựa ý tưởng từ cơng bố Google mơ hình MapReduce hệ thống file phân tán Google File System (GFS).» Bài giảng PTDLL 5/28 Hadoop gì?  Kết luận Hadoop:     NTTrung Là framework cho phép phát triển ứng dụng phân tán Viết Java Cung cấp phương tiện lưu trữ liệu phân tán nhiều node, hỗ trợ tối ưu hố lưu lượng mạng, HDFS HDFS che giấu tất thành phần phân tán, nhà phát triển ứng dụng phân tán nhìn thấy HDFS hệ thống file cục bình thường Giúp nhà phát triển ứng dụng phân tán tập trung tối đa vào phần logic ứng dụng, bỏ qua số phần chi tiết kỹ thuật phân tán bên (phần Hadoop tự động quản lý) Bài giảng PTDLL 6/28 Lịch sử Hadoop  Hadoop tạo Dough Cutting, người sáng tạo Apache Lucene – thư viện tạo mục tìm kiếm text sử dụng rộng rãi  Hadoop bắt nguồn từ Nutch, ứng dụng search engine nguồn mở  Nutch, ứng dụng search engine nguồn mở, khởi xướng từ năm 2002, gồm crawler tìm kiếm  Nutch crawl tối đa 100 triệu trang => khơng thể mở rộng để thực vai trị searcher engine tập liệu hàng tỷ trang web  Nguyên nhân: Nutch lúc chạy máy đơn (stand alone) nên gặp phải khuyết điểm: Khả lưu trữ bị giới hạn (ứng với máy), Tốc độ truy xuất chậm (ứng với máy) NTTrung Bài giảng PTDLL 7/28 Lịch sử Hadoop  Năm 2003, Google công bố kiến trúc hệ thống file phân tán GFS (viết tắt từ Google File System) => Các nhà kiến trúc sư Nutch thấy GFS giải nhu cầu lưu trữ file lớn từ trình crawl index  Năm 2004, họ bắt tay vào việc ứng dụng kiến trúc GFS vào cài đặt hệ thống file phân tán nguồn mở có tên Nutch Distributed File System (NDFS)  Năm 2004, Google lại công bố báo giới thiệu MapReduce  Đầu năm 2005, nhà phát triển Nutch xây dựng phiên MapReduce Nutch  Giữa năm 2005, tất thuật tốn Nutch cải tiến lại để chạy NDFS MapReduce  Tháng hai 2006 Dough Cutting tách riêng NDFS MapReduce để hình thành dự án độc lập có tên Hadoop Cùng thời gian này, Dough Cutting gia nhập vào Yahoo! NTTrung Bài giảng PTDLL 8/28 Lịch sử Hadoop  Tháng năm 2008 Yahoo công bố sản phẩm search engine họ xây dựng Hadoop cluster có kích thước 10.000 nhân vi xử lý  Năm 2008, Apache đưa Hadoop lên thành dự án top-level Apache Software Foundation, nhằm xác nhận thành công áp dụng rộng rãi Hadoop, chí nhiều cơng ty ngồi Yahoo! Last.fm, Facebook, New York Times  Năm 2008, Hadoop phá kỷ lục giới xếp terabyte liệu: Chạy cluster gồm 910 node, Hadoop xếp terabyte liệu vòng 209 giây, phá kỷ lục cũ 297 giây  Sau đó, Google công bố ứng dụng chạy MapReduce họ xếp terabyte liệu 68 giây  Tháng năm 2009, đội nhà phát triển Yahoo! dùng Hadoop để xếp terabyte liệu vòng 62 giây NTTrung Bài giảng PTDLL 9/28 Các thành phần Hadoop  Hiện nay, NDFS (đã đổi tên lại thành HDFS – Hadoop Distributed File System) MapReduce, đội ngũ phát triển Hadoop phát triển dự án dựa HDFS MapReduce  Hiện tại, Hadoop gồm có dự án sau: NTTrung Bài giảng PTDLL 10/28 Ví dụ minh họa phân lớp văn  Có tập tài liệu để huấn luyện sau vector hoá (sử dụng phương pháp đơn giản đếm số lần xuất hiện) rút trích đặc trưng sau:  Bộ từ vựng (đặc trưng) : var, bit, chip, log NTTrung Docs Var Bit Chip Log Class Doc1 42 25 56 Math Doc2 10 28 45 Comp Doc3 11 25 22 Comp Doc4 33 40 48 Math Doc5 28 32 60 Math Doc6 22 30 Comp Bài giảng PTDLL 7/20 Thực thi phân văn với ví dụ  Có lớp chủ đề:  C1 = “Comp”  C2 = “Math”  B1: Huấn luyện chủ đề  B2: Phân lớp chủ đề NTTrung Bài giảng PTDLL 8/20 Huấn luyện chủ đề  Tính xác xuất lớp Ci: P(C1 = “Comp”) = 3/6 = 0.5  P(C2 = “Math”) = 3/6 = 0.5   B1: Huấn luyện chủ đề Các xác suất P(xk|C1)  Các xác suất P(xk|C2)  NTTrung Bài giảng PTDLL 9/20 Các xác suất P(xk|C1)  Tổng số từ lớp C1 = “Comp”:      |TextC1| = (10 + 11 + 8) + (28 + 25 + 22) + (45 + 22 + 30) + (2 + + 1) = 208 P(var|Comp) = (10 + 11 + 8) / 208 = 29/208 P(bit|Comp) = (28 + 25 + 22) / 208 = 75/208 P(chip|Comp) = (45 + 22 + 30) / 208 = 97/208 P(log|Comp) = (2 + + 1) / 208 = 7/208 NTTrung Bài giảng PTDLL 10/20 Các xác suất P(xk|C2)  Tổng số từ lớp C2 = “Math”:      |TextC2| = (42 + 33 + 28) + (25 + 40 + 32) + (7 + + 9) + (56 + 48 + 60) = 388 P(var|Math) = (42 + 33 + 28) / 388 = 103/388 P(bit|Math) = (25 + 40 + 32) / 388 = 97/388 P(chip|Math) = (7 + + 9) / 388 = 24/388 P(log|Math) = (56 + 48 + 60) / 388 = 164/388 NTTrung Bài giảng PTDLL 11/20 Phân lớp chủ đề  Cho văn có vector đặc trưng Docnew = (23, 40, 15, 50)  𝐹 𝑑𝑜𝑐 𝑛𝑒𝑤 , 𝐶1 = P(Math) * [P(var|Math) * 23 * P(bit|Math) * 40 * P(chip|Math) * 15 * P(log|Math) * 50] = 0.5 * [103/388 * 23 * 97/388 * 40 * 24/388 * 15 * 164/388 * 50] = 598.627  𝐹 𝑑𝑜𝑐 𝑛𝑒𝑤 , 𝐶2 = P(Comp) * [P(var|Comp) * 23 * P(bit|Comp) * 40 * P(chip|Comp) * 15 * P(log|Comp) * 50] = 0.5 * [29/208 * 23 * 75/208 * 40 * 97/208 * 15 * 7/208 * 50] = 272.204  Kết luận: Văn Docnew thuộc lớp Math 𝑝 𝑑𝑜𝑐 𝑛𝑒𝑤 = max(𝐹 𝑑𝑜𝑐 𝑛𝑒𝑤 , 𝐶𝑖 ) = 598,627 NTTrung Bài giảng PTDLL 12/20 MapReduce hoá thuật toán Bayes  Nhiệm vụ:  MapReduce hóa việc đếm số lần xuất Ci xk|Ci  Ý tưởng:      NTTrung Chia liệu thành nhiều phần nhỏ Đếm số lần xuất biến Ci xk|Ci hàm Map Tập hợp kết tính tổng theo biến hàm Reduce Lưu thông tin số lần xuất biến Ci xk|Ci Giai đoạn phân lớp: tính xác suất P(Ci) P(xk|Ci) dựa liệu số lần xuất biến Ci xk|Ci để tính 𝐹 𝑋𝑛𝑒𝑤 , 𝐶𝑖 Bài giảng PTDLL 13/20 Lưu đồ thuật toán MapR educe _Baye s NTTrung Bài giảng PTDLL 14/20 MapReduce hoá thuật toán Bayes  Dữ liệu đầu vào:  Là danh sách file văn (có thể lưu file txt)  Mỗi hàng liệu huấn luyện mô tả file văn bản, gồm tên lớp tên file:  number D:\\Hadoop\\test\\input\\file1.txt  Được chuyển sang kiểu key/value làm đầu vào cho thuật tốn  Mơ hình MapReduce:  map (keyIn, valIn) -> list (keyInt, valInt)  reduce (keyInt, list (valInt)) -> (keyOut, valOut)  Áp dụng cho thuật toán Bayes:  Xây dựng hàm Map_TextBayes  Xây dựng hàm Reduce_TextBayes NTTrung Bài giảng PTDLL 15/20 Xây dựng hàm Map_TextBayes  Đầu vào:    cặp key/value biểu diễn liệu mô tả file văn keyIn giá trị bye offset dòng valIn text biểu liệu file văn (number D:\\Hadoop\\test\\input\\file1.txt)  Xử lý: Tính ValInt   Đếm cho xuất Ci Đếm cho xuất xk|Ci  Đầu ra:    NTTrung cặp key/value trung gian keyInt Ci xk|Ci valInt giá trị Bài giảng PTDLL 16/20 Xây dựng hàm Reduce_TextBayes  Trước hàm reduce thực   Kết hàm map trộn lại Các cặp keyInt gom thành nhóm  Đầu vào:   keyInt chuyển từ hàm map list(valInt) list giá trị  Xử lý:  Tính tổng giá trị list(valInt)  Đầu ra:   NTTrung keyOut keyInt (Ci xk|Ci) valOut tổng giá trị list(valInt) Bài giảng PTDLL 17/20 Phân cụm ảnh với MapReduce_K-Means  Phát biểu toán phân cụm ảnh  Giải pháp phân cụm ảnh với MapReduce_KMeans NTTrung Bài giảng PTDLL 18/20 Phát biểu toán phân cụm ảnh   Input: n điểm ảnh số cụm k Output: Các cụm Ci (i=1 k) (các cụm điểm ảnh) cho hàm tiêu chuẩn E đạt giá trị tối thiểu NTTrung Bài giảng PTDLL 19/20 Phân cụm ảnh với MapReduce_K-Means  B1: Chuyển đổi liệu Chuyển đổi liệu điểm ảnh thành list hàng  Mỗi hàng list giá trị thành phần vector biểu diễn cho điểm ảnh   B2: Thực phân cụm với MapReduce_K-Means  B3: Chuyển đổi kết phân cụm MapReduce_KMeans cho liệu ảnh gốc NTTrung Bài giảng PTDLL 20/20 Tra cứu thơng tin từ internet  Ví dụ:   Tra cứu thông tin khách sạn, tham khảo: http://www.trivago.vn Tra cứu thông tin sản phẩm điện máy  Các bước xây dựng ứng dụng:    NTTrung B1: Thu thập liệu từ internet B2: Lưu vào CSDL NoSQL B3: Xây dựng ứng dụng tra cứu thông tin truy xuất liệu từ CSDL NoSQL Bài giảng PTDLL 21/20 ... ds/jdk8-downloads -21 33151.html NTTrung Bài giảng PTDLL 25 /28 Eclipse  Tải file eclipse-jee-oxygen-3a-win 32- x86_64.zip máy NTTrung Bài giảng PTDLL 26 /28 Cấu hình Hadoop  Vào thư mục: C:hadoop -2. 7.3etcHadoop... nhà phát triển ứng dụng phân tán tập trung tối đa vào phần logic ứng dụng, bỏ qua số phần chi tiết kỹ thuật phân tán bên (phần Hadoop tự động quản lý) Bài giảng PTDLL 6 /28 Lịch sử Hadoop  Hadoop... MapReduce họ xếp terabyte liệu 68 giây  Tháng năm 20 09, đội nhà phát triển Yahoo! dùng Hadoop để xếp terabyte liệu vòng 62 giây NTTrung Bài giảng PTDLL 9 /28 Các thành phần Hadoop  Hiện nay, NDFS

Ngày đăng: 21/03/2021, 18:28