Đón năm mới 2017 với cuộc thi Kaggle

Can you improve lung cancer detection
Can you improve lung cancer detection

Hằng năm Kaggle có đưa ra nhiều cuộc thi liên quan đến các vấn đề xã hội như là một thách thức để các bạn trẻ tài năng tham gia giúp sức cho cộng đồng.

Lần này, nhân dịp đầu năm mới, tôi và một vài người bạn quyết định tham gia khởi động với cuộc thi Kaggle với chủ đề liên quan đến chẩn đoán bệnh ung thư phổi thông qua ảnh DICOM.

Mục đích của bài viết này là tổng hợp lại các thông tin đủ để các bạn hoặc đồng đội của bạn bắt tay vào xây dựng mô hình dự đoán cũng như truyền chút động lực cho các bạn đang tham vọng dấn thân vào ngành Data Science.

Xem tiếp

TensorFlow – thư viện code Deep Learning

tensorboard
tensorboard

Bài viết này không nhằm vào hướng dẫn lập trình TensorFlow. Lý do, các bạn có thể tìm thấy nhiều source code hướng dẫn khác nhau trên internet, tự cài đặt và lập trình dễ dàng. Nếu các bạn đã có kiến thức cơ bản về Neural Network thì việc nắm bắt công nghệ này cũng sẽ đơn giản hơn rất nhiều.

Thông thường, ta sẽ đi theo flow nghiên cứu sau: vào trang https://www.tensorflow.org/ để xem qua bài giới thiệu chung chung, sau đó tiến hành cài đặt, cài đặt thất bại do conflict thư viện, cài đặt thành công, đọc source code, cài đặt thuật toán từ các tutorial, hiểu sơ sơ, bắt đầu hoang mang do có quá nhiều bài viết cần đọc và cài đặt -> mất hết cảm hứng.

Do đó, mình sẽ hướng các bạn đi theo một tiếp cận khác. Đầu tiên, ta sẽ lấy cảm hứng nghiên cứu thông qua các ứng dụng ngoài thực tế, người thật việc thật của TensorFlow. Tiếp đến, ta sẽ xem mọi người đánh giá như thế nào về mã nguồn này, có đáng để ta tiếp tục nghiên cứu không. Sau cùng, ta sẽ bắt tay vào tiến hành cài đặt và ứng dụng công nghệ cùng với các tài liệu tham khảo chất lượng đã thu thập được.

Xem tiếp

Command line thường dùng

Linux is sexy.jpg

Trong quá trình phân tích dữ liệu, tôi thường làm việc trực tiếp trên môi trường UNIX. Nơi mà bạn chỉ có màn hình nền đen chữ trắng (terminal, command line) để tương tác với hệ thống (thu thập, quan sát, chỉnh sửa, chia sẻ dữ liệu). Lý do là vì bạn thường phải thuê server bên ngoài như Amazon và họ chỉ cung cấp cho bạn môi trường tương tác chính là từ dòng lệnh. Bài viết này xin tổng hợp lại những command line mà tôi thường dùng nhất để tiện cho các bạn mới nhập môn tham khảo và áp dụng.

Hy vọng sự linh hoạt của các dòng lệnh này có thể giúp bạn trở thành một nhà khoa học dữ liệu hiệu quả và năng suất hơn. Bạn sẽ học được cách kết hợp các công cụ dòng lệnh nhỏ nhưng mạnh mẽ này với nhau để nhanh chóng thu thập, khám phá và xây dựng mô hình dữ liệu của bạn.

Xem tiếp

Những chuyên gia bạn nên follow trong lĩnh vực Data Science

Những câu nói hay về Data Science

Tầm quan trọng của dữ liệu

Data vs information
Data vs information

“You can have data without information, but you cannot have information without data.”- Daniel Keys Moran, Computer programmer and science fiction author

Bạn có thể có dữ liệu mà không cần thông tin, nhưng bạn không thể có thông tin mà không có dữ liệu.

“Most of the world will make decisions by either guessing or using their gut. They will be either lucky or wrong.”- Suhail Doshi, CEO, Mixpanel

Hầu hết mọi người đưa ra những quyết định chỉ dựa vào phán đoán của mình. Làm như vậy họ chỉ nhận được một là thành công do may mắn hay hai là thất bại do sai lầm.

“It is a capital mistake to theorize before one has data.”- Arthur Conan Doyle, Author of Sherlock Holmes

Ta sẽ mắc nhiều sai lầm khi đưa ra giả thuyết trước khi được cung cấp thêm dữ liệu.

“We’re entering a new world in which data may be more important than software.”- Tim O’Reilly, Founder, O’Reilly Media

Chúng ta đang ở trong một thế giới mới mà ở đó dữ liệu quan trọng hơn cả phần mềm.

“Data is a precious thing and will last longer than the systems themselves.”- Tim Berners-Lee, father of the Worldwide Web

Dữ liệu là một thứ tài sản quý giá và sẽ tồn tại lâu hơn cả chính hệ thống của mình.

“It’s difficult to imagine the power that you’re going to have when so many different sorts of data are available.”- Tim Berners-Lee

Bạn sẽ khó hình dung được sức mạnh mà bạn sẽ có khi sở hữu đa dạng các loại dữ liệu ngoài kia.

“Web users ultimately want to get at data quickly and easily. They don’t care as much about attractive sites and pretty design.”- Tim Berners-Lee

Người dùng Web thật sự cần dữ liệu càng nhanh càng đơn giản càng tốt. Họ sẽ không quan tâm nhiều đến vẻ hào nhoáng và vẻ đẹp của giao diện đâu.

“Data, I think, is one of the most powerful mechanisms for telling stories. I take a huge pile of data and I try to get it to tell stories.” – Steven Levitt, Co-author of Freakonomics

Dữ liệu là một công cụ mạnh mẽ được dùng để kể các câu chuyện. Tôi sử dụng nhiều biểu đồ khác nhau để kể nên các câu chuyện mà mình muốn chia sẻ.

“Before Google, and long before Facebook, Bezos had realized that the greatest value of an online company lay in the consumer data it collected.” – George Packer, author for the New Yorker

Trước khi có Google và Facebook, Bezos đã nhận ra rằng giá trị thật sự của các công ty online là dựa vào dữ liệu khách hàng mà họ thu thập được.

“Our ability to do great things with data will make a real difference in every aspect of our lives.” – Jennifer Pahlka, Founder and Executive Director for Code for America

Khả năng làm việc với dữ liệu sẽ mang lại những thay đổi hữu ích ở mọi mặt của cuộc sống chúng ta.

“Some of the best theorizing comes after collecting data because then you become aware of another reality.” – Robert J. Shiller, Winner of the Nobel Prize in Economics

Nhiều lý thuyết hay được phát minh từ việc thu thập dữ liệu. Vì trong quá trình này, bạn đã nhận ra được các chân lý mới.

“Without big data analytics, companies are blind and deaf, wandering out onto the Web like deer on a freeway.” – Geoffrey Moore, Partner at MDV

Nếu không phân tích được Big Data, các công ty cũng như những người khiếm thị và khiếm thính, đi vào khu rừng Web như những chú hưu ngây thơ.

Đối xử với dữ liệu

Torture the data
Torture the data

“Torture the data, and it will confess to anything.” – Ronald Coase, winner of the Nobel Prize in Economics

Hãy “tra tấn” dữ liệu và nó sẽ thú nhận với bạn tất cả.

“Data scientists are involved with gathering data, massaging it into a tractable form, making it tell its story, and presenting that story to others.” – Mike Loukides, VP, O’Reilly Media

Công việc của Data scientists liên quan đến thu thập dữ liệu, ghi chú lại các thông tin để dễ theo dõi, xây dựng câu chuyện trên các số liệu này, và trình bày câu chuyện đó cho mọi người.

“I think you can have a ridiculously enormous and complex data set, but if you have the right tools and methodology then it’s not a problem.” – Aaron Koblin, Entrepreneur in data and digital technologies

Nếu bạn có dữ liệu kỳ quặc, lớn và phức tạp nhưng bạn có những công cụ và phương pháp đúng đắn, thì mọi việc coi như xong.

“When human judgment and big data intersect there are some funny things that happen.”- Nate Silver, Founder of FiveThirtyEight

Khi phán xét của con người và Big Data gặp nhau thì sẽ có nhiều điều thú vị xảy ra.

Những điều không ngờ tới

Forensics and guess work
Forensics and guess work

“The problem with data is that it says a lot, but it also says nothing. ‘Big data’ is terrific, but it’s usually thin. To understand why something is happening, we have to engage in both forensics and guess work.”- Sendhil Mullainathan, Professor of economics, Harvard

Vấn đề của dữ liệu là nó sẽ cho ta biết quá nhiều thứ và cũng không cho ta biết gì cả. Để hiểu được điều gì đang diễn ra, bạn cần đóng vai như một người pháp y và nhà phỏng đoán.

“Big Data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it.”- Dan Ariely, Author of Predictably Irrational

Big Data giống như sex ở tuổi teen: mọi người nói về nó, không ai thật sự biết phải làm như thế nào, mọi người nghĩ là mọi người đang thực hiện chúng, nên mọi người cho rằng họ đang làm điều đó.

Dữ liệu và quyền riêng tư

Eagle eye
Eagle eye

“Everything we do in the digital realm – from surfing the Web to sending an e-mail to conducting a credit card transaction to, yes, making a phone call – creates a data trail. And if that trail exists, chances are someone is using it – or will be soon enough.”- Douglas Rushkoff, Author of Throwing Rocks at the Google Bus

Những việc chúng ta làm liên quan đến kĩ thuật số – lướt web, gửi mail, giao dịch thẻ tín dụng, gọi điện thoại – đều tạo ra lưu vết dữ liệu. Nếu lưu vết này tồn tại, thì sẽ có ai đó đang sử dụng chúng hoặc không sớm thì muộn cũng sẽ sử dụng chúng.

“You happily give Facebook terabytes of structured data about yourself, content with the implicit tradeoff that Facebook is going to give you a social service that makes your life better.”- John Battelle, Founder of Wired Magazine

Bạn đưa hàng terabytes các thông tin về cá nhân cho Facebook, đổi lại Facebook sẽ cung cấp những dịch vụ giúp cho cuộc sống của bạn thêm thú vị hơn.

“It’s so cheap to store all data. It’s cheaper to keep it than to delete it. And that means people will change their behavior because they know anything they say online can be used against them in the future.”- Mikko Hypponen, Security and privacy expert

Việc lưu trữ dữ liệu rẻ hơn việc xoá dữ liệu. Nghĩa là mọi thông tin hiện tại sẽ được sử dụng để chống lại chúng ta trong nay mai.

“The price of freedom is eternal vigilance. Don’t store unnecessary data, keep an eye on what’s happening, and don’t take unnecessary risks.” — Chris Bell, US Congressman

Cái giá của sự tự do là phải luôn cảnh giác. Đừng lưu trữ những dữ liệu không cần thiết, hãy quan sát những gì đang diễn ra và đừng dính vào những rủi ro không cần thiết.

Những thay đổi

Sexy jobs
Sexy jobs

“I keep saying that the sexy job in the next 10 years will be statisticians, and I’m not kidding.”- Hal Varian, Chief economist, Google

Tôi luôn nói rằng nghề nghiệp “gợi cảm” nhất trong 10 năm tới sẽ là các nhà thống kê, và tôi không đùa đâu.

“There’s a digital revolution taking place both in and out of government in favor of open-sourced data, innovation, and collaboration.”- Kathleen Sebelius, Former United States Secretary of Health and Human Services

Có một cuộc cách mạng kĩ thuật số diễn ra ở trong và ngoài chính phủ liên quan đến mã nguồn mở, đổi mới và hợp tác.

“We should teach the students, as well as executives, how to conduct experiments, how to examine data, and how to use these tools to make better decisions.”- Dan Ariely

Tôi sẽ dạy cho những sinh viên, cũng như những nhà điều hành, cách tiến hành các thực nghiệm, làm sao để kiểm tra dữ liệu, làm sao sử dụng những công cụ này để đưa ra các quyết định tốt hơn.

“The world is one big data problem.”- Andrew McAfee, MIT scientist

Thế giới là một bài toán Big Data.

Nguồn tham khảo

41 Shareable Data Quotes That Will Change How You Think About Data
A Beginner’s Guide to Getting Your First Data Science Job

Ý nghĩa của việc học

Universal
Universal

Tôi xin dành ra mục này để tổng hợp lại những phát biểu nói lên ý nghĩa của việc học. Từ đó, hy vọng chúng ta sẽ có thêm động lực để trao dồi thêm nhiều kiến thức và thực hiện nghiên cứu hằng ngày.

work hard
work hard

Được đi học chắc chắn là đỡ cực nhọc hơn rất nhiều so với việc “kiếm sống”. Quan trọng hơn, khi có kiến thức, bạn mới cảm thấy “cuộc sống này có nhiều điều tốt đẹp” và “đáng sống”.

Một nghề thì sống đống nghề thì chết.

thinker vs doer
thinker vs doer

Xã hội không dùng được kiến thức trong đầu chúng ta, chỉ khi nào ta biến kiến thức đó thành sản phẩm dùng được thì khi đó kiến thức mới thực sự có giá trị.

Học mà không hành thì học vô ích, hành mà không học thì hành không trôi chảy

Tự học là thuộc tính của trí tuệ gắn liền với bản năng sinh tồn

Stupid vs Smart
Stupid vs Smart

Tri thức tự nó là sức mạnh

Người thích tự học thường có lối sống theo lý tính hơn là sống theo cảm tính vốn thường gắn liền với các bản năng; họ nhận ra được cái giá trị của đời sống tinh thần.

Người trí thì vui, người nhân từ thì sống lâu.

Ai có khả năng tự học thường tự tin, tri túc và tự trọng.

Người tự học vì nhu cầu trí tuệ biết tự đánh giá mình nên tự chủ, dễ nhận ra rằng “càng học càng thấy mình dốt” cho nên thường khiêm tốn.

Kẻ nào không phấn phát tìm hiểu thì ta không giảng cho, không ráng lên để phát biểu ý kiến thì ta không khai phát cho, ta nêu ra một góc cạnh (của vấn đề) mà không tự suy nghĩ tìm ra ba góc kia, thì ta không dạy cho nữa. Cần trở nên năng động , sáng tạo , không ỷ lại, không phụ thuộc vào người khác

The research cycle
The research cycle

Tự học là một công việc gian khổ , đòi hỏi lòng quyết tâm và sự kiên trì .Càng cố gắng tự học con người càng trau dồi được nhân cách và tri thức của mình .Chính vì vậy tự học là một việc làm độc lập gian khổ mà không ai có thể học hộ ,học giúp. Bù lại, phần thưởng của tự học thật xứng đáng : đó là niềm vui, niềm hạnh phúc khi ta chiếm lĩnh được tri thức. Biết bao những con người nhờ tự học mà tên tuổi của họ được tạc vào lịch sử

Học tập những trải nghiệm từ sách để trở thành một người vững vàng, có tầm hiểu biết và dễ dàng vượt qua những thử thách trong cuộc sống tương lai, khi đã bước vào tuổi trưởng thành.

be patient
be patient

Có thể bạn đi sau, đi chậm hơn bạn bè nhưng không sao cả, quan trọng là cái đích bạn hướng tới. Can đảm lên bạn nhé

Bạn vẫn còn tương lai đang rộng mở ở phía trước, ánh mắt cha mẹ đang mong ngóng thành công của chính bạn và cho cuộc sống của đất nước sau này.

Machine Learning cho người bắt đầu

start here
start here

Những bạn yêu thích Machine Learning và không biết mình nên bắt đầu từ đâu có thể bắt đầu tại đây. Mọi câu hỏi, các bạn có thể comment bên dưới, mình luôn sẵn sàng ở đây để hỗ trợ.

Khởi động

Bạn cần làm quen với một vài điểm cơ bản để bắt đầu cuộc hành trình của mình.

Machine learning là gì

Tại sao cần Machine learning

Machine Learning trên Quora hỏi gì đáp nấy

Những ứng dụng thương mại của Deep learning

Các công ty Startup về Deep learning

Kĩ năng phân tích dữ liệu

Bạn cần học và thực hành tiến trình áp dụng machine learning vào bài toán cụ thể. Chuẩn bị dữ liệu > Huấn luyện > Đánh giá và lựa chọn mô hình.

Cách xác định bài toán trong Machine Learning

Kỹ năng làm việc với Machine Learning

Tiền xử lý dữ liệu (Horse Colic dataset)

Getting and cleaning data: Các phương pháp lấy mẫu (Sampling)

Lấy và làm sạch dữ liệu: Xử lý dữ liệu ngoại lai (Outliers)

Feature engineering là gì

Đánh giá mô hình (Model evaluation)

Kỹ năng hệ thống

Bạn cũng nên chuẩn bị cho mình phương pháp quản lý dự án và thao tác nhanh với hệ thống.

Git notes

Command line thường dùng

Các thuật toán cơ bản

Đây là bước mà mọi người thích thú nhất đó là huấn luyện cho máy tính hiểu dữ liệu để đưa ra những dự đoán hữu ích.

Điểm qua các thuật toán Machine Learning hiện đại

Gom nhóm (Clustering analysis) tập dữ liệu Labor

Áp dụng các phương pháp phân lớp (Classification) trên tập dữ liệu Mushroom

Cài đặt Neural Network với Python

Scikit-learn: Naive Bayes Classifier

AdaBoost hỏi gì đáp nấy

C4.5 hỏi gì đáp nấy

Expectation maximization (EM) hỏi gì đáp nấy

Support vector machine (SVM) hỏi gì đáp nấy

Khai thác tập phổ biến (frequent itemsets) với thuật toán Apriori

Tham khảo thêm

Góp nhặt kinh nghiệm làm nghề Data scientist

Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì?

Những dự án Machine Learning tập dợt khi rảnh rỗi

5 Machine Learning APIs tốt nhất dành cho Data Science

OpenTable xây dựng hệ thống recommender như thế nào

Xây dựng hệ thống khuyến nghị (Recommendation Engine) cho New York Times

The data science project lifecycle

Biased vs Unbiased: Debunking Statistical Myths 

14 Timeless Reference Books 

Why I Ditched My Fitbit and What This Means for Analytics 

Performance From Various Predictive Models  +

How to Use Cohort Data to Analyze User Behavior 

How to produce sounds in Python, R, Java, C, Perl, Javascript or ev…

What Types of Questions Can Data Science Answer? 

Apache Spark and R : The best of both worlds. 

7 Cases Where Big Data Isn’t Better 

Learn the Concept of linearity in Regression Models 

How to Represent Data with Intelligent Use of the Coordinate System 

The Death of the Statistical Tests of Hypotheses 

Scikit-Learn Tutorial Series 

Implementation of 17 classification algorithms in R 

Top 10 Machine Learning Algorithms 

Machine Learning Algorithm Identifies Tweets Sent Under the Influen…

43 New External Machine Learning Resources and Updated Articles 

How to Tell a Compelling Story with Data – 6 Rules & 6 Tools 

Top 10 videos

Hướng dẫn deploy Spark

Spark and Scala version
Spark Shell

Việc deploy Spark là cần thiết đối với các tác vụ mang tính thường kỳ. Ví dụ, ta có thể tạo một CRON job để chương trình Spark có thể tự động tổng hợp dữ liệu cho chúng ta sau chu kỳ mỗi giờ, mỗi ngày hay mỗi tuần. spark-submit là một shell command được dùng để deploy ứng dụng Spark lên cluster. Nhờ vào cơ chế quản lý phân tán của Spark, ta không cần phải chỉnh sửa source code quá nhiều để có thể chuyển đổi từ standalone mode sang distributed mode.

Trong bài viết này, tôi sẽ hướng dẫn các bạn một số cách để deploy Spark từ dòng lệnh cơ bản cho đến việc sử dụng IDE như thế nào. Để hoàn thành được bài hướng dẫn bên dưới bạn cần đọc trước các bài viết sau:

Bạn có thể download trực tiếp source code tại Github: https://github.com/ongxuanhong/programming-with-spark.

Xem tiếp

Kinh nghiệm làm việc với Big Data

Working with Big Data
Working with Big Data

Đã bao giờ bạn cảm thấy quá tải khi làm việc với Big Data chưa? Đã bao giờ bạn phải ngồi hàng giờ chỉ để transfer dữ liệu từ server này sang server khác chỉ để test thuật toán của mình? Hay những lúc chán chường khi nhìn script của mình bắt đầu chạy hàng giờ và cuối cùng phát hiện ra mình đã sai đâu đó? Mình nghĩ rằng tất cả những ai khi mới bắt đầu làm việc với Big Data đều có những cảm nhận như vậy. Trong bài viết này, tôi xin góp một chút kinh nghiệm của mình để làm việc với Big Data hiệu quả hơn, kể cả cá nhân hay làm việc nhóm.

Xem tiếp