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システムを開発

ブログ    
ブログ    

推薦する

...

...

フロントエンドでも機械学習を理解する必要がある

[[374893]]背景:近年、機械学習の人気は高まり続けており、フロントエンド分野も継続的に展開さ...

データセンターは効率性を向上させるためにさらなる機械学習を必要としている

世界経済フォーラムによると、2025年までに世界では毎日463EBのデータが生成されることになります...

...

...

スマートホームは私たちを監視しているのでしょうか?

スマートテクノロジーをどのように活用するのでしょうか?ほとんどのテクノロジー製品は、特にワイヤレス接...

OpenAI が GPT-4 やその他のモデルを更新し、新しい API 関数呼び出しを追加し、価格を最大 75% 引き下げ

数日前、OpenAIのCEOサム・アルトマン氏は世界ツアーのスピーチで、OpenAIの最近の開発ルー...

AI エージェントに協力と競争を教えましょう。最初の大規模マルチエージェントフレームワークであるCAMELは3.6kのスターを獲得しました

「どんな魔法が私たちを賢くするのでしょうか?魔法は魔法がないことです。知性の力は、単一の完璧な原理か...

第 4 次小売革命を経て、WOT の 3 人の専門家が真のスマート小売とは何かを語ります。

[51CTO.comよりオリジナル記事] 6月21日、WOT2019グローバル人工知能技術サミット...

...

包括的なデータサイエンスC/C++機械学習ライブラリコレクション、Baidu検索は不要

はじめにと動機 - なぜ C++ なのか? C++ は、動的負荷分散、適応型キャッシュ、大規模なデー...

無線測定・制御、顔認識、ドローン検査などハイテクが「史上最難関の大学入試」を護衛

本人確認のための顔認識、路上の車両の無線測定と制御、空中検査を行うドローン...人々の日常生活におけ...

AIの未来はエッジにある

モノのインターネット (IoT) は、絶えず複製されるエンティティのネットワークのようなもので、これ...

データ構造とアルゴリズム: K 回の否定後の配列の合計を最大化する

[[435915]] K回の反転後の配列の最大合計LeetCode の問題へのリンク: https:...