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による処方箋の自動生成を厳しく禁止する

8月21日、北京日報によると、北京市衛生健康委員会は最近、「北京市インターネット医療監督実施弁法(試...

2018年のソフトウェア開発に関する10の予測、注目のブロックチェーンとAIを含む

[[221321]]ブロックチェーン、NLP、AI 駆動型ツール、機械学習、サーバーレス コンピュー...

ローコードがAIの参入障壁を下げる

[[341638]] [51CTO.com クイック翻訳] 機械学習を迅速に実装したい組織は、新興の...

回答者の半数以上が顔認識技術の使用に懸念を抱いている

近年最も注目されている新技術の一つとして、顔認識技術が広く利用されています。人々の生活は便利になった...

Huggingfaceの機械学習科学者が、ホットなラマ2を特集する分析記事を執筆

Meta は無料の商用バージョンである Llama 2 をリリースし、ネットワーク全体を席巻しました...

アートデザインにおける人工知能

AdobeやCelsysなどのソフトウェア企業は近年、デジタルデザインソフトウェアに人工知能機能を追...

機械学習の人気のトレンドの概要

Google トレンドを使ったことがありますか? かなり便利です。キーワードをいくつか入力すると、G...

研究者は人工知能を使ってSARS-CoV-2のような次のウイルスを見つける

ジョージタウン大学の科学者が率いる国際研究チームは、COVID-19パンデミックの原因ウイルスである...

アメリカは最強のAIを開発するために1億ドルを投資しています。あなたを狙っているわけではありませんが、ここにいる全員が職を失う可能性があります。

米企業が人工知能に1億ドルを投資人工知能といえば、誰もが知っているものでしょう。AppleファンのS...

人間支援型人工知能の6つの利点

人工知能は最近話題になっていますが、現実には人間のように考えることができるコンピューターの実現にはま...

...

人工知能、AI、ロボットは雇用に影響を与えるでしょうか?劉強東さんの答えに人々は拍手喝采しました!

[[220982]]人工知能とロボットはどちらも破壊的であり、人類社会の発展の新たな時代を導くでし...

2026年までにIoT分野のAIサービス収益は36億ドルに達する

iottechnewsによると、IoT分野の人工知能(AI)と機械学習(ML)サービスは年間40%成...

...

AWS でディープラーニングを使用するための 10 個の Linux コマンド

[[202723]] AWS 上で大規模なディープラーニング処理を実行することは、学習と開発を行うた...