2019 年の JavaScript 向け機械学習ライブラリ トップ 6

2019 年の JavaScript 向け機械学習ライブラリ トップ 6

通常、機械学習 (ML) の方法とアルゴリズムは、Python または R の 2 つのプログラミング言語のいずれかを使用して適用されます。機械学習に関する書籍、コース、チュートリアルでも、通常、これらの言語の 1 つ (または両方) が使用されます。

[[270861]]

Python は、機械学習だけでなく、科学計算、バックエンド Web 開発、デスクトップ アプリケーションなどにも使用される汎用プログラミング言語です。R は主に統計学者によって使用されます。ただし、少なくとも 2 つの共通点があります。

  • プログラマー以外の人にも適しています
  • 包括的なMLライブラリがある

多くの場合、ML アルゴリズムは Fortran、C、C++、または Cython で実装され、Python または R から呼び出されます。

Java は機械学習にも使用されますが、通常はプロのプログラマーによって使用されます。

ここ数年で JavaScript の人気が高まり、ブラウザーや Node.js で ML メソッドを実装するための非常に興味深い機械学習ライブラリがいくつか登場しました。驚くべきことに、これらのライブラリの多くは、大量のコードを JavaScript で実装しています。

js の

ml.js は、ブラウザと Node.js 向けの包括的で汎用的な JavaScript ML ライブラリです。次のルーチンを提供します。

  • 配列、ハッシュ テーブル、ソート、乱数生成などのビット演算。
  • 線形代数、配列演算、最適化(レーベンバーグ・マルカート法)、統計
  • クロス検証
  • 教師あり学習
  • 教師なし学習

サポートされている教師あり学習方法は次のとおりです。

  • 線形回帰、多項式回帰、指数回帰、べき乗回帰
  • K近傍法
  • ナイーブベイズ
  • サポートベクターマシン
  • 決定木とランダムフォレスト
  • フィードフォワードニューラルネットワークなど

さらに、ml.js はいくつかの教師なし学習手法を提供します。

  • 主成分分析
  • クラスター分析(k平均法と階層的クラスタリング)
  • 自己組織化マップ(コホネンネットワーク)

テンソルフロー

TensorFlow は最も人気のある機械学習ライブラリの 1 つです。ディープ ネットワークを含む人工ニューラル ネットワークのさまざまなタイプと構造、およびネットワークのコンポーネントに焦点を当てています。

TensorFlow は Google Brain チームによって作成され、C++ と Python で書かれています。ただし、JavaScript をはじめとしたさまざまな言語で使用できます。

TensorFlow は非常に包括的なライブラリであり、モデルの構築とトレーニングが簡単になります。さまざまなネットワーク レイヤー、アクティベーション関数、オプティマイザー、その他のコンポーネントをサポートします。優れたパフォーマンスを備え、GPU サポートを提供します。

TensorFlow.js は、ブラウザまたは Node.js で使用するための JavaScript ML ライブラリです。 WebGLをサポートしています。

脳.js

brain.js は JavaScript で書かれたライブラリで、フィードフォワードおよびリカレント ニューラル ネットワークのトレーニングと適用に重点を置いています。また、ニューラル ネットワークに必要な数学ルーチンなどの他のユーティリティも提供します。

次のような高度なオプションが提供されます:

  • GPUを使用してネットワークをトレーニングする
  • 複数のネットワークを並行して収容できる非同期トレーニング
  • クロスバリデーションはより複雑な検証方法である

brain.js は、JSON ファイルにモデルを保存したり、JSON ファイルからモデルを読み込んだりします。

コンブネットJS

ConvNetJS は、ニューラル ネットワークとディープラーニング用の別のライブラリです。ブラウザ内でニューラルネットワークをトレーニングできます。分類と回帰の問題に加えて、まだ実験段階の強化学習モジュール(Q 学習を使用)も備えています。 ConvNetJS は、画像認識に優れた畳み込みニューラル ネットワークのサポートを提供します。

ConvNetJS では、ニューラル ネットワークはレイヤーのリストです。次のレイヤーを提供します。

  • 入力 (***) レイヤー
  • 完全に接続されたレイヤー
  • 畳み込み層
  • プーリング層
  • ローカルコントラスト正規化レイヤー
  • 分類器損失(出力)層: ソフトマックスとSVM
  • L2(出力)層を使用した回帰損失

次のようないくつかの重要なアクティベーション関数をサポートしています。

  • レル
  • S状結腸
  • 双曲正接
  • マックスアウト

次のようなオプティマイザーもあります:

  • 確率的勾配降下法
  • アダデルタ
  • アダグラッドS
  • ConvNetJS は、モデルを JSON ファイルに保存および読み込むための便利な方法も提供します。

ライセンス: MIT。

ウェブDNN

WebDNN は、LSTM アーキテクチャを備えたリカレント ニューラル ネットワークを含むディープ ニューラル ネットワークに重点を置いたライブラリです。 TypeScript と Python で記述されており、JavaScript および Python API を提供します。

また、ブラウザ内での GPU 実行の可能性も提供します。

WebDNN の非常に便利な機能は、PyTorch、TensorFlow、Keras、Caffemodel、または Chainer によって事前トレーニングされたモデルを変換して使用できることです。

自然

natural は、Node.js 用の自然言語処理用の JavaScript ライブラリです。

サポート対象:

  • トークン化(テキストを文字列の配列に分割)
  • 弦距離の計算
  • 類似文字列のマッチング
  • 分類(ナイーブベイズ、ロジスティック回帰、*** エントロピー)
  • 感情分析(現在 8 つの言語に対応)
  • 音声マッチング、屈折語、n-gram など。

結論は

JavaScript と機械学習はどちらも、ここ数年で大きな注目と人気を集めています。 JavaScript はもともと Web ページの動的な動作を実装するために作成されましたが、特にブラウザーやサーバー (Node.js) 上で機械学習手法を実装および適用するための最も人気のある言語の 1 つになりました。

この記事では、JavaScript 機械学習ライブラリの可用性に関する初期情報を提供します。

<<:  ガートナー: 高等教育における人工知能

>>:  韓国のUNISTが協力し、今後5~15分間の交通状況を予測するAIシステムを開発

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

...

...

...

【ビッグガイがやってくるエピソード7】スマートショッピングガイド対話ロボットの実践

[51CTO.com からのオリジナル記事] 現在の電子商取引業界は比較的成熟しており、さまざまな形...

超人工知能を巡る究極の議論 ― 人間とどう共存するか?それとも人類に対する完全な脅威でしょうか?

[[386332]] 1950 年代に、SF 作家のフレドリック・ブラウンは超知能機械についての物...

変革的な AI、ノーコード、ローコード - エンタープライズ AI 導入に最適なパスはどれでしょうか?

COVID-19のパンデミックにより、私たちはテクノロジー、オンライン活動、人工知能への依存をさら...

TypeScript 実践アルゴリズムシリーズ (XII): Map と HashMap の実装

この記事では、辞書とハッシュテーブルの実装のアイデアを詳しく説明し、TypeScript を使用して...

AIとブロックチェーン:この2つの人気技術の衝突はどのような火花を散らすのでしょうか?

編集者注: ブロックチェーンと AI は、今日最もホットな 2 つの技術方向であると言えます。一般の...

自律走行車の障害物回避、経路計画、制御技術の詳細な説明

1 はじめにインテリジェント交通システムは、複雑な環境における困難な自律性と安全性の問題に対処するた...

選択ガイド:機械学習をサポートする8つのデータベースの詳細解説

プラットフォームを選択するための第一の原則は、「データに近い」ことです。コードをデータの近くに保つこ...

...

炭素系生物は排除されます! AIがクロスワードパズルで初勝利

先週のバーチャルクロスワードパズル「アメリカンクロスワードパズルトーナメント」には1,000人を超え...

ロボット犬が3トンの飛行機を10メートル引っ張った

今日のロボット犬は、人間に簡単につまずかされるような時代をとうに過ぎています。新しく公開されたビデオ...

開発者にとって必須の 5 つの AI ツール、お見逃しなく!

今日のペースが速く、競争が激しい時代では、作業効率と製品品質の向上が特に重要になっています。ソフトウ...