Vietnam Web Summit 2017

Xin chia sẻ slide VWS2017 của tôi với chủ đề “Bắt đầu Big Data từ đâu và như thế nào?”. Nội dung chủ yếu review lại các thông tin cơ bản về các cách lưu trữ Big Data, thuật toán nổi bật dùng để handle Big Data hiệu quả. Và cuối cùng là vài phút quảng bá cho công ty hiện tại của mình Trusting Social về sản phẩm hiện tại, cơ hội việc làm cũng như các hỗ trợ phúc lợi cho nhân viên công ty cả Hồ Chí Minh, Hà Nội và các nước bạn xung quanh khu vực.

Kết thúc tháng cuối của năm 2017, chúng ta đã cùng nhau hội tụ tại sự kiện VWS2017 để cập nhật những xu hướng mới nhất của năm nay đó là AI, Big Data, E-commerce và Marketing. Xin cám ơn và xin chúc mừng các anh chị ban tổ chức, các speaker và các bạn tình nguyện viên đã hoàn thành xuất sắc sự kiện lớn trong năm này. Hy vọng năm sau chúng ta sẽ được tiếp cận nhiều hơn với các case study cụ thể và chuyên đề chi tiết hơn để giao lưu học hỏi và xúc tiến hợp tác giữa anh em trong cộng đồng.

Bài viết sự kiện:

Advertisements

FAQ: Big data cho người mới bắt đầu

Cảm ơn TopDev và các bạn trẻ đã tổ chức và hỗ trợ tôi hoàn thành tốt buổi chia sẻ hôm thứ bảy 30/09/2017 vừa qua. Mặc dù trời mưa to, nhưng các bạn khán giả vẫn tham gia khá đầy đủ. Tuy có nhiều phần chưa đáp ứng được mong đợi của mọi người nhưng phần hỏi đáp luôn là phần sôi động nhất đã lắp được phần nào khoảng trống này. Hy vọng, mỗi bạn đều đem về được những kinh nghiệm thiết thực khi đụng đến công nghệ xử lý Big Data, cụ thể là Apache Spark. Bên dưới, tôi xin tổng hợp lại các câu hỏi thường gặp trong buổi chia sẻ này cùng với Slide chứa notebook về Spark bên trên. Nếu bạn nào có thêm câu hỏi, mình sẽ cập nhật vào bài viết này để thêm phần phong phú cho các bạn khác tìm hiểu và tham khảo.

Notebooks:

Các event trước:

Thế nào thì được gọi là Big Data?

Big Data thoả tính chất 5V thì được gọi là Big. Cá nhân mình thấy 3 điểm sau thì đã gọi là Big rồi.

  1. Dữ liệu phức tạp (unstructured data).
  2. Tốc độ phình to nhanh, tính theo giây.
  3. Không thể xử lý với các công nghệ trước đó.

Có cần phải học thêm bằng cấp nào không?

Các nhà tuyển dụng hiện tại xem kinh nghiệm quan trọng hơn bằng cấp. Một số công nghệ nên biết: Docker, PostgreSQL, MongoDB, Apache Spark, Bash shell, AWS, Kafka, Jenkins.

Nếu bạn có thêm các Certificate cloud computing sau thì cũng có thể tạo nên lợi thế riêng:

Continue reading “FAQ: Big data cho người mới bắt đầu”

Bắt đầu nghiên cứu big data từ đâu và như thế nào

Đây là tâm nguyện đầu tiên của mình khi trở về Việt Nam sau 1 năm học tập và nghiên cứu tại JAIST. Nhằm mong dấn thân vào trải nghiệm, thử thách bản thân mình với những công nghệ state-of-the-art trong Big Data.

Sau hơn 1 năm làm việc và nghiên cứu, trày mình tróc vảy, rốt cuộc cũng gom góp được chút ít chia sẻ cho anh chị bạn bè gần xa quan tâm và muốn ứng dụng Big Data vào tổ chức của mình.

Slide sẽ dẫn dắt mọi người đi vào cuộc hành trình của Data từ lúc còn trên giấy bút cho đến các hệ thống Business Intelligent và tại sao công nghệ Big Data là cấp thiết trong thời đại hiện nay khi muốn nâng cao khả năng sản xuất và cạnh tranh với đối thủ của mình. Các anh chị muốn lập team làm về Big Data cũng sẽ hiểu được những khó khăn và thử thách của anh em dev đang đối mặt, nhờ vậy mà có những chính sách và phúc lợi tốt hơn để bồi dưỡng đội ngũ của mình.

Data Science – Mỏ vàng của Kỉ nguyên số

Đây là lần đầu mình talk trong một sự kiện lớn do TopDev kết hợp VNG tổ chức nên mình rất làm vinh dự và háo hức được chia sẻ những kiến thức cũng như kinh nghiệm học tập làm việc trong hơn 1 năm qua. Sự kiện này nhằm mục đích chính giống lên hồi chuông để mọi người ở các lĩnh vực khác nhau chú ý và quan tâm hơn đến “mỏ vàng” này.

Slide trình bày trên tóm tắt những khái niệm cơ bản về Data Science. Sau đó, các bạn sẽ biết chức danh Data scientist ra đời như thế nào. Từ đây, bạn nào quan tâm hơn về vai trò này có thể tham khảo các con đường sự nghiệp mà thị trường hiện nay đang đòi hỏi.

Con đường học tập Machine Learning của tôi

Học Machine Learning

Chặng đường trở thành một Data Scientist khá dài, 2-3 năm thậm chí là 5 năm tuỳ năng lực của mỗi người. Có bạn chọn cho mình con đường học thuật từ cử nhân, master cho đến PhD. Có bạn học xong cử nhân thì tìm kiếm ngay cho mình cơ hội nghiên cứu ở các công ty. Có bạn lại chọn cho mình phát triển ở vị trí Data Engineer/Data Analyst chuyên phân tích dữ liệu Big Data. Dù bạn ở vị trí nào đi nữa thì điều quan trọng nhất là bạn đã đóng góp được gì cho dự án mà mình tham gia.

Trong bài viết này, tôi sẽ tản mạn một chút về quá trình học tập Machine Learning của tôi trong thời gian qua. Từ lúc tôi còn ngồi ghế nhà trường cho đến lúc đi làm. Bạn đọc ở đây có lẽ cũng có nhiều điểm chung như tôi, cũng đã từng thử qua nhiều phương pháp học Machine Learning khác nhau, cũng đã từng trải nghiệm và chọn lọc ra cách học phù hợp nhất đối với bản thân. Cách tiếp cận của tôi có lẽ không phải là cách tốt nhất nên ta chỉ tham khảo để giao lưu thêm thôi nhé.

Continue reading “Con đường học tập Machine Learning của tôi”

Ý 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.

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.

Continue reading “Kinh nghiệm làm việc với Big Data”

Dành cho các bạn sắp bước chân vào lĩnh vực Công nghệ thông tin

project_manager

Bài viết này dành cho những bạn sắp bước chân vào lĩnh vực Công nghệ thông tin, hay những bạn còn đang phân vân về chuyên ngành mà mình sẽ chọn trước khi bước vào năm 3 Đại học. Đối với các bạn còn ở phổ thông, có lẽ các bạn còn mơ hồ về lĩnh vực này, nhiều bạn tưởng tượng mình sẽ học thêm về word, excel, hay sửa chữa, lắp ráp máy tính, chỉnh sửa ảnh photoshop, làm game, làm web này nọ hay cao siêu hơn là làm hacker như những phim hành động bạn thường xem và người nhà của bạn cũng nghĩ như vậy.

Trong khi đó, các bạn năm nhất ít nhiều cũng sẽ đọc được các comment hay bài viết đại loại như học khoa học máy tính là đi bán sách dạo, hệ thống thông tin thì sau này chỉ đi nhập dữ liệu, kĩ thuật phần mềm thì chỉ có mở tiệm bán đĩa CD, mạng máy tính thì đi cắt dây điện hay mở tiệm net, đọc xong nhiều bạn sẽ có suy nghĩ có lẽ khỏi đi học thì hơn.

Ngoài ra, ắt hẳn nhiều bạn sẽ đọc được bài viết thần thánh “Lập Trình Viên Không Có Gì Cao Sang”, đây là bài viết rất dễ khiến bạn nản lòng và thoái chí. Còn lỡ đọc được cuốn sách “Dạy con làm giàu” thì các bạn cũng đừng quá ảo tưởng mà đánh mất chính mình và hoài bão ban đầu khi đã quyết định dấn thân vào IT. Hãy luôn giữ vững lập trường.

Do vậy, mình sẽ liệt kê ra tất cả những ngành học mà các bạn sẽ bắt gặp khi bước chân vào lĩnh vực IT thông qua việc so sánh giữa một suy nghĩ còn non nớt (trẻ trâu) và một suy nghĩ đã từng trải. Thêm vào đó, mình chân thành đưa ra một vài lời khuyên như sau:

  • Đừng sợ coding vì nó là một phần sự nghiệp của bạn, dù có né tránh cũng không được, hãy tập “yêu” việc coding.
  • Đừng sợ và chán ghét toán học vì nó là một phần kĩ năng của bạn, nếu càng cố gắng né trành thì chỉ càng thêm hối hận về sau mà thôi.
  • Hãy đi “học ké” nhiều lớp không thuộc chuyên ngành của mình để mở mang kiến thức và tầm nhìn của mình về thực trạng cũng như xu hướng hiện tại trong ngành. Nếu bạn đang học kĩ thuật phần mềm thì bạn có thể học ké thêm về hệ thống thông tin (thiết kế, truy vấn, và xử lý cơ sở dữ liệu), mạng máy tính (bảo mật, cài đặt, quản trị hệ thống mạng), hay khoa học máy tính (trí tuệ nhân tạo, machine learning, computer vision, natural language processing). Từ đó, bạn có thể tạo ra những ứng dụng phần mềm chất lượng cao, chạy ổn định, cũng như có nhiều nội dung AI trong đó.
  • Nếu muốn học lên cao học (thạc sĩ, tiến sĩ) hay theo đuổi sự nghiệp nghiên cứu, thì các bạn nên học kĩ về toán và AI vì các kì thi đầu vào lúc nào cũng đụng đến hai môn này.
  • Nếu có dự định startup thì hãy khai thác thị trường trong nước, xem quê nhà mình cần giải quyết gì để startup theo hướng đó. Đừng mơ mọng, ảo tưởng về nước Mĩ nữa.

Continue reading “Dành cho các bạn sắp bước chân vào lĩnh vực Công nghệ thông tin”

Trải nghiệm tập dữ liệu Big Data ở đâu

repository
repository

Nếu bạn đang là một newbie và có mong muốn trang bị cho mình một chút kinh nghiệm về xử lý Big Data để có thể theo đuổi sự nghiệp như một data scientist thì bạn sẽ đặt câu hỏi đầu tiên đó là “Lấy dữ liệu Big Data ở đâu để mà thực tập?”.

Hiện nay, bạn không cần phải là một thành viên của một công ty hay tổ chức nào để được quyền truy xuất vào tập dữ liệu Big Data của họ. Đã có nhiều tập dữ liệu Big Data được public ra công chúng cho các nhà nghiên cứu làm phân tích và xử lý thông tin trực tiếp mà không đòi hỏi bất kỳ quyền hạn nào. Dưới đây, tôi xin liệt kê danh sách các nguồn dữ liệu Big Data mà bạn có thể download về.

  1. KDNuggets repository
  2. Data.gov 
  3. US Census Bureau 
  4. European Union Open Data Portal 
  5. Data.gov.uk 
  6. The CIA World Factbook 
  7. Healthdata.gov 
  8. NHS Health and Social Care Information Centre 
  9. Amazon Web Services public datasets 
  10. Facebook Graph 
  11. Gapminder 
  12. Google Trends 
  13. Google Finance 
  14. Google Books Ngrams 
  15. National Climatic Data Center 
  16. DBPedia 
  17. Topsy 
  18. Likebutton 
  19. New York Times 
  20. Freebase 
  21. Million Song Data Set 

Tham khảo thêm:

Viết luận văn bằng LaTeX

latex vs word
latex vs word

LaTeX là một công cụ được khuyến nghị để viết luận văn và các bài báo khoa học. Do có cơ chế quản lý nội dung văn bản mạnh mẽ, hỗ trợ đầy đủ việc hiển thị các biểu thức toán học, cộng với rất nhiều thư viện đi kèm để vẽ biểu đồ và đồ thị dạng vector nên LaTeX được các nhà khoa học trên thế giới sử dụng.

Nếu bạn đang sử dụng Word để soạn thảo luận văn, có lẽ bạn đang mất rất nhiều thời gian và công sức để canh chỉnh từng li từng tí các dòng. Trong khi nội dung các chương ngày càng nhiều và phức tạp, bạn cảm thấy mọi thứ trở nên quá rối rắm. Lúc này, LaTeX chính là công cụ cứu cánh cho bạn. Trong bài viết này, tôi xin chia sẻ cấu trúc cơ bản nhất gồm các file và folder cần thiết để tiến hành viết và quản lý luận văn bằng LaTeX.

Github: https://github.com/ongxuanhong/LaTeX-thesis-template

Continue reading “Viết luận văn bằng LaTeX”

Kinh nghiệm viết luận văn

writting thesis
writting thesis

Bài viết này nhắm đến đối tượng là những bạn sinh viên sẽ và đang viết luận văn tốt nghiệp. Cũng như các bạn sinh viên khác, khi tìm kiếm các hướng dẫn về viết luận văn, đa số các bài viết chỉ trình bày các thủ tục, lý do, mục đích và định dạng luận văn như thế nào. Tuy nhiên, những gì tôi tìm kiếm là những kinh nghiệm thực tế trong quá trình viết luận văn. Do vậy, trong bài viết này, tôi xin chia sẻ với mọi người một vài kinh nghiệm mà tôi đã góp nhặt được khi viết luận văn tốt nghiệp.

Github: https://github.com/ongxuanhong/latex-thesis-template

Continue reading “Kinh nghiệm viết luận văn”

Git notes

git
git

Git là phần mềm dùng để quản lý và kiểm tra các phiên bản khác nhau trong quá trình phát triển mã nguồn. Tôi thường sử dụng Git để quản lý code cũng như để hoàn thành luận văn gần đây của mình. Trong bài viết này, tôi xin tổng hợp lại ghi chú các thao tác lệnh thường dùng trong Git.

Continue reading “Git notes”

Lập trình Spark với Scala

stackoverflow
stackoverflow

Với chế độ cài đặt Standalone, Spark có thể xử lý được một tập dữ liệu khổng lồ dù cho bạn đang sử dụng một chiếc laptop có RAM chỉ khoảng 4-8GB. Trong bài viết này, tôi sẽ hướng dẫn mọi người lập trình Spark với Scala.

Cho trước tập dữ liệu là các bài post trên stackoverflow.com, nhiệm vụ của chúng ta là xây dựng một mô hình phân lớp để dự đoán xem câu hỏi của user khi post lên thuộc nhóm nào, nhờ vậy mà trang web có thể đưa ra những tags gợi ý thông minh hơn cho user.

Continue reading “Lập trình Spark với Scala”

Nguồn tham khảo về Deep Learning

Deep learning
Deep learning

Deep Learning là một kĩ thuật rất “hot” của Machine Learning. Kĩ thuật này đã gặt hái được nhiều thành công trong các kết qủa nghiên cứu cũng như những ứng dụng thông minh ngoài thực tế đòi hỏi phải có độ chính xác cao. Dưới đây tôi xin liệt kê một số nguồn tham khảo miễn phí về Deep learning cho người mới bắt đầu cũng như những người muốn theo dõi xu hướng của kĩ thuật này.

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

A good data scientist knows how to do something really well, but a great data scientist can do “something of everything.” From raw data all the way to shining in front of C-level executives, a great data scientist has the skills to architect data systems, build applications, perform modeling and machine learning and wrap up the results in a clear (and quickly iterable) manner. From data models to ETL to databases to distributed algorithms and learning, this book has you covered.

Data Science with Java

Qua thời gian làm việc cũng như tìm tòi tài liệu, sách báo về machine learning, nếu vai trò của bạn là Data Scientist/Data Engieer/Data Analyst thì phần lớn bạn sẽ nhận được những chia sẻ kinh nghiệm bên dưới. Trong bài viết này, mình sẽ tổng hợp lại những kinh nghiệm trong ngành Data Science để dễ dàng tham khảo sau này.

Modern data scientist
Modern data scientist

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

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

machine-learning-cheet-sheet
machine-learning-cheet-sheet

Nếu tôi hỏi khách hàng xem họ muốn gì, có lẽ họ sẽ nói rằng họ muốn có một con ngựa biết chạy nhanh hơn
– Henry Ford

Trong thực tế, trước khi giải bất kỳ bài toán nào, việc đầu tiên chúng ta cần làm đó là xác định vấn đề. Đặc biệt khi làm trong lĩnh vực Machine Learning (ML), nhiều khi bài toán do các doanh nghiệp đặt ra khá mơ hồ và không cụ thể khiến cho quá trình xây dựng mô hình dự đoán đi đến ngõ cụt hoặc không đáp ứng được yêu cầu của khách hàng. Vậy làm thế nào để có thể xác định được bài toán hiện tại thuộc loại bài toán nào để giải quyết bằng ML? Bài viết này sẽ liệt kê các câu hỏi nghiên cứu và đưa ra bài toán cụ thể để giải bằng ML.

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

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

Machine learning workflow
Machine learning workflow

Thông thường khi bắt tay làm việc với Machine Learning, đa số chúng ta đều mong muốn áp dụng ngay các thuật toán đã học vào bài toán của mình. Tuy nhiên, trong thực tế, mọi thứ đều không đơn giản như vậy. Ngoài kĩ năng thu thập và tiền xử lý dữ liệu, trong bài viết này, tôi sẽ đề cập đến những kĩ năng cần thiết khác để góp phần cải tiến độ chính xác của mô hình dự đoán của mình.

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

Statistical hypothesis testing cho dân lập trình

Statistics for Hackers
Statistics for Hackers

Hai kỹ năng cần có của các data scientist là kỹ thuật lập trình và tư duy thống kê. Nhiều data scientist hiện nay có kỹ thuật lập trình rất tốt nhưng họ cảm thấy như là kẻ mạo danh khi nói đến các số liệu thống kê. Trong buổi nói chuyện này, John sẽ lập luận rằng khả năng lập trình máy tính cho phép bạn có những ý tưởng sâu sắc và cơ bản nhất về thống kê học. Mục tiêu của John là thuyết phục các kỹ sư không chuyên về thống kê rằng lộ trình để hiểu thấu đáo các khái niệm trong thống kê học ngắn hơn bạn tưởng.

Lĩnh vực thống kê từ lâu đã có tiếng là khó nhai: nó xoay quanh các biệt ngữ dường như vô tận về phân phối, kiểm định thống kê, khoảng tin cậy, chỉ số p, và hơn thế nữa, với các khái niệm và các giả định tinh tế của riêng chúng. Nhưng ta không nhất thiết phải đi theo cách này. Trong slide trình bày dưới đây, Jake sẽ thảo luận về cách sử dụng kỹ năng lập trình để “hack các lý thuyết thống kê” – để thay thế một số lý thuyết và biệt ngữ khó hiểu bằng phương pháp tính toán trực quan như lấy mẫu (sampling), xáo trộn ngẫu nhiên (shuffling), kiểm chứng chéo (cross-validation), và các phương pháp Bayesian – để thấy rằng ta có thể nắm bắt được các khái niệm cơ bản chỉ cần bạn có thể viết được vài vòng lặp để làm phân tích thống kê.

Tham khảo thêm: