Nếu bạn đã thử Học máy trước đây, có thể bạn đang nghĩ rằng có một lỗi đánh máy lớn trong tiêu đề của bài viết và ý tôi là viết Python hoặc R thay cho JavaScript. Và nếu bạn là…

Bạn đang xem: học máy với javascript

Máy học trong JavaScript

Nó có dễ dàng hơn không? khó khăn? hay đơn giản là vui vẻ?

Ảnh trên Unsplash của Luca Bravo

Nếu bạn đã thử Học máy trước đây, có thể bạn đang nghĩ rằng có lỗi đánh máy khổng lồ trong tiêu đề của bài viết và ý tôi là viết Python hoặc R thay cho JavaScript.

Và nếu bạn là một nhà phát triển JavaScript, bạn có thể biết rằng kể từ khi NodeJS được tạo ra, hầu hết mọi thứ đều có thể thực hiện được trong JavaScript. Bạn có thể sử dụng React và Vue để xây dựng giao diện người dùng, Node / Express cho tất cả nội dung “bên máy chủ” và D3 để trực quan hóa dữ liệu (một lĩnh vực khác bị Python và R thống trị).

Trong bài đăng này, tôi sẽ chỉ cho bạn cách chúng ta có thể thực hiện Học máy với JavaScript! Chúng ta sẽ bắt đầu bằng cách xác định Học máy là gì, giới thiệu nhanh về TensorFlow và TensorFlow.js, sau đó xây dựng một ứng dụng phân loại hình ảnh rất đơn giản bằng cách sử dụng React và ML5.js!

Học máy? Cái gì vậy?

Trừ khi bạn đã sống dưới một tảng đá suốt thời gian qua, bạn có thể đã nghe thấy những từ như Học máy (ML) và Trí tuệ nhân tạo (AI). Ngay cả khi bạn không phải là một người thiên về khoa học, bạn có thể đã từng xem những quảng cáo của Microsoft trên TV và Internet, nơi Common nói về tất cả những điều tuyệt vời mà Microsoft đang làm.

Sự thật là hầu hết mọi người đều đã sử dụng Máy học và Nhân tạo Thông minh tại một thời điểm trong cuộc đời của họ. Cãi nhau rằng, mọi người đều sử dụng ML và AI hàng ngày trong cuộc sống của họ. Từ việc yêu cầu Siri và Alexa phát một bài hát nào đó đến sử dụng các ứng dụng điều hướng trên điện thoại để đi đến công việc nhanh nhất, tất cả đều là ML và AI.

Nhưng chúng ta định nghĩa hai thuật ngữ này như thế nào? Hãy tập trung vào ML vì nó là chủ đề chính của bài viết này. Nói một cách đơn giản nhất, Học máy là:

Một lĩnh vực nghiên cứu điều đó cho phép hệ thống máy tính làm điều gì đó mà không cần đưa ra bất kỳ hướng dẫn cụ thể nào để làm điều đó.

Là một nhà phát triển, bạn phải viết mã theo một cách cụ thể. Khách hàng hoặc người quản lý của bạn cho biết họ muốn đầu ra mong muốn là gì và bạn cố gắng viết một số mã sẽ giúp bạn có được đầu ra đó. Nhưng trong Học máy, bạn chỉ biết vấn đề cần được giải quyết! Bạn “dạy” cho máy tính của mình một vài điều và sau đó ngồi lại và xem bạn nhận được kết quả đáng kinh ngạc nào từ hệ thống!

Câu hỏi cần trả lời là: Chúng ta thực hiện Machine Learning như thế nào? Các lập trình viên Python sử dụng các gói như scikit-learning TensorFlow tuyệt vời của Google để thực hiện Học máy . Nhưng năm ngoái (2018), Google đã phát hành phiên bản JavaScript của TensorFlow được gọi là TensorFlow.js !

Nhưng tại sao phải ai làm Machine Learning trong JavaScript? Trước hết, cách học máy trong Python yêu cầu các nhà phát triển giữ mã Máy học trên máy chủ, sau đó sử dụng JavaScript để cho phép người dùng truy cập các mô hình trên máy khách. Và ở đây chúng ta bắt gặp một vấn đề tiềm ẩn. Nếu mô hình học máy của bạn quá phổ biến và nhiều người dùng muốn truy cập, thì rất có thể máy chủ của bạn có thể gặp sự cố!

Xem Thêm  Làm cách nào để mở URL trong cửa sổ mới bằng JavaScript? - mở url từ javascript

Nhưng nếu chúng ta sử dụng Máy học, chúng ta không chỉ duy trì môi trường JavaScript cho cả mã Máy học và mã giao diện người dùng, mô hình sẽ tự ở phía máy khách! Ngoài ra, các mô hình Học máy chủ yếu được sử dụng bởi các công ty tài chính. Vì vậy, mô hình ML phía máy khách có nghĩa là dữ liệu của bạn vẫn ở chế độ riêng tư.

< p class = "mo fn cj mp mq mr">

Let’s Write Some Code!

Bây giờ bạn đã có một số kiến ​​thức cơ bản về ML và tại sao làm nó trong JavaScript có thể là một điều tốt ý kiến. Nhưng ML là một trong những thứ mà bạn sẽ hiểu rõ hơn khi dùng thử. Nếu bạn muốn đọc thêm về Học máy, hãy xem bài đăng khác mà tôi đã viết cách đây ít lâu:

Học sâu với React Native

Có Luôn luôn là một số lượng lớn sự phấn khích xung quanh các chủ đề như Trí tuệ nhân tạo (AI). Khi ai đó đề cập đến…

medium.com

Trong phần này, chúng tôi sẽ xây dựng một ứng dụng Học máy với React có thể thực hiện một số phân loại hình ảnh rất tốt.

SideBar: Học máy quy trình bao gồm hai bước: Đào tạo và Kiểm tra. Đào tạo bao gồm việc cung cấp một lượng lớn dữ liệu cho mô hình, sau đó mô hình sẽ xử lý và nhận ra các mẫu khác nhau, sau đó mô hình sẽ sử dụng để đưa ra các dự đoán trong tương lai.

Vì chúng tôi đang xây dựng mô hình phân loại ảnh, chúng tôi sẽ cần gửi hàng nghìn hình ảnh đến mô hình để xử lý trước khi chúng tôi có thể đưa ra bất kỳ dự đoán nào. Các hình ảnh cần phải liên quan đến nhau theo một cách nào đó và tôi thực sự không có nhiều hình ảnh như vậy (tôi là một người nhút nhát). Ngoài ra, Học máy trong JavaScript vẫn còn mới đối với tôi. Vì vậy, như một lối tắt, tôi sẽ sử dụng một trong những mô hình được đào tạo trước.

Trước khi chúng ta có thể bắt đầu viết mã, hãy đảm bảo rằng bạn đã cài đặt những thứ sau trên hệ thống của mình:

    < li class = "oz pa jl lr b ls lt lv lw ly pb mc pc mg pd mk pe pf pg ph gc" id = "0489"> Node – Chúng tôi sẽ cần cái này để cài đặt các gói khác nhau
  1. Code Editor – Bất kỳ trình soạn thảo tốt nào cũng được. Cá nhân tôi thích sử dụng VSCode

Tiếp theo là xây dựng ứng dụng React boilerplate. Để thực hiện việc này, hãy mở một cửa sổ lệnh và chạy lệnh sau:

 

$ npx create-react-app ml-in-js

Lệnh này sẽ tạo một thư mục có tên ml-in-js và xây dựng một ứng dụng bắt đầu trong hệ thống của bạn. Tiếp theo, quay lại cửa sổ lệnh của bạn và chạy các lệnh sau:

 

$ cd ml-in-js
$ npm chạy bắt đầu

Lệnh đầu tiên khá đơn giản. Điều kỳ diệu thực sự xảy ra trong điều thứ hai. Lệnh npm run start tạo một cấp độ phát triển cục bộ của hệ thống của bạn và tự động mở nó trên trình duyệt như sau:

Ứng dụng khởi động này không có ý tưởng gì về Học máy hoặc Tensorflow là. Để giải quyết vấn đề này, chúng ta cần cài đặt gói Tensorflow.js. Đối với các nhà phát triển Python, bạn sẽ cần thực hiện pip cài đặt tensorflow một lần trên hệ thống của mình và có thể sử dụng gói miễn phí ở bất kỳ đâu và trong dự án. Nhưng khi nói đến JavaScript, bạn cần chạy lệnh npm install cho mọi dự án.

Nhưng thay vì cài đặt thư viện Tensorflow.js (TFJS) trong thư viện ứng dụng, chúng tôi sẽ cài đặt một thư viện khác có tên ML5.js. Thư viện này giống như một phiên bản tốt hơn của TFJS giúp chúng tôi thực hiện Học máy ở phía máy khách dễ dàng hơn nhiều. Vậy hãy cài đặt thư viện này như sau:

 

$ npm install --save ml5

Nếu bạn muốn đảm bảo rằng thư viện đã được cài đặt thành công, hãy truy cập tệp App.js trong thư mục src và viết đoạn mã sau:

 

import React, {Component} from 'react';
import * as ml5 from 'ml5';

xuất lớp mặc định Ứng dụng mở rộng Thành phần {
render () {
return (
& lt; div & gt;
& lt; h1 & gt; {ml5.version} & lt; / h1 & gt;
& lt; / div & gt;
)
}
}

Nếu bạn quay lại trình duyệt, bạn sẽ thấy một 0.4 .1 in trên màn hình. Con số này có thể hơi khác đối với bạn dựa trên phiên bản mới nhất của ML5.js. Miễn là bạn nhìn thấy một số được in trên màn hình, bạn có thể yên tâm rằng thư viện ML5 của bạn đã được cài đặt thành công.

Như vậy là chúng ta đã xong phần cài đặt. Bây giờ chúng ta cần tạo một hàm có thể lấy một hình ảnh và phân loại nó bằng cách sử dụng một mô hình được đào tạo trước. Để thực hiện việc này, hãy viết mã sau bên trong thành phần App :

 < p class = "gc pq mt jl oh b do pr ps l pt" id = "a8ba"> ClassImage = async () = & gt; {
const classifier = await ml5.imageClassifier ('MobileNet')
this.setState ({ready: true})
const image = document.getElementById ("image")
classifier.p Dự đoán (hình ảnh, 1, (lỗi, kết quả) = & gt; {
this.setState ({
dự đoánLabel: kết quả [0] .label,
dự đoánConfidence: kết quả [0]. độ tin cậy,
dự đoán: true
})
})
}

Ở đây chúng ta có một hàm không đồng bộ được gọi là phân loại hình ảnh . Bên trong chức năng này, trước tiên, chúng tôi xác định Bộ phân loại hình ảnh của mình bằng cách tải dữ liệu MobileNet làm tập huấn luyện. Khi bộ phân loại này đã sẵn sàng, chúng tôi đặt trạng thái ready thành true . Sau đó, chúng tôi chọn hình ảnh do người dùng chèn và chuyển nó cho bộ phân loại và chạy dự đoán hàm . Chúng tôi lưu nhãn và mức độ tin cậy của dự đoán cao nhất trong đối tượng state .

Toàn bộ tệp App.js của chúng tôi sẽ trông giống như sau:

Đã đến lúc kiểm tra mô hình . Để thực hiện việc này, tôi sẽ cung cấp hình ảnh sau cho ứng dụng:

Khi tôi nhấn vàoNút Classify , ứng dụng chạy hàm ClassImage và sau một thời gian, bạn sẽ nhận được kết quả sau:

 

Ứng dụng là 63.99456858634949 % chắc chắn rằng đây là thùng

Không phải những gì tôi mong đợi. Lý do cho kết quả không chính xác này có thể là một số điều. Điều quan trọng nhất trong số đó là MobileNet không phải là tập dữ liệu thích hợp để phân loại hình ảnh này.

Hãy thử một số hình ảnh khác. Có thể là động vật:

Pic on Unsplash của Joséphine Menge

Nhấp vào nút Phân loại một lần nữa và tôi nhận được 🤞:

Ứng dụng 90.23570418357849% chắc chắn rằng đây là Border collie

Chà! 90% tin cậy rằng hình ảnh có Border Collie, là loại Chó!

Kết thúc

Nếu bạn đã gắn bó với tôi cho đến bây giờ, thì bạn vừa thực hiện một số Học máy trong JavaScript ! Hãy tiếp tục và tự vỗ về mình!

Nhưng bạn và tôi vẫn còn lâu mới trở thành chuyên gia ML. Trong bài viết này, chúng tôi đã thực hiện phần kiểm tra của Học máy và sử dụng mô hình được đào tạo trước. Niềm vui thực sự bắt đầu khi bạn lấy dữ liệu thô của chính mình và cố gắng sử dụng nó để đào tạo dữ liệu của mình.

Đó là những gì tôi sẽ cố gắng làm bây giờ. Vì vậy, chúc tôi may mắn! Nếu thành công thì tôi sẽ viết bài tiếp theo.

Như mọi khi, tôi xin cảm ơn tất cả các bạn đã đọc những bài viết dài của tôi. Tôi vẫn chưa quen với Học máy trong JavaScript. Vì vậy, nếu bạn cho rằng tôi đã mắc lỗi gì trong bài đăng này hoặc nếu tôi có thể đã làm điều gì đó khác đi, thì hãy bình luận về điều đó.

Bạn có thể xem toàn bộ mã nguồn của Ứng dụng React tại đây:

rajatk16 / ml-in-js

Dự án này được khởi động bằng Create React App. Trong thư mục dự án, bạn có thể chạy: Chạy ứng dụng trong…

github.com

< / span>


Xem thêm những thông tin liên quan đến chủ đề học máy với javascript

Làm máy tính(calculator) cộng-trừ-nhân-chia đơn giản với JAVASCRIPT

  • Tác giả: Alias
  • Ngày đăng: 2020-04-21
  • Đánh giá: 4 ⭐ ( 5359 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: javascript html alias
    create calculator with javacript
    Xin chào các bạn, tron g video này mình sẽ hướng dẫn các bạn tạo máy tính đơn giản để cộng trừ nhân chia với javascript nhá
    Link group học code: http://bit.ly/39eFZOi
    Link facebook cá nhân: http://bit.ly/38fi69c
    Link website: http://Alias.vn/
    Link đăng kí kênh để nhận video free: http://bit.ly/2SyBebr
    Đội ngũ Alias chuyên support IT cho các bạn ở đại học FPT Hà Nội - Ngoài ra còn support IT cho các bạn ở đại học Quốc Gia và Bách Khoa...
    Channel hướng dẫn các bạn lập trình C, C, C++, Java, Java desk, Java Web, jsp - servlet, web service, asp.net đồng thời hướng dẫn các bạn các thủ thuật hữu ích giúp cuộc sống đơn giản và dễ dàng hơn.
    Nếu nhạc nền bị gặp vấn đề bản quyền. Mong các bạn gửi mail tới trinhthehoan989@gmail.com. Mình sẽ trả lời lại trong vòng 2h ạ.
    laptrinh
    code
    java
    c
    javascript
    html
    css

Học JavaScript cơ bản: Các bí kíp học Javascript từ đầu tốt nhất

  • Tác giả: vn.bitdegree.org
  • Đánh giá: 3 ⭐ ( 3804 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn học JavaScript cơ bản: học JavaScript từ 10 bí kíp này & tìm hiểu cách tốt nahats để học JavaScript cơ bản miễn phí

JavaScript cơ bản

  • Tác giả: codelearn.io
  • Đánh giá: 5 ⭐ ( 3537 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Giúp học viên nắm vững các nguyên tắc và cú pháp cơ bản trong Javascript - ngôn ngữ lập trình phổ biến nhất trên thế giới.

Tự học bằng phần mềm học lập trình Javascript đơn giản tại nhà

  • Tác giả: codegym.vn
  • Đánh giá: 5 ⭐ ( 4990 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Phần mềm học lập trình Javascript nào tốt nhất? Hiện nay có rất nhiều phần mềm học lập trình được ra đời. Mỗi phần mềm nó lại có một công dụng khác nhau.

Học Javascript với 9 chuyên đề từ dễ đến khó (Miễn Phí)

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 5073 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chuyên mục học javascript tổng hợp các bài viết về học lập trình Javascript nói chung và JS nói riêng, tại đây bạn sẽ tự học javascript theo một lộ trình bài.

Học JavaScript Cơ Bản

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 3 ⭐ ( 7808 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Học JavaScript cơ bản cho người mới bắt đầu là khoá học về ngôn ngữ JavaScript dành cho những người mới. Bài viết này sẽ cung cấp cho bạn những kỹ năng cơ bản cần thiết để trở thành một lập trình viên JavaScirpt chuyên nghiệp.

10 trang web học JavaScript cơ bản

  • Tác giả: fasttrack.edu.vn
  • Đánh giá: 5 ⭐ ( 1481 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chúng ta may mắn sinh ra trong thời đại của công nghệ thông tin. Nhờ mạng Internet, ta có thể truy cập vào nhiều nguồn thông tin và học bất cứ thứ gì ta

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php