Bài đăng

Những cuốn sách hay tôi đã đọc năm 2018 (Phần 1)

Hình ảnh
Sắp đến Tết rồi nên mình muốn tổng hợp một vài cuốn sách mình đã đọc năm vừa qua cùng với nhận xét của mình. Cà phê cùng Tony (Tony buổi sáng) Một tác phẩm của tác giả Tony buổi sáng (hay còn gọi là Dượng Tony) là tổng hợp các bài viết ngắn của Dượng. Đây là cuốn sách mình đã đọc 2 lần và thực sự thấy rất hay. Với lối diễn văn giản dị và ngộ nghĩnh qua những câu chuyện thường nhật được đề cập trong các bài viết ấy sẽ khiến bạn bật cười nhưng lại mang đến những bài học quý giá. Những bài học về cách suy nghĩ "hào sảng", cách đối nhân xử thế các bạn trẻ có thể đúc kết thông qua lối kể vui tính của Dượng.  Đây là cuốn sách mình khuyên các bạn nên đọc (đặc biệt là những người trẻ), không phải đọc cho có, cho lướt qua cho xong cuốn sách mà sau mỗi câu chuyện nên dừng lại, ngẫm nghĩ một chút xem liệu nhân vật chính trong câu chuyện kia có phải đã từng là mình không? hay đó là hình ảnh của chính mình bây giờ? Như thế, bạn sẽ có thể mở mang tầm mắt của mình hơn. Từ ...

[Nhập môn Machine Learning] Bài 2: Supervised Learning và Unsupervised Learning

Hình ảnh
Ở bài trước, mình đã nói về mục đích của Machine Learning và nó đã đưa cho chúng ta một giải pháp cho các vấn đề còn tồn đọng. Tuy nhiên, những vấn đề có thể sử dụng Machine Learning để giải quyết cũng được chia ra làm 2 loại chính mà các bạn nên biết. Đó chính là Supervised Learning và Unsupervised Learning.  Sự kỳ diệu của dữ liệu Dữ liệu, hẳn là một từ quen thuộc trong cuộc công nghệ số ngày nay. Mọi thứ đều có thể là dữ liệu, từ dòng tin nhắn, tấm ảnh hay lịch sử truy cập trang web của bạn. Không chỉ trong thế giới số, dữ liệu mới được hình thành, mà từ thưở ban đầu, khi chưa có sự xuất hiện của máy tính, ta đã sống chung với dữ liệu rồi. Bạn cao bao nhiêu, nghề nghiệp, quê quán, tuổi tác đều là dữ liệu cả. Nhưng, chỉ khi có máy tính, dữ liệu mới được mã hóa dưới dạng 0 và 1. Từ đó khiến ta dễ dàng tương tác và vận chuyển chúng dễ dàng hơn (những thứ bạn đang xem trên màn hình này đều được cấu thành và chuyển tới bởi 0 và 1 đấy). Không chỉ biểu thị thông tin, nhữ...

[Nhập môn Machine Learning] Bài 1: Giới thiệu Machine Learning

Hình ảnh
Xin chào, mình là Phạm Hồng Vinh, ở bài viết lần này mình muốn bắt đầu một series bài viết đầu tiên trên RootOnChair Blog. Đây là một điều cực kỳ mới đối với mình và mình rất háo hức để thực hiện nó. Giới thiệu series Nhập môn Machine Learning Trong series này, các bạn sẽ được trang bị những kiến thức cơ bản của Machine Learning một cách chi tiết. Bao gồm những những khái niệm, thuật toán, kỹ thuật phổ biến trong ngành Học Máy. Và mong rằng, ở cuối series, bạn có thể tự tạo cho mình một ứng dụng Machine Learning của riêng bạn. Các bài viết trong series này, mặc dù chúng ta sẽ phải sử dụng đến một chút toán nhưng các bạn đừng lo về điều này. Các bài viết không mang trình độ chuyên Toán cao (vì chính tác giả cũng không phải một thằng chuyên Toán) và mình cũng sẽ cung cấp cho các bạn những kiến thức toán cần thiết và giải thích rõ ràng xuyên suốt series này. Tuy nhiên, bạn cần có kinh nghiệm lập trình (Python càng tốt) để có thể hiểu những đoạn code trong bài viết. Thôi,...

Machine Learning là gì? Hiểu về khái niệm cốt lõi của Machine Learning qua việc môi giới đất

Hình ảnh
Trước giờ Machine Learning thường được nhắc tới như là một từ "ma thuật" biến máy móc đột nhiên có trí thông minh của con người. Trong bài viết này mình muốn cung cấp cho các bạn góc nhìn mới về Machine Learning. Những gì thực sự đứng sau từ khóa "ma thuật" này? Machine Learning là một chương trình có khả năng tìm ra một quy luật chung giữa các thông tin mà chúng nhận được với kết quả mong đợi. Nói cách khác, đó là một chương trình giúp ta nhận ra cấu trúc trong dữ liệu Để mình lấy một ví dụ đơn giản. Sau khi lục lọi thu thập thông tin (thật ra là lấy trên mạng), mình đã tổng hợp được một biểu đồ biểu diễn mối quan hệ giữa giá đất với diện tích của mảnh đất đó. Với trục dọc biểu thị giá và trục ngang biểu thị diện tích   Những dấu X là dữ liệu thực tế đã thu thập được. Khá là nhiều điểm đã được biết trước. Ví dụ như nếu chúng ta có một mảnh đất diện tích 1000 ${m^2}$ thì có vẻ như ta sẽ có thể bán nó với giá xấp xỉ 300$ Nhưng đối với những thô...

Hướng dẫn đăng ký khóa học trên Coursera và edX miễn phí

Hình ảnh
Chào các bạn, cũng sắp Tết rồi và chắc mọi người rất mong ngóng khoảng thời gian nghỉ Tết phía trước để bắt đầu kế hoạch "ăn-ngủ-chơi" của mình. Được nghỉ mấy tuần liền mà có vài việc cứ làm hoài cũng chán phải không? Sao chúng ta không tận dụng thời gian rảnh rỗi đó để học hỏi thêm một điều gì đó mới mẻ, tự nâng cấp kiến thức của bản thân trong khi mà không bị áp lực từ việc học tập hay đi làm. Nếu như bạn có ý định như vậy vào kỳ nghỉ này, hãy đọc bài viết này. Giới thiệu về Coursera và edX Cả edX và Coursera đều là nền tảng cung cấp các khóa học trực tuyến về nhiều lĩnh vực từ các trường đại học danh tiếng trên thế giới. Mục tiêu của cả hai tổ chức này đều giống nhau đó là mang kiến thức từ các trường đại học ra toàn thế giới, khiến chúng dễ dàng được tiếp cận bởi bất kỳ ai. Trong đó, Coursera được sáng lập bởi hai giáo sư Stanford là Andrew Ng và Daphne Koller vào năm 2012. Cũng vào tháng 5 năm đó, hai trường đại học danh tiếng thế giới là Harvard và M...

Stack và Heap là gì? Phần 2: Heap

Hình ảnh
Ở phần trước chúng ta đã nói về Stack và những đặc điểm của vùng nhớ này. Nhưng do giới hạn về kích thước bộ nhớ có thể được lưu trữ trên Stack cũng như kích thước đó phải được xác định trước khi biên dịch chương trình, đâ gây một ràng buộc không nhỏ lên lập trình viên chúng ta. Từ đó, Heap ra đời để giải phóng chúng ta khỏi những giới hạn đó. Tuy nhiên, cái gì cũng có giá của nó, còn đó là gì thì các bạn cùng mình tìm hiểu trong bài này nhé. Heap Nếu Stack được coi như là một chồng đĩa được sắp xếp ngay ngắn và có thứ tự đàng hoàng, thì Heap hoàn toàn ngược lại. Vùng nhớ này giống như là một đống đĩa hổ lốn và bừa bãi, như có ai đó vừa làm đổ chồng đĩa của bạn rồi bỏ chạy để nguyên hiện trường vậy. Nhưng điều này là tốt, do vùng nhớ Heap mà máy tính cung cấp cho chương trình lớn hơn nhiều so với Stack, đồng thời chúng ta cũng có thể yêu cầu thêm nếu muốn. Heap không giới hạn kích thước bộ nhớ được cấp phát và cho phép ta làm điều đó trong khi chương trình đang chạy. ...

Stack và Heap là gì? Phần 1: Stack

Hình ảnh
Stack và Heap là hai vùng nhớ cơ bản trong một chương trình máy tính. Khi lập trình, chúng ta thường làm việc với chúng mà không hề hay biết. Hiểu được ưu nhược của từng vùng nhớ sẽ giúp ta kiểm soát chương trình hiệu quả hơn. Khi máy tính chạy một chương trình, chương trình đó sẽ được giao cho một vùng nhỏ trên RAM, ta gọi đó là vùng nhớ . Mỗi chương trình đều có 2 vùng nhớ mà ta cần quan tâm hơn cả đó là Stack và Heap. Stack Bạn có thể tưởng tượng Stack như một chồng đĩa. Khi ta muốn lấy một chiếc đĩa, ta chỉ cần lấy chiếc ở trên cùng và khi bắt đầu xếp chồng đĩa ấy, ta sẽ bắt đầu từ dưới lên. Ta gọi thứ tự xếp đĩa này là LIFO: L ast I n - F irst O ut. Chiếc đĩa nào được đặt vào cuối cùng sẽ được lấy ra đầu tiên. Ngược lại, chiếc đĩa được đặt vào đầu tiên sẽ được lấy ra cuối cùng Ta gọi LIFO là một kiểu cấu trúc dữ liệu. Những dữ liệu của ta ở vùng nhớ Stack cũng được quản lý một cách tương tự. Bây giờ có thể bạn vẫn chưa hình dung được và để mình có thể nói sâu h...