19/09/2018, 09:46

Machine learning — Is the emperor wearing clothes?

Bài viết được dịch từ ngồn: https://hackernoon.com/machine-learning-is-the-emperor-wearing-clothes-59933d12a3cc Một cái nhìn về cách hoạt động của machine learning Machine learning sử dụng các mẫu trong dữ liệu để label thing mọi thứ. Nghe có vẻ kỳ diệu? Các khái niệm cốt lõi thực sự rất đơn ...

Bài viết được dịch từ ngồn: https://hackernoon.com/machine-learning-is-the-emperor-wearing-clothes-59933d12a3cc

Một cái nhìn về cách hoạt động của machine learning

Machine learning sử dụng các mẫu trong dữ liệu để label thing mọi thứ. Nghe có vẻ kỳ diệu? Các khái niệm cốt lõi thực sự rất đơn giản. Tôi nói "xấu hổ" bởi vì nếu ai đó khiến bạn nghĩ đó là điều huyền bí, họ nên xấu hổ. Ở đây, hãy để tôi khắc phục điều đó cho bạn.

Các khái niệm cốt lõi rất đơn giản.

Ví dụ label thing của chúng tôi sẽ liên quan đến việc phân loại rượu là ngon hoặc không quá ngon và chúng tôi sẽ giữ tất cả các ý tưởng đơn giản, đủ để thưởng thức cùng với một ly rượu vang ... hoặc ba. Nếu rượu không phải là tách trà của bạn, đây là phiên bản không chứa cồn của cùng một văn bản.

How does it work?

Machine learning không phải là phép thuật - không thể học mà không có dữ liệu, vì vậy tôi sẽ phải nếm thử một ít rượu. Nếu bạn phải biết, người này có một nhãn N, N cho việc không-đừng-thử-này-một lần nữa. Và tôi đã tự mình làm hết. Những điều chúng ta làm cho khoa học.

Data

Để tìm hiểu, bạn cần một cái gì đó để học hỏi. Hãy tưởng tượng tôi đã nếm thử 50 loại rượu vang (cho khoa học!) Và hình dung thông tin của họ cho niềm vui của bạn dưới đây. Mỗi loại rượu có độ tuổi trong năm và điểm đánh giá, cộng với các câu trả lời đúng mà chúng tôi đang cố gắng tìm hiểu: Y cho ngon và N không quá ngon.

Sau khi tôi nếm thử các loại rượu vang và ghi lại dữ liệu của họ trong một bảng tính (bên trái), cách cư xử tốt cho thấy rằng tôi hiển thị thông tin cho bạn theo một định dạng thân thiện với mắt hơn (bên phải). Nếu bạn đang khao khát dữ liệu về thuật ngữ như tính năng và trường hợp, đây là hướng dẫn của tôi về nội dung đó. Vì chúng tôi là bạn bè, "đầu vào" sẽ hoạt động tốt.

Algorithm

Bằng cách chọn thuật toán học máy để sử dụng, chúng tôi sẽ chọn loại công thức mà chúng ta sẽ nhận được. Tại sao bạn không phải là thuật toán của tôi? Toàn bộ công việc của bạn là tách những thứ màu đỏ khỏi màu xanh. Bạn có thể làm được không?

Mục đích của thuật toán học máy là chọn nơi hợp lý nhất để đặt đường phân chia vào dữ liệu của bạn.

Nếu bạn nghĩ đến việc vẽ một đường thẳng, xin chúc mừng! Bạn vừa phát minh ra một thuật toán học máy có tên là… perceptron. Yeah, một tên khoa học viễn tưởng cho một điều đơn giản như vậy! Xin đừng bị đe dọa bởi thuật ngữ trong học máy, nó thường không xứng đáng với cú sốc và sợ hãi cái tên truyền cảm hứng.

Làm thế nào bạn sẽ cordon off ra những điều màu đỏ từ màu xanh?

Nhưng đường phân chia của bạn như thế nào? Tôi hy vọng bạn đồng ý rằng một đường thẳng không phải là một giải pháp rất thông minh. Mục tiêu của chúng tôi là tách Y khỏi N.

Mục đích của thuật toán học máy là chọn nơi hợp lý nhất để đặt đường phân chia, và nó quyết định dựa trên nơi datapoint của bạn đã xác định. sao làm được vậy? Bằng cách tối ưu hóa một hàm mục tiêu.

Optimization

Tôi dự định sẽ tối ưu hóa bài đăng trên blog của riêng mình, nhưng bây giờ nghĩ về nó như thế này: chức năng mục tiêu giống như quy tắc ghi bàn trò chơi, tối ưu hóa nó là tìm cách chơi để bạn kiếm được điểm số tốt nhất có thể.

Một chức năng mục tiêu giống như hệ thống điểm cho một trò chơi hội đồng quản trị.

Theo truyền thống trong Machine learning, chúng tôi thích gậy nhiều hơn cà rốt - điểm là hình phạt cho những sai lầm và trò chơi là để có được càng ít điểm xấu càng tốt. Đó là lý do tại sao hàm mục tiêu trong Machine learning có xu hướng và mục tiêu là giảm thiểu tổn thất.

The loss function cũng giống như quy tắc cho điểm một trò chơi hội đồng quản trị, tối ưu hóa nó là tìm ra cách chơi để bạn có được điểm số tốt nhất có thể.

Muốn chơi? Quay trở lại cốt truyện ở trên, đặt ngón tay của bạn theo chiều ngang trên màn hình và xoay nó cho đến khi bạn nhận được điểm số không điểm xấu.

Biệt ngữ trong học máy thường không xứng đáng với cú sốc và sợ hãi cái tên truyền cảm hứng.

Giải pháp bạn đến là hy vọng một cái gì đó như thế này:

Trong hình ảnh tận cùng bên trái, chúng tôi thậm chí không cố gắng. Hy vọng rằng bạn sẽ đồng ý rằng phần giữa là tốt hơn, nhưng nó vẫn không phù hợp tốt nhất có thể. Hình ảnh tận cùng bên phải là phương án tốt nhất.

The spice of life

Nếu bạn thích sự đa dạng, bạn sẽ yêu thích các thuật toán. Có rất nhiều người trong số họ. Một cách khác biệt với nhau là cách họ thử trên các vị trí khác nhau cho ranh giới tách biệt.

Các nerds tối ưu hóa sẽ cho bạn biết rằng việc xoay đường phân chia với những gia số nhỏ xíu là đáng tin cậy (xin lỗi vì đã lừa bạn vào đó!) Và có nhiều cách tốt hơn để có được vị trí tối ưu nhanh hơn. Một số nhà nghiên cứu cống hiến toàn bộ cuộc sống của họ để tìm ra cách để có được vị trí hàng rào tốt nhất trong vài bước nhảy ngắn nhất, bất kể sự đảo ngược địa hình (được xác định bởi đầu vào của bạn) trở nên như thế nào.

Một nguồn khác là hình dạng của ranh giới. Hóa ra đường phân chia không cần thẳng. Các thuật toán khác nhau sử dụng các loại đường phân chia khác nhau.

Khi chúng tôi chọn những tên gobbledygook này, chúng tôi chỉ đơn giản là chọn hình dạng của ranh giới mà chúng tôi đang vẽ giữa các nhãn. Chúng ta có muốn tách chúng ra bằng một đường chéo hay nhiều đường ngang / dọc hay các squiggler linh hoạt ... hay cái gì khác? Có rất nhiều và rất nhiều thuật toán để chọn.

Algorithms for hipsters

Những ngày này, không có khoa học dữ liệu hipster là vào đường thẳng khiêm tốn. Hình dạng linh hoạt (bạn có thể biết đây là mạng thần kinh, chúng được đặt tên yoga network hoặc many-layers-of-mathematical-operations).

Mạng thần kinh có thể được gọi là yoga network - sức mạnh đặc biệt của chúng mang lại cho bạn một ranh giới rất linh hoạt.

Những tên thuật toán gobbledygook cho bạn biết hình dạng của đường phân chia mà họ sẽ cố gắng đưa vào dữ liệu của bạn. Nếu bạn là một người đam mê học máy được áp dụng, bạn không cần phải ghi nhớ chúng - thực tế bạn sẽ chỉ đẩy dữ liệu của mình qua nhiều thuật toán nhất có thể và lặp lại những gì có vẻ đầy hứa hẹn. Bằng chứng về bánh pudding luôn ở trong bữa ăn ... vì vậy hãy ăn.

Ngay cả khi bạn nghiên cứu sách giáo khoa, bạn sẽ không nhận được giải pháp ngay trong lần thử đầu tiên của mình. Đừng đổ mồ hôi. Đây không phải là một trò chơi có một câu trả lời đúng và không ai nhận được giải pháp của họ trong lần thử đầu tiên. Hãy cho phép bạn tinker, vọc và chơi. Bằng chứng về pudding học máy trong việc ăn - liệu nó có hoạt động trên dữ liệu mới không? Để lại "làm thế nào nó hoạt động" cho các nhà nghiên cứu thiết kế các thuật toán mới. (Và có lẽ bạn sẽ làm quen với những cái tên đó giống như cách bạn học được các nhân vật của bất kỳ vở kịch xà phòng xấu nào ám ảnh màn hình TV của thị trấn của bạn. Theo ý bạn. Hãy dành thời gian.)

Model

Một khi xác định được đường phân chia, thuật toán được hoàn thành và những gì bạn nhận được ra khỏi nó là những gì bạn muốn cùng: một mô hình, mà chỉ là một từ ưa thích cho công thức. Giờ đây, một số hướng dẫn để máy tính sử dụng để chuyển đổi dữ liệu thành quyết định vào lần tới tôi hiển thị một chai rượu mới. Nếu dữ liệu chuyển sang màu xanh lam, hãy gọi nó là màu xanh lam. Trong bit đỏ? Gọi nó là màu đỏ.

Label

Một khi bạn đưa mô hình mới pha vào sản xuất, bạn sử dụng nó bằng cách cho máy tính pha chế và điểm đánh giá. Hệ thống của bạn tra cứu vùng nào tương ứng với và nó xuất ra một nhãn.

Khi tôi nhận được bốn chai rượu mới, tôi chỉ đơn giản là khớp dữ liệu đầu vào của họ với vùng màu đỏ và xanh của công thức và gắn nhãn cho phù hợp. Xem? Dễ thôi!

Làm thế nào để chúng ta biết nếu nó hoạt động? Bằng cách kiểm tra đầu ra!

Kiểm tra hệ thống của bạn bằng cách chạy một loạt dữ liệu mới thông qua nó và đảm bảo nó hoạt động tốt trên đó. Trong thực tế, làm điều đó anyway, bất kể một thuật toán hoặc một lập trình viên đã đưa ra công thức đó cho bạn.

Summary

Dưới đây là tóm tắt trực quan hữu ích cho bạn từ một bài viết khác của tôi:

Machine learning for poets

Nếu điều đó khó hiểu, có thể bạn sẽ thích sự tương tự này nhiều hơn: Một nhà thơ chọn một cách tiếp cận (thuật toán) để đưa các từ lên giấy. Cách tiếp cận xác định hình thức thơ mộng (hình dạng đường biên). Làm thế nào có công thức làm một bài thơ ?

Is this all there is to it?

Nếu bạn đang mong đợi ma thuật, tốt, bạn càng thất vọng càng sớm càng tốt. Học máy có thể mang tính prosaic, nhưng những gì bạn có thể làm với nó thật đáng kinh ngạc! Nó cho phép bạn code mà bạn không tự mình tạo ra, cho phép bạn tự động hóa việc không thể thực hiện được. Đừng ghét nó vì đơn giản.

Cảm ơn và hi vọng bài viết có ích trong công việc của bạn.

0