Friday, December 28, 2018

Hiểu về vòng đời khoa học dữ liệu như thế nào ?


Khoa học dữ liệu đang nhanh chóng phát triển để trở thành một trong những lĩnh vực nóng nhất trong ngành công nghệ. Với những tiến bộ nhanh chóng trong hiệu suất tính toán hiện đã cho phép phân tích các bộ dữ liệu khổng lồ, chúng ta có thể khám phá các mô hình và hiểu biết về hành vi của người dùng và xu hướng thế giới đến một mức độ chưa từng thấy.
có vô số cách hiểu về vòng đời (và thậm chí cả khoa học dữ liệu là gì), và đây là sự hiểu biết mà tôi đã xây dựng qua việc đọc và trải nghiệm của mình cho đến nay. Khoa học dữ liệu là một lĩnh vực phát triển nhanh chóng và thuật ngữ của nó đang phát triển nhanh chóng với nó.

1. Business Understanding (Hiểu biết về kinh doanh)
Các nhà khoa học dữ liệu trong phòng là những người cứ hỏi tại sao LỚN. Họ là những người muốn đảm bảo rằng mọi quyết định đưa ra trong công ty đều được hỗ trợ bởi dữ liệu cụ thể và nó được đảm bảo (với xác suất cao) để đạt được kết quả. Trước khi bạn thậm chí có thể bắt đầu một dự án khoa học dữ liệu, điều quan trọng là bạn phải hiểu vấn đề bạn đang cố gắng giải quyết.

Theo blog của Microsoft Azure, chúng tôi thường sử dụng khoa học dữ liệu để trả lời năm loại câu hỏi:

  • Bao nhiêu? (regression - hồi quy)
  • Thể loại nào? (classification - phân loại)
  • Nhóm nào? (clustering - phân cụm)
  • Điều này có lạ không? (anomaly detection - phát hiện bất thường)
  • Lựa chọn nào nên được thực hiện? (recommendation - gợi ý giải pháp )

Trong giai đoạn này, bạn cũng nên xác định các mục tiêu trung tâm của dự án bằng cách xác định các biến cần dự đoán. Nếu nó là một hồi quy, nó có thể giống như một dự báo bán hàng. Nếu nó là một cụm, nó có thể là một hồ sơ khách hàng. Hiểu được sức mạnh của dữ liệu và cách bạn có thể sử dụng nó để thu được kết quả cho doanh nghiệp của mình bằng cách đặt câu hỏi đúng là một nghệ thuật hơn là một khoa học, và làm tốt điều này đi kèm với nhiều kinh nghiệm. Một lối tắt để có được trải nghiệm này là đọc những gì người khác nói về chủ đề này, đó là lý do tại sao tôi sẽ gợi ý một loạt sách để bắt đầu.
Get started: Data Science for BusinessEverybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are

2. Data Mining (Khai thác dữ liệu)
Bây giờ bạn đã xác định các mục tiêu của dự án, đã đến lúc bắt đầu thu thập dữ liệu. Khai thác dữ liệu là quá trình thu thập dữ liệu của bạn từ các nguồn khác nhau. Một số người có xu hướng nhóm truy xuất dữ liệu và làm sạch cùng nhau, nhưng mỗi quy trình này là một bước đáng kể đến nỗi tôi đã quyết định tách chúng ra. Ở giai đoạn này, một số câu hỏi đáng để xem xét là - tôi cần dữ liệu gì cho dự án của mình? Nó sống ở đâu? Làm thế nào tôi có thể có được nó? Cách hiệu quả nhất để lưu trữ và truy cập tất cả của nó là gì?

Nếu tất cả dữ liệu cần thiết cho dự án được đóng gói và trao cho bạn, bạn đã trúng xổ số. Thường xuyên hơn không, việc tìm kiếm dữ liệu phù hợp cần cả thời gian và công sức. Nếu dữ liệu nằm trong cơ sở dữ liệu, công việc của bạn tương đối đơn giản - bạn có thể truy vấn dữ liệu có liên quan bằng các truy vấn SQL hoặc thao tác dữ liệu bằng công cụ khung dữ liệu như Pandas. Tuy nhiên, nếu dữ liệu của bạn không thực sự tồn tại trong một tập dữ liệu, bạn sẽ cần phải cạo dữ liệu đó. Beautiful Soup là một thư viện phổ biến được sử dụng để cạo các trang web để lấy dữ liệu. Nếu bạn làm việc với một ứng dụng di động và muốn theo dõi sự tương tác và tương tác của người dùng, có vô số công cụ có thể được tích hợp trong ứng dụng để bạn có thể bắt đầu nhận dữ liệu quý giá từ khách hàng. Ví dụ: Google Analytics cho phép bạn xác định các sự kiện tùy chỉnh trong ứng dụng có thể giúp bạn hiểu cách người dùng của bạn cư xử và thu thập dữ liệu tương ứng.
Get started: MySQLBeautiful SoupGoogle Analytics for Firebase

3. Data Cleaning (Làm sạch dữ liệu)
Bây giờ bạn đã có tất cả dữ liệu của mình, chúng tôi chuyển sang bước tốn nhiều thời gian nhất - làm sạch và chuẩn bị dữ liệu. Điều này đặc biệt đúng trong các dự án dữ liệu lớn, thường liên quan đến terabyte dữ liệu để làm việc. Theo các cuộc phỏng vấn với các nhà khoa học dữ liệu, quá trình này (còn được gọi là j công việc của người gác cổng dữ liệu) thường có thể mất 50 đến 80 phần trăm thời gian của họ. Vì vậy, chính xác những gì nó đòi hỏi, và tại sao nó mất nhiều thời gian?

Lý do tại sao đây là một quá trình tốn thời gian như vậy đơn giản là vì có rất nhiều kịch bản có thể cần phải làm sạch. Chẳng hạn, dữ liệu cũng có thể có sự không nhất quán trong cùng một cột, nghĩa là một số hàng có thể được gắn nhãn 0 hoặc 1 và những hàng khác có thể được gắn nhãn không hoặc có. Các kiểu dữ liệu cũng có thể không nhất quán - một số số 0 có thể là số nguyên, trong khi một số trong số chúng có thể là chuỗi. Nếu chúng tôi xử lý một loại dữ liệu phân loại với nhiều loại, một số loại có thể bị sai chính tả hoặc có các trường hợp khác nhau, chẳng hạn như có các loại cho cả nam và nam. Đây chỉ là một tập hợp con của các ví dụ mà bạn có thể thấy sự không nhất quán và điều quan trọng là phải nắm bắt và sửa chúng trong giai đoạn này.

Một trong những bước thường bị lãng quên trong giai đoạn này, gây ra rất nhiều vấn đề về sau, là sự hiện diện của dữ liệu bị thiếu. Thiếu dữ liệu có thể gây ra rất nhiều lỗi trong quá trình tạo và đào tạo mô hình. Một tùy chọn là bỏ qua các trường hợp có bất kỳ giá trị bị thiếu. Tùy thuộc vào tập dữ liệu của bạn, điều này có thể không thực tế nếu bạn có nhiều dữ liệu bị thiếu. Một cách tiếp cận phổ biến khác là sử dụng một cái gì đó gọi là mức độ trung bình, thay thế các giá trị bị thiếu bằng mức trung bình của tất cả các trường hợp khác. Điều này không phải lúc nào cũng được khuyến nghị bởi vì nó có thể làm giảm tính biến đổi của dữ liệu của bạn, nhưng trong một số trường hợp, nó có ý nghĩa.
Get started: PandasDplyrCleaning Dirty Data

4. Data Exploration (Thăm dò dữ liệu)
Bây giờ bạn đã có một bộ dữ liệu sạch lấp lánh, bạn đã sẵn sàng để bắt đầu phân tích. Giai đoạn khám phá dữ liệu giống như động não của phân tích dữ liệu. Đây là nơi bạn hiểu các mẫu và sai lệch trong dữ liệu của bạn. Nó có thể liên quan đến việc kéo lên và phân tích một tập hợp con dữ liệu ngẫu nhiên bằng cách sử dụng Pandas, vẽ biểu đồ hoặc đường cong phân phối để xem xu hướng chung hoặc thậm chí tạo ra một hình ảnh tương tác cho phép bạn đi sâu vào từng điểm dữ liệu và khám phá câu chuyện đằng sau các ngoại lệ .

Sử dụng tất cả các thông tin này, bạn bắt đầu hình thành các giả thuyết về dữ liệu của bạn và vấn đề bạn đang giải quyết. Nếu bạn dự đoán điểm số của sinh viên chẳng hạn, bạn có thể thử hình dung mối quan hệ giữa điểm số và giấc ngủ. Nếu bạn dự đoán giá bất động sản, có lẽ bạn có thể vẽ giá dưới dạng bản đồ nhiệt trên một lô không gian để xem liệu bạn có thể nắm bắt bất kỳ xu hướng nào không.

Có một bản tóm tắt tuyệt vời về các công cụ và phương pháp tiếp cận trên trang Wikipedia để phân tích dữ liệu khám phá.
Get started: Exploratory Data Analysis

5. Feature Engineering
Trong học máy, một tính năng là một thuộc tính hoặc thuộc tính có thể đo lường được của một hiện tượng đang được quan sát. Nếu chúng ta dự đoán điểm số của một học sinh, một tính năng có thể là số lượng giấc ngủ mà họ có được. Trong các tác vụ dự đoán phức tạp hơn như nhận dạng ký tự, các tính năng có thể là biểu đồ đếm số pixel màu đen.

Theo Andrew Ng, một trong những chuyên gia hàng đầu trong lĩnh vực học máy và học sâu, thì Đến với các tính năng là khó khăn, tốn thời gian, đòi hỏi kiến ​​thức chuyên môn. Học máy ứng dụng, về cơ bản là tính năng kỹ thuật. Kỹ thuật tính năng là quá trình sử dụng kiến ​​thức miền để chuyển đổi dữ liệu thô của bạn thành các tính năng thông tin đại diện cho vấn đề kinh doanh mà bạn đang cố gắng giải quyết. Giai đoạn này sẽ ảnh hưởng trực tiếp đến độ chính xác của mô hình dự đoán mà bạn xây dựng trong giai đoạn tiếp theo.

Chúng tôi thường thực hiện hai loại nhiệm vụ trong kỹ thuật tính năng - lựa chọn tính năng và xây dựng.

Lựa chọn tính năng là quá trình cắt giảm các tính năng gây nhiễu nhiều hơn thông tin. Điều này thường được thực hiện để tránh lời nguyền về chiều, trong đó đề cập đến sự phức tạp gia tăng phát sinh từ các không gian chiều cao (nghĩa là quá nhiều tính năng). Tôi sẽ không đi sâu vào chi tiết ở đây vì chủ đề này có thể khá nặng, nhưng chúng tôi thường sử dụng các phương thức lọc (áp dụng biện pháp thống kê để gán điểm cho từng tính năng), phương pháp trình bao (chọn khung tính năng làm vấn đề tìm kiếm và sử dụng một heuristic để thực hiện tìm kiếm) hoặc các phương thức nhúng (sử dụng máy học để tìm ra các tính năng đóng góp tốt nhất cho độ chính xác).

Xây dựng tính năng liên quan đến việc tạo các tính năng mới từ những tính năng mà bạn đã có (và có thể bỏ qua các tính năng cũ). Một ví dụ về thời điểm bạn có thể muốn làm điều này là khi bạn có một biến liên tục, nhưng kiến ​​thức tên miền của bạn thông báo cho bạn rằng bạn chỉ thực sự cần một biến chỉ báo dựa trên ngưỡng đã biết. Ví dụ: nếu bạn có một tính năng dành cho độ tuổi, nhưng mô hình của bạn chỉ quan tâm đến việc một người là người lớn hay trẻ vị thành niên, bạn có thể ngưỡng nó ở tuổi 18 và gán các danh mục khác nhau cho các trường hợp trên và dưới ngưỡng đó. Bạn cũng có thể hợp nhất nhiều tính năng để làm cho chúng có nhiều thông tin hơn bằng cách lấy tổng, chênh lệch hoặc sản phẩm của chúng. Ví dụ: nếu bạn dự đoán điểm số của sinh viên và có các tính năng cho số giờ ngủ mỗi đêm, bạn có thể muốn tạo một tính năng biểu thị giấc ngủ trung bình mà sinh viên có.

6. Predictive Modeling (Mô hình dự đoán)
Mô hình dự đoán là nơi cuối cùng máy học đi vào dự án khoa học dữ liệu của bạn. Tôi sử dụng thuật ngữ mô hình dự đoán bởi vì tôi nghĩ rằng một dự án tốt không phải là mô hình chỉ đào tạo một mô hình và ám ảnh về độ chính xác, mà còn sử dụng các phương pháp và kiểm tra thống kê toàn diện để đảm bảo rằng kết quả từ mô hình thực sự có ý nghĩa và có ý nghĩa. Dựa trên các câu hỏi bạn đã hỏi trong giai đoạn hiểu biết về kinh doanh, đây là nơi bạn quyết định chọn mô hình nào cho vấn đề của mình. Đây không bao giờ là một quyết định dễ dàng, và không có câu trả lời đúng duy nhất. Mô hình (hoặc mô hình và bạn phải luôn kiểm tra một số) rằng việc bạn kết thúc đào tạo sẽ phụ thuộc vào kích thước, loại và chất lượng dữ liệu của bạn, bao nhiêu thời gian và tài nguyên tính toán mà bạn sẵn sàng đầu tư và loại đầu ra bạn có ý định rút ra. Có một vài bảng cheat khác nhau có sẵn trực tuyến có sơ đồ giúp bạn quyết định thuật toán phù hợp dựa trên loại phân loại hoặc vấn đề hồi quy mà bạn đang cố gắng giải quyết. Hai cái mà tôi thực sự thích là Microsoft Azure Cheat Sheet và SAS Cheat Sheet.

Một khi bạn đã đào tạo mô hình của mình, điều quan trọng là bạn phải đánh giá thành công của nó. Một quy trình gọi là xác nhận chéo k-Fold thường được sử dụng để đo lường độ chính xác của mô hình. Nó liên quan đến việc tách tập dữ liệu thành các nhóm phiên bản có kích thước bằng nhau, đào tạo trên tất cả các nhóm trừ một nhóm và lặp lại quy trình với các nhóm khác nhau bị bỏ lại. Điều này cho phép mô hình được đào tạo trên tất cả các dữ liệu thay vì sử dụng phân tách kiểm tra tàu điển hình.

Đối với các mô hình phân loại, chúng tôi thường kiểm tra độ chính xác bằng PCC (phân loại đúng phần trăm), cùng với ma trận nhầm lẫn, phân tách các lỗi thành dương tính giả và âm tính giả. Các sơ đồ như đường cong ROC, là tỷ lệ dương thực sự được vẽ so với tỷ lệ dương tính giả, cũng được sử dụng để đánh giá mức độ thành công của một mô hình. Đối với mô hình hồi quy, các số liệu phổ biến bao gồm hệ số xác định (cung cấp thông tin về mức độ phù hợp của mô hình), sai số bình phương trung bình (MSE) và sai số tuyệt đối trung bình.
Get started: Machine Learning Udacity CourseEssentials of Machine Learning AlgorithmsEvaluating Machine Learning Models

7. Data Visualization (Trực quan hóa dữ liệu)
Trực quan hóa dữ liệu là một lĩnh vực phức tạp, chủ yếu là vì nó có vẻ đơn giản nhưng nó có thể là một trong những điều khó nhất để làm tốt. Điều đó bởi vì viz dữ liệu kết hợp các lĩnh vực truyền thông, tâm lý học, thống kê và nghệ thuật, với mục tiêu cuối cùng là truyền đạt dữ liệu theo cách đơn giản nhưng hiệu quả và dễ chịu trực quan. Khi bạn đạt được những hiểu biết dự định từ mô hình của mình, bạn phải trình bày chúng theo cách mà các bên liên quan chính khác nhau trong dự án có thể hiểu được.

Một lần nữa, đây là một chủ đề có thể là một bài đăng trên blog của riêng mình, vì vậy thay vì đi sâu vào lĩnh vực trực quan hóa dữ liệu, tôi sẽ đưa ra một vài điểm bắt đầu. Cá nhân tôi thích làm việc thông qua đường ống phân tích và trực quan hóa trên một máy tính xách tay Python tương tác như Jupyter, trong đó tôi có thể có mã và trực quan hóa của mình cạnh nhau, cho phép lặp lại nhanh chóng với các thư viện như Seaborn và Bokeh. Các công cụ như Tableau và Plotly giúp dễ dàng kéo và thả dữ liệu của bạn vào trực quan hóa và thao tác dữ liệu để có được hình ảnh phức tạp hơn. Nếu bạn đang xây dựng một hình ảnh trực quan tương tác cho web, không có điểm khởi đầu nào tốt hơn D3.js.
Get started: An Overview of Every Data Visualization Course on the InternetTableauPlotlySeabornBokehD3.js

8. Hiểu biết về kinh doanh
Bây giờ bạn đã trải qua toàn bộ vòng đời, đã đến lúc quay lại bảng vẽ. Hãy nhớ rằng, đây là một chu trình, và do đó, nó là một quá trình lặp đi lặp lại. Đây là nơi bạn đánh giá mức độ thành công của mô hình liên quan đến sự hiểu biết kinh doanh ban đầu của bạn. Liệu nó có giải quyết được các vấn đề được xác định? Liệu phân tích mang lại bất kỳ giải pháp hữu hình? Nếu bạn gặp phải bất kỳ hiểu biết mới nào trong lần lặp đầu tiên của vòng đời (và tôi đảm bảo với bạn rằng bạn sẽ làm được), giờ đây bạn có thể truyền kiến thức đó vào lần lặp tiếp theo để tạo ra những hiểu biết mạnh mẽ hơn và giải phóng sức mạnh của dữ liệu để thu được kết quả phi thường cho doanh nghiệp hoặc dự án của bạn.

Wednesday, November 7, 2018

Concepts, use cases and principles to build big data systems



1) Introduction to the key Big Data concepts
1.1 The Origins of Big Data
1.2 What is Big Data ?
1.3 Why is Big Data So Important ?
1.4 How Is Big Data Used In Practice ?

2) Introduction to the key principles of Big Data Systems
2.1 How to design Data Pipeline in 6 steps
2.2 Using Lambda Architecture for big data processing

3) Practical case study : Chat bot with Video Recommendation Engine

4) FAQ for student



Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người

AI và Machine Learning đã, đang và sẽ là trụ cột tương lai của công nghệ thế giới. Để nắm được những cơ hội mới, kiến thức về chúng là không thể bỏ qua.

Thời đại công nghệ lên ngôi, vạn vật kết nối internet (IoT) đòi hỏi phải có một phương thức có thể giúp ta sử dụng. Đồng thời, từ khối dữ liệu khổng lồ mà con người cần dự đoán, vận hành mà không cần đến quá nhiều bàn tay con người.
Sự nổi lên của AI - Trí Tuệ Nhân Tạo và Machine Learning (máy tự học) đã và đang mang đến rất nhiều lợi ích cho toàn thế giới. Từ việc đi lại cho đến học tập hay mua sắm, xem phim trực tuyến, giờ đây và trong thời gian tới, tất cả sẽ có bàn tay của AI xen vào.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 1. 
Nhưng tóm lại, Machine learning là gì? 
Nếu coi lĩnh vực AI - Artifical Intelligence hay Trí Tuệ Nhân Tạo như một cỗ máy đồ sộ thì Machine Learning chính là những thứ bên trong cỗ máy đó, giúp cho nó trở nên hoàn thiện nhất có thể. 
Cỗ máy ấy sẽ có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể. 
Vì vậy, công việc chủ yếu sẽ dựa vào thuật toán và dữ liệu. Một khi có trong tay rất nhiều dữ liệu thì vấn đề sẽ chỉ còn nằm ở thuật toán mà thôi.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 2.
Khi một cỗ máy có thể tự học
Nhiều năm trước, AI và Machine learning chỉ dừng lại ở mức ý tưởng rất hạn chế. Nhưng những năm gần đây, mọi chuyện đã bắt đầu thay đổi. 
Mới đây nhất, chúng ta có cuộc cách mạng công nghiệp 4.0. Tại sao lại là 4.0? Vì trong lịch sử, chúng ta đã có 3 cuộc cách mạng công nghiệp trước đó, bao gồm: động cơ hơi nước (1), năng lượng điện (2), máy móc tự động hóa - công nghệ thông tin (3). Và nay, AI cùng Machine Learning chính là cột mốc cách mạng thứ tư. 
Hai chữ Machine Learning mới được nhiều người biết đến, nhưng ứng dụng của nó đã hết sức rộng rãi. Từ xe tự hành của Google và Tesla, cho đến hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, tự động đề xuất những thứ người dùng quan tâm của Facebook, Google, Youtube... Tất cả đều là công năng của AI và Machine Learning.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 3.
Một trong những minh họa tốt nhất về Machine Learning là bộ lọc "spam" - thứ mà bạn vẫn dùng để quản lý email, giúp chúng ta phân loại những email hữu ích và email rác (hay còn gọi là Junk Mail).
Để làm được việc này, những "máy lọc" (filter) sẽ được thêm vào các tập hợp tiêu chí và quy định bởi chính lập trình viên. Phản hồi của người dùng sau đó sẽ giúp hệ thống tự học, tự rèn luyện cách đánh giá thế nào là một email spam, để rồi trở nên thông minh hơn và vận hành một cách tự động sau này. 
Thuật toán Machine Learning hoạt động ra sao?
Quá trình hoạt động của thuật toán sẽ được chia ra 2 phần: Học Hỏi và Dự Đoán.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 4.
Đầu tiên là công đoạn Học hỏi. Các dữ liệu trước tiên sẽ được trải qua công đoạn "tiền xử lý", bao gồm Chuẩn hóa, Giảm chiều dữ liệu, và Xử lý hình ảnh. Tiếp đó máy tính sẽ học hỏi theo nhiều cách. Có thể là Học giám sát (có bàn tay con người), Học không giám sát (không cần đến con người), rồi Tối ưu hóa, Phân tích Lỗi, và kiểm tra thành quả.
Bước cuối cùng là Phán đoán. Sau khi trải qua tất cả công đoạn từ quá trình đầu tiên, sản phẩm thu được chính là dữ liệu đã qua xử lý. Từ các mẫu đã có sẵn và dữ liệu mới được nạp vào, AI sẽ dự đoán các dữ liệu tiếp theo, và cho ra thành phẩm.  
Tùy thuộc phương thức học, các thuật toán Machine Learning thường được chia làm 4 nhóm: Supervised learning, Unsupervised learning, Semi-supervised learning và Reinforcement learning.
Supervised Learning (Học Có Giám Sát) giống như thuật toán về lọc thư rác, bao gồm những dữ liệu vào ra để cuối cùng đưa ra kết quả mong muốn. Ví dụ, bạn đưa một email vào thư mục spam, các email tương tự sẽ được máy tính tự động lọc bỏ ra. Đây cũng là nhóm phổ biến nhất trong các thuật toán của Machine Learning.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 5.
Tiếp theo là Unsupervised Learning (Học Không Giám Sát), ở đó dữ liệu trong quá trình làm việc không có đầu ra rõ ràng. Thuật toán này sẽ dựa vào cấu trúc dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc tính toán và lưu trữ.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 6.
Tương tự Unsupervised Learning, Semi-supervised Learning (Học Bán Giám Sát) chỉ phụ trách một công việc đó là đưa ra ít kết quả được yêu cầu nhất.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 7.
Loại còn lại là Reinforcement Learning - là tập hợp các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất. Nó được áp dụng trong các hệ thống video game, nhằm giúp cho AI của game hoạt động với trình độ tốt nhất trong phạm vi có thể cài đặt.
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 8.
Tại sao thế giới cần đến Machine Learning?
Là một phần của lĩnh vực Trí Tuệ Nhân Tạo, Machine Learning gần như trở thành một bộ não của AI. 
Những thuật toán có thể hiểu đơn giản là kiến thức đầu đời dành cho một em bé. Từ kiến thức ban đầu, các "em bé" dần thu thập thông tin từ môi trường, tự trải nghiệm, học hỏi sau những lần tiếp xúc. 
Machine Learning - xu hướng công nghệ không thể thiếu trong thời đại máy móc thay thế con người - Ảnh 9.
Nếu ví Machine Learning như một người đang học hỏi thì đúng là như vậy
Nếu ví nó như người đang học nghề thì quá trình nhận biết, học hỏi đó chính là giai đoạn training. Xuyên suốt quãng thời gian training, càng được huấn luyện nhiều - ở đây tức là người dùng càng sử dụng tương tác với AI - thì người ấy sẽ càng thành thạo hơn
Nói cách khác các máy móc ấy sẽ càng ngày càng thông minh, đáp ứng được nhu cầu nhanh hơn và chính xác hơn. Ở những trường hợp cụ thể, thậm chí nó còn gợi ý cho người sử dụng biết phải làm hay không nên làm những gì tiếp theo để tránh gặp nguy hiểm, hoặc đưa ra được lựa chọn tốt nhất cho người sử dụng.
Machine Learning tiềm ẩn những ứng dụng tuyệt vời, chính vì thế mà công nghệ muốn phát triển vượt bậc hơn nữa sẽ không thể bỏ qua vùng đất hứa này được. Ban đầu chỉ từ những công việc "đơn thuần" như gợi ý các sản phẩm cho khách hàng, sau đó hoàn toàn có thể là vận hành, giám sát cả một hệ thống giao thông, công ty, ngân hàng... mà gần như không thể sai số hay nhầm lẫn
Công việc của chúng ta lúc ấy chỉ cần đảm bảo cho nó luôn được vận hành tốt nhất. Viễn tưởng về một tương lai, nơi mọi thứ đều an toàn, nhanh chóng, thuận tiện và chính xác dưới sự vận hành của máy móc có khả năng tự học, được bảo an bởi con người chắc chắn là điều có thể.
Nguồn tham khảo: Simplilearn, mathworks, Forbes, digital trend...

Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người

Bằng nguồn dữ liệu khổng lồ, máy móc có thể làm được bất kỳ điều gì, kể cả dự đoán được tương lai. Đó chính là lợi điểm mà Big Data mang lại.

Nếu đã từng xem qua bộ phim Captain America 2: The winter soldier, chắc hẳn bạn vẫn còn nhớ cảnh phim tổ chức Hydra sử dụng thuật toán để biết được những người có thể gây nguy hiểm cho chúng là ai. Chúng thậm chí có thể dự đoán được tương lai, số phận của một con người.
Nhưng thuật toán đó dựa vào đâu mà có thể làm được như vậy? Đó chính là Big Data.
Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người - Ảnh 1.
Big Data là gì?
Đúng như tên gọi của nó, Big Data là thuật ngữ dùng để chỉ một tập hợp dữ liệu rất lớn và phức tạp đến mức các công cụ phân tích, xử lý dữ liệu thông thường không thể nào đảm đương được nhiệm vụ của nó. 
Hãy tưởng tượng, 50 người ngẫu nhiên truy cập vào một trang web bất kỳ. Các hoạt động của họ trên website đó sẽ được lưu trữ dưới dạng các dữ liệu (data). Tuy nhiên, nếu có hơn 3 triệu người cùng truy cập vào trang web ấy, thì đó được gọi là Big Data (hay Dữ Liệu Lớn).
Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người - Ảnh 2.
Theo trang internetlivestats.com, ngay tại thời điểm bạn đang đọc bài viết này thì có hơn 3.800.950.100 người dùng đang sử dụng Internet trên toàn thế giới. Con số ấy là gì vậy? Nó chính là Big Data. 
Và với một khối dữ liệu khổng lồ mang trong mình hàng tấn không tin quý giá như vậy, nếu trích xuất thành công sẽ giúp rất nhiều cho việc kinh doanh, khoa học, y tế, giao thông, và thậm chí là cả... dự đoán tương lai.
Cấu tạo 4V của Big Data
Mọi thứ trên thế giới đều có cấu tạo của riêng nó, cho dù là những sinh vật bé nhỏ nhất hay những thứ khổng lồ. Big Data cũng vậy, có thể phân tích nó thành 4 yếu tố (còn gọi là mô hình 4V): Khối lượng (Volume), Tốc độ (Velocity), Đa dạng (Variety), và Tính chân thực (Veracity).
Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người - Ảnh 3.
Khối lượng: Tất cả những hoạt động diễn ra từ các nguồn đa dạng như giao dịch thương mại, mạng xã hội, thông tin qua lại giữa máy móc hay cảm biến dữ liệu đều được thuật toán Big Data quan sát và theo dõi. Chính vì thế, khối lượng của Big Data phải nói là khổng lồ.
Tốc độ: Chỉ các luồng dữ liệu (data) ở tốc độ cao và phải được xử lý kịp thời. Việc xử lý dữ liệu như phân tích dòng data để đưa ra kết quả gần hoặc song song với thời gian thực cũng đều diễn ra rất nhanh.
Lấy ví dụ như Facebook! Mạng xã hội này phải xử lý khoảng... 900 triệu bức hình upload lên mỗi ngày. Tốc độ xử lý hình ảnh này chính là tốc độ xử lý Big Data của Facebook.
Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người - Ảnh 4.
Đa dạng: Nguồn dữ liệu của Big Data đến từ rất nhiều nguồn. Đó là tất cả các dạng thông tin có thể được cấu trúc hóa, số hóa trong cơ sở dữ liệu truyền thống. 
Chúng có thể là các tài liệu văn bản phi cấu trúc, video, âm thanh, email, thậm chí là dữ liệu mã cổ phiếu.
Tính chân thực: Mặc dù, chất lượng cũng như khả năng sử dụng của dữ liệu phần lớn phụ thuộc vào nguồn cung cấp, nhưng chúng ta chẳng bao giờ có thể tránh được rủi ro không mong muốn. 
Trên thực tế không phải những dữ liệu nào cũng có giá trị cao mà trong đó đều có tốt có xấu. Tính chân thực ở đây, tức là dữ liệu phải đáng tin cậy.
Big Data và xu hướng bắt buộc của doanh nghiệp trong tương lai
Nhìn chung, tất cả các kiểu dữ liệu đều quan trọng đối với kinh doanh, bất kể là Small Data hay Big Data. 
Trong khi Small Data chỉ hiệu quả cho kinh doanh nhỏ lẻ để nhằm có bước đệm phát triển sau này, thì Big Data có giá trị giúp ích rất lớn cho việc nghiên cứu, phân tích những nhu cầu và cơ hội phát triển của khách hàng. 
Lợi ích cụ thể của Big Data là:
1. Giúp phát triển tính sáng tạo
Để đạt được thành công trong kinh doanh, ý tưởng sáng tạo là một thứ cực kỳ quan trọng.  
Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người - Ảnh 5.
Nó cũng lý giải cho việc tại sao Big Data lại cần thiết trong công việc tìm ra loại giải pháp nào mà người dùng đang tìm kiếm đến như vậy.

Ví dụ, các hãng hàng không tất nhiên sẽ không thể vì một người muốn du lịch tới Tokyo mà cho cất cánh một chiếc máy bay 150 chỗ được. Họ sẽ phải sử dụng đến kho dữ liệu khổng lồ của họ, dựa trên những yêu cầu từ khách hàng và thông tin sẵn có để đưa ra giải pháp phù hợp hơn - ở đây là tìm cho họ một chuyến bay hợp lý. 
2. Biến giấc mơ kinh doanh trở thành sự thật
Phân tích Big Data sẽ là công cụ tốt nhất để tìm ra ý tưởng kinh doanh và tạo ra giải pháp sao cho phù hợp nhất với chiến lược của công ty. 
Big Data - xu hướng cần thiết khi máy móc có thể dự đoán tương lai và số phận của con người - Ảnh 6.
Xu hướng thị trường sẽ được dự đoán nhờ Big Data
Tại sao ư? Một công ty muốn phát triển tốt cần có tầm nhìn trong dài hạn, ít nhất phải là 5 - 10 năm. Dự đoán trước được xu hướng thị trường có thể đem lại một nguồn lợi nhuận khổng lồ.
Nhưng bạn không thể nào dự đoán được 5 năm tiếp theo chỉ bằng một lượng nhỏ dữ liệu để phân tích được. Đó chính là lý do Big Data trở nên quan trọng.
3. Tiết kiệm chi phí
Dữ liệu lớn, phương pháp kinh doanh sẽ hiệu quả hơn và đương nhiên chi phí phải bỏ ra cũng thấp hơn.
4. Giảm thiểu thời gian
Công cụ tốc độ cao như Hadoop và phân tích bộ nhớ có thể xác định dễ dàng các nguồn dữ liệu mới giúp các doanh nghiệp phân tích dữ liệu ngay tức thì và đưa ra các quyết định nhanh chóng dựa trên khả năng tự học - machine learning.
Nguồn tham khảo: Forbes, Big Data, Dummies, SAS, Plasma Comp...

Monday, October 22, 2018

Video Ecosystem và các ý tưởng xây dựng hệ thống Big Data kế tiếp chuyên cho video



Sự thật: YouTube có hơn 300 giờ video được tải lên mỗi phút. Và  đó là YouTube ! Nếu chúng ta thêm tất cả các video khác từ toàn bộ Internet, chúng ta thậm chí sẽ không biết bắt đầu từ đâu bằng các con số nào.
Tuy nhiên, những con số thậm chí còn lớn hơn thực sự ẩn trong công ty tư nhân như từ các nguồn như đài truyền hình, công ty truyền thông, CCTV, GoPros, bodycams, thiết bị thông minh, v.v. Thế giớ chúng ta đang sống đang tạo ra video với tốc độ và quy mô chưa từng có.

Điều này đưa chúng ta đến khái niệm Video Big Data. Điều này sẽ tạo ra khả năng trích xuất dữ liệu video và hiểu được nó. Nhưng có rất nhiều thông tin được nhúng bên trong các video đang chờ để phát hiện ra, đó là một mỏ vàng với bất kỳ công ty nào !

Khái niệm "Video Big Data" sẽ lớn hơn rất nhiều khái niệm "Big Data" cổ điển của 10 năm về trước (vốn chỉ bao gồm phổ biến chỉ có văn bản text và hình ảnh)
Vì sao Video Big Data sẽ phát triển trong nhiều năm tới ?
"Video First" là khái niệm phổ biến gần đây của các nhà sản xuất content, qua khá nhiều các startups cũng như công ty đang triển khai sản phẩm. Ngoài YouTube và Facebook, Instagram , các ứng dụng OTT như Netflix, FPT Play, ...
Điều này tất yếu dẫn đến 5 xu hướng các công ty công nghệ làm những mảng khác về hệ sinh thái cho video 


1) Streaming Cloud: làm về hạ tầng Live Streaming, Video Hosting, ... 


2) Video Ad Platform: 

3) Video Player
4) Video Content Platform
5) Video Analytics Platform
Vì sao Video Big Data lại phức tạp ?
  • Có rất nhiều yếu tố bên trong video (lời nói, văn bản, khuôn mặt, đối tượng, v.v.)
  • Video về bản chất là tập hợp image liên tục (29 frames/seconds), nó không phải là tĩnh.
  • Rất khó để trích xuất các phần tử khác nhau của dữ liệu video.
  • Mỗi phần tử video yêu cầu kỹ thuật trích xuất dữ liệu khác nhau.
  • Rất khó để hiểu được dữ liệu video vì bản chất không có cấu trúc của nó.
  • Tốn kém chi phí để trích xuất dữ liệu ở quy mô lớn vì cần nhiều card đồ hoạ và computing resources
Chúng ta tạo ra giá  trị gì từ những thông tin trong video ?

Thông tin phổ biến trong video bao gồm
  • Lời nói 
  • Văn bản 
  • Đối tượng 
  • Chuyển động (toàn bộ hoặc khu vực cụ thể của khung hình video)
  • Khuôn mặt những nhân vật (xác định User ID từ video)
  • Cảm xúc (lên đến 8 cảm xúc chính)
  • Nội dung xúc phạm (brand-safe)
Việc có cấu trúc hoá và index dữ liệu trong video sẽ giúp chúng ta đưa về năng lực hiểu rõ hơn nhiều thông tin chi tiết ở mức độ mà dữ liệu hình ảnh và text chưa cung cấp đủ
Video demo ứng dụng AI cho việc phân tích dữ liệu video 



Kết luận:

Lĩnh vực Video Big Data mới nổi lên. Nếu không có sự tiến bộ trong nhiều lĩnh vực Trí tuệ nhân tạo trong nhiều lĩnh vực (Speech Recognition, Computer Vision, Face Detection,Text Analytics v.v.,
Video Big Data thậm chí sẽ không tồn tại khi cần các lĩnh vực trên chưa phát triển.

Với tốc độ mà chúng ta đang sản xuất video, cùng với khả năng của chúng ta trích xuất dữ liệu video bằng cách sử dụng A.I sẽ tạo ra các khả năng lợi thế cạnh tranh là rất lớn.
Vậy lý do gì chúng ta sẽ bỏ qua Video Big Data trong danh mục các công nghệ cần đầu tư ? 

Featured Post

Big Data : Nhu cầu thị trường - Định hướng nghề nghiệp - Tính chất công việc

Tập hợp một số câu hỏi từ bạn trên page https://www.facebook.com/bigdatavn  và từ các buổi thuyết trình ở Barcamp 1. Làm việc trong ngàn...