|
Leifeng.com AI研究所 注記:この記事は主にGitHubの記事「機械学習入門」(オリジナルリンク:https://github.com/collections/machine-learning)の翻訳です。Leifeng.com AI研究所は、AI開発者により詳細なAIプロジェクトとリソースを提供するために、オリジナルの記事にいくつかのオープンソースプロジェクトを補足しました。
機械学習とは、データを用いて学習、要約、予測を行う学問です。近年、データの発展、アルゴリズムの改良、ハードウェアの計算能力の向上に伴い、機械学習技術は急速に発展し、新たな分野への進出を続けています。パターン認識からビデオゲームまで、開発者はAIアルゴリズムを学習させることで、多種多様な楽しいアプリケーションを開発しています。 MarI/Oソースコードアドレス: https://pastebin.com/ZZmSNaHX ニューラルネットワークと遺伝的アルゴリズムを使用して作成されたプログラムは、「スーパーマリオワールド」をプレイできます。 リチャード・アン/Wechat_AutoJumpGitHubアドレス: https://github.com/Richard-An/Wechat_AutoJump AIがWeChatのジャンプジャンプゲームをプレイする正しい方法。 lllyasviel/style2paintsGitHub アドレス: https://github.com/lllyasviel/style2paints 漫画の線画に自動的に色を付ける AI 搭載ツール。 テンソルフロー/マゼンタGitHub アドレス: https://github.com/tensorflow/magenta 機械生成のインテリジェントな音楽とアートのジェネレーター。 jbhuang0604/素晴らしいコンピュータビジョンGitHub アドレス: https://github.com/jbhuang0604/awesome-computer-vision 非常に優れたコンピューター ビジョン リソース。 研究者たちは機械学習の分野で素晴らしい進歩を遂げてきましたが、その開発はまだ初期段階にあります。 機械学習を初めて使用する開発者が機械学習とは何かを理解するには、まず入力、アルゴリズム、出力の 3 つの部分を理解する必要があります。 入力: 機械学習を動かすデータ入力とは、アルゴリズムとモデルのトレーニングに必要なデータセットを指します。入力には、ソース コードから統計まで、あらゆるものが含まれます。 GSA/データGitHub アドレス: https://github.com/GSA/data 米国一般調達局からの分類データ。 Googleトレンド / データGitHub アドレス: https://github.com/GoogleTrends/data Google オープンソースデータインデックス 国立公園サービス / データGitHub アドレス: https://github.com/nationalparkservice/data 米国の国立公園の非公式データベース。 fivethirtyeight / データGitHub アドレス: https://github.com/fivethirtyeight/data ニュースサイトFiveThirtyEightからのコードとデータの一部。 ザランドリサーチ/ファッション・ミニストGitHubアドレス: https://github.com/zalandoresearch/fashion-mnist MINISTに似たファッション商品データベース。 ビームアンドリュー / 医療データGitHubアドレス: https://github.com/beamandrew/medical-data 機械学習用の医療データのリスト。 src-d/ソースコード上の素晴らしい機械学習GitHub アドレス: https://github.com/src-d/awesome-machine-learning-on-source-code 機械学習に関連する論文へのリンクとコード。 ペアコード/ファセットGitHubアドレス: https://github.com/PAIR-code/facets 機械学習データセット可視化ツール。 機械学習アルゴリズムをトレーニングするにはこのデータが必要なため、高品質のデータセットを入手することは、今日の機械学習分野における最大の課題の 1 つです。 アルゴリズム:データを処理し分析する方法機械学習アルゴリズムは、データを用いて特定のタスクを実行します。最も一般的な機械学習アルゴリズムには、以下のものがあります。 1. 教師あり学習。教師あり学習では、ラベル付けされた構造化されたデータを使用します。入力データセットから望ましい出力を指定することにより、機械はターゲットを識別し、他の学習タスクにマッピングする方法を学習できます。 たとえば、決定木学習では、入力データのセットに決定ルールを適用することで数値を予測できます。 イグリゴリック / 決定木GitHub アドレス: https://github.com/igrigorik/decisiontree ID3 に基づく機械学習決定木アルゴリズムの実装。 2. 教師なし学習教師なし学習とは、非構造化データを用いてパターンや構造を発見するプロセスです。教師あり学習ではスプレッドシートを入力データとして用いるのに対し、教師なし学習は書籍や記事の理解に用いられる場合があります。 たとえば、教師なし学習は自然言語処理で非常に人気のある手法です。 ケオン / awesome-nlpGitHub アドレス: https://github.com/keon/awesome-nlp 自然言語処理 (NLP) 専用のリソースのリスト。 3. 学習を強化する強化学習では、報酬と罰を使用してエージェントの行動を最適化する、特定の目標を達成するためのアルゴリズムが必要です。 たとえば、強化学習は自動運転車の開発やロボットに物体の生産方法を教えるのに使用できます。 オープンエア / ジムGitHubアドレス: https://github.com/openai/gym 強化学習アルゴリズムを開発および比較するためのツールキット。 aikorea / 素晴らしいGitHubアドレス: https://github.com/aikorea/awesome-rl 強化学習用に特別に設計されたリソースのリスト。 練習に使えるプロジェクトをいくつか紹介します。 ウムティシク / アイゲンテクノGitHubアドレス: https://github.com/umutisik/Eigentechno 音楽ループの主成分分析 jpmckinney/tf-idf-類似度GitHubアドレス: https://github.com/jpmckinney/tf-idf-similarity Ruby gem では、テキスト間の類似度を計算するために tf * idf が使用されます。 scikit-learn-contrib/lightningGitHub アドレス: https://github.com/scikit-learn-contrib/lightning Python での大規模な線形分類、回帰、ランキング。 gwding / draw_convnetGitHub アドレス: https://github.com/gwding/draw_convnet 畳み込みニューラル ネットワーク (ConvNet) を説明するために使用される Python スクリプト。 いくつかのライブラリとツール: scikit-learn / scikit-learnGitHub アドレス: https://github.com/scikit-learn/scikit-learn Python で機械学習を実装します。 テンソルフロー / テンソルフローGitHub アドレス: https://github.com/tensorflow/tensorflow 数値計算にデータフロー グラフを使用するオープン ソース ソフトウェア ライブラリ。 テアノ / テアノGitHub アドレス: https://github.com/Theano/Theano 多次元配列を含む数式を効率的に定義、最適化、評価できる Python ライブラリ。 将軍ツールボックス/将軍GitHubアドレス: https://github.com/shogun-toolbox/shogun 非常に効率的なオープンソースの機械学習ツール。 デイビスキング / dlibGitHub アドレス: https://github.com/davisking/dlib C++ で記述された機械学習およびデータ分析アプリケーション用のツールキット。 Apache / 予測GitHub アドレス: https://github.com/apache/predictionio Apache Spark、HBase、Spray をベースにした、開発者および機械学習エンジニア向けの機械学習サーバー。 その他のディープラーニングフレームワークについては、次の記事をご覧ください。 2017年のディープラーニングフレームワークの発展を振り返る:PyTorchの登場、Theanoの終焉 出力: 最終結果機械学習の出力は、色を認識するためのパターン、ウェブページの単純な色調分析、あるいは特定の信頼区間内の予測値など、多岐にわたります。つまり、出力は何でもあり得るのです。 出力結果を取得するにはいくつかの方法があります。
以下にいくつかのアプリケーション例を示します。 ディープマインド / pysc2GitHubアドレス: https://github.com/deepmind/pysc2 DeepMind は強化学習を使用して StarCraft 2 をプレイします。 gokceneraslan/awesome-deepbioGitHub アドレス: https://github.com/gokceneraslan/awesome-deepbio 生物学コンピューティング分野におけるディープラーニング アプリケーションのリスト。 ブリブリスリ / ByteNetGitHub アドレス: https://github.com/buriburisuri/ByteNet DeepMind ByteNet を使用して実装され、Tensorflow をベースにしたフランス語から英語への翻訳者。 オープンNMT/オープンNMTGitHub アドレス: https://github.com/OpenNMT/OpenNMT Torch 上のオープンソースのニューラル機械翻訳。 機械学習を始める準備はできていますか?オープンソース プロジェクトを活用して機械学習を習得しましょう。また、以下の開発者のようにリソースを貢献することもできます。 機械学習:josephmisiti/素晴らしい機械学習https://github.com/josephmisiti/awesome-machine-learning いくつかの機械学習フレームワーク、ライブラリ、ソフトウェアのリスト。 ujjwalkarn/機械学習チュートリアルhttps://github.com/ujjwalkarn/機械学習チュートリアル 機械学習とディープラーニングのチュートリアル、記事、その他のリソース。 ディープラーニング素晴らしいディープラーニングhttps://github.com/ChristosChristofidis/awesome-deep-learning いくつかの優れたディープラーニングのチュートリアル、プロジェクト、コミュニティ。 ファスタイ / コースhttps://github.com/fastai/courses fast.ai コース。 テンソルフロー:jtoy / awesome-tensorflowGitHub アドレス: https://github.com/jtoy/awesome-tensorflow TensorFlow リソースリスト: http://tensorflow.org nlintz / TensorFlow チュートリアルGitHub アドレス: https://github.com/nlintz/TensorFlow-Tutorials TensorFlow に関する簡単なチュートリアル。 pkmital/tensorflow_tutorialsGitHub アドレス: https://github.com/pkmital/tensorflow_tutorials TensorFlow の基本と興味深い応用についていくつか紹介します。 ***、Leifeng.com(WeChat公式アカウント:Leifeng.com)AI研究所は、プログラマー向けにさらに2つの禅のようなコメントを追加し、バグのないプログラミングを仏が祝福してくれることを願っています。 Guicai-Li/OneDayhttps://github.com/Guicai-Li/OneDay ヨンドゥル/仏陀https://github.com/YondoL/Buddha/blob/master/index.html |