Madlib を使用して「機械学習」で KNN を学習する

Madlib を使用して「機械学習」で KNN を学習する

序文

機械学習(ML)は、教師あり学習、教師なし学習、半教師あり学習などに分けられます。

1.1 教師あり学習

教師あり学習は、ニューラル ネットワークと決定木をトレーニングするための一般的な手法です。これは、事前に決定された分類システムによって提供される情報に大きく依存します。ニューラル ネットワークの場合、分類システムは情報を使用してネットワークのエラーを判別し、ネットワーク パラメータを継続的に調整します。決定木を使用すると、分類システムは決定木を使用して、どの属性が最も多くの情報を提供するかを判断します。

与えられたトレーニング データ セットから関数が学習され、新しいデータが到着すると、この関数に基づいて結果を予測できます。

教師あり学習のトレーニング セットには、入力と出力、つまり特徴とターゲットが必要です。トレーニング セット内のターゲットは人間によってラベル付けされます。

一般的な教師あり学習アルゴリズム: 回帰分析と統計分類。最も一般的なアルゴリズムは KNN と SVM です。

最も一般的な教師あり学習は、回帰と分類です。

回帰: Y は実数ベクトルです。回帰問題は、コスト関数 L を最小化するために曲線 (x, y) を近似することです。

分類: Y は有限数であり、クラス ラベルと見なすことができます。分類問題では、まず分類器をトレーニングするためのラベル付きデータが必要なので、教師あり学習プロセスに属します。分類プロセスでは、コスト関数 l(X,Y) は、X がクラス Y に属する確率の負の対数です。

ここでfi(X)=P(Y=i/X)です。

教師あり学習法では、トレーニング セットとテスト サンプルが必要であり、トレーニング セット内のパターンを見つけて、そのパターンをテスト サンプルで使用する必要があります。

教師あり学習の方法は、物事を識別することです。識別の結果は、識別するデータにラベルを付けることです。そのため、トレーニング サンプル セットはラベル付けされたサンプルで構成されている必要があります。

1.2 名詞 KNN

k近傍法

指定されたデータ ポイントに最も近い k 個のデータ ポイントを検索し、分類の場合は出力クラスの多数決値を出力し、回帰の場合はターゲット値の平均を出力します。

袖をまくって

2.1 新しいものと新しいもの

このソフトウェアは、最新の postgresql 10.0 と最新の madlib 1.12 に基づいています。

操作を簡単にするために、Docker ベースの Ubuntu 16.04 を使用して madlib をインストールし、このイメージをどこにでも持ち運べるようにします。以下の操作は MAC で実行されます。

2.2 madlibのバージョンを確認する

  1. #madlib.version() を選択します。

2.3 トレーニングデータのインポート

  1. knn_train_data が存在する場合はテーブルを削除します。
  2. テーブルknn_train_dataを作成します(
  3. id 整数、
  4. データ整数[],
  5. ラベルフロート
  6. );

  1. knn_train_data に値を挿入
  2. (1, '{1,1}', 1.0),
  3. (2, '{2,2}', 1.0),
  4. (3, '{3,3}', 1.0),
  5. (4, '{4,4}', 1.0),
  6. (5, '{4,5}', 1.0),
  7. (6, '{20,50}', 0.0),
  8. (7, '{10,31}', 0.0),
  9. (8, '{81,13}', 0.0),
  10. (9、'{1,111}'、0.0);
  1. knn_train_dataから* を選択し、 id で ORDER BY します。

2.4 テストデータのインポート

  1. knn_test_data が存在する場合はテーブルを削除します。
  2. テーブルknn_test_dataを作成します(
  3. id 整数、
  4. データ整数[]
  5. );

  1. knn_test_data に値を挿入
  2. ( 1 , '{2,1}' ),
  3. ( 2 , '{2,6}' ),
  4. ( 3 '{15,40}' )、
  5. ( 4 , '{12,1}' ),
  6. ( 5 , '{2,90}' ),
  7. 6 '{50,45}' );
  1. knn_test_dataから* を選択し、 id で ORDER BY します。

2.5 分類トレーニング

  1. madlib.knnから*を選択します(
  2. 'knn_train_data' , -- トレーニングデータテーブル名
  3. 'data' 、 -- トレーニングデータが配置されている列
  4. 'label' 、 -- トレーニング ラベル
  5. 'knn_test_data' , -- テストデータテーブル名
  6. 'data' 、-- テストデータが配置されている列
  7. 'id' , -- テストデータ列名 id
  8. 'madlib_knn_result_classification' , -- 結果出力
  9. 'c' 、 -- カテゴリ
  10. 3 -- 最も近い隣接数
  11. );

2.6 分類出力結果の表示

  1. madlib_knn_result_classificationから* を選択し、 ID で ORDER BY します。

グラフィックの例:

2.7 回帰分析の実行

  1. madlib_knn_result_regression が存在する場合はテーブルを削除します。
  2. madlib.knnから*を選択します(
  3. 'knn_train_data' , -- トレーニングデータテーブル名
  4. 'data' 、 -- トレーニングデータが配置されている列
  5. 'label' 、 -- トレーニング ラベル
  6. 'knn_test_data' , -- テストデータテーブル名
  7. 'data' 、-- テストデータが配置されている列
  8. 'id' , -- テストデータ列名 id
  9. 'madlib_knn_result_regression' 、--結果出力
  10. 'r' , -- 戻る
  11. 3 -- 最も近い隣接数
  12. );

2.8 回帰出力結果の表示

  1. madlib_knn_result_regressionから* を選択し、 ID で ORDER BY します。

グラフィックの例:

まとめ

Postgresql は構造化データの便利な保存と処理を提供し、madlib は ML アルゴリズムのサポートを提供します。この 2 つの強力なチームは互いに補完し合っています。

【著者プロフィール】 DataHunter テクニカルディレクター、Sun Hui 。彼はソニーなどの有名企業でシステムアーキテクト、テクニカルディレクターなどの役職を務めてきました。Shangyou、Sony Ericsson Chinese Input Method、Kuaiya、mPushなどの有名製品の研究開発を担当しました。彼は IT テクノロジー業界で 15 年間の豊富な経験を持ち、製品開発のあらゆる側面に精通して管理しており、バックエンド、フロントエンド、運用と保守、DBA、テストの分野で豊富な経験を持っています。

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  畳み込みニューラルネットワークの簡単な説明

>>:  ブラックボックス問題が依然としてディープラーニングの普及を妨げている

ブログ    

推薦する

次世代AIの成功は効果的なパイロット戦略から始まります

生成 AI は世界を席巻していますが、企業はどのようにしてこのテクノロジーの可能性を真に活用し、その...

人工知能と機械学習モデル向けのオープンソースフレームワークトップ5

[[253697]] [51CTO.com クイック翻訳] 過去 10 年間の人工知能の急速な成長...

「今日の簡単な歴史」:今後 15 年間でほとんどの人が失業することになるのでしょうか?

ユヴァル・ノア・ハラリ氏(42歳)はもともとエルサレムでヘブライ語で歴史を教える大学教授だった。38...

DeepMind の新しい研究: ReST は大規模なモデルを人間の好みに合わせて調整し、オンライン RLHF よりも効果的です

過去数か月間、私たちは大規模言語モデル (LLM) が高品質のテキストを生成し、幅広い言語タスクを解...

...

1000 以上の AI エージェントが復活、メタバースの OpenAI バージョンがリリースされる? ChatGPT+VR が「ウエストワールド」を 100% 復元

『ウエストワールド』のビデオゲーム版が現実になった。 YouTube ブロガーの Art from ...

人工知能技術の発展に関する合理的な見方

[[421597]]社会の生産性が急速に発展するにつれ、文学作品に描かれた未来の技術やより良い生活が...

卒業生向け: 機械学習とデータサイエンスのどちらを選ぶべきでしょうか?

[[337428]]データサイエンス業界は 2013 年以降、人気が爆発的に高まり、より幅広い方向...

...

近年の人工知能の発展を理解する

[[381014]]近年、AIの波が全国を席巻し、さまざまな業界で人間の仕事がAIに置き換わっていま...

...

...

ガートナー:AIと自動化は次世代SASEの重要な機能となる

近年、セキュア アクセス サービス エッジ (SASE) テクノロジーは急速に発展し、産業界で広く使...

自律走行レースのためのマルチモーダルセンサーフュージョンとターゲット追跡

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...