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 ストレージを導入する際に留意すべき 7 つのポイント

企業における人工知能新しい人工知能 (AI) と機械学習 (ML) のワークロードにより、エンタープ...

...

ファインマン・ラプソディ:体内に入ることができる「外科医」

1959年、ノーベル物理学賞受賞者のリチャード・ファインマンは、カリフォルニア工科大学での「体の底...

AIがスマートホームとどのように統合されるか

AI テクノロジーがスマート ホームをどのように改善しているかについて学びます。人工知能とは何ですか...

人工知能は失業を引き起こすでしょうか?幸運の裏返し

現在ほとんどの人が行っている仕事が、将来ある日突然完全に消滅したり、永遠に忘れ去られたりするのではな...

...

AIが髪の毛に至るまで肖像画を生成!北京大学卒業生の最新研究が2.8千個の星を獲得

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

...

3.15を利用して、あなたの周りの偽の人工知能を数えましょう

他のインターネットの概念と同様に、AI は人気が出ると数え切れないほどの支持者を獲得しました。彼らは...

2021 年の年収 100 万ドルの AI 職種のトレンド: データ サイエンス、Python、自動運転、AIOps に注目していますか?

今年も終わりですね! 2021年が近づいてきました。今年は流行が落ち着いてきましたが、AIの発展は止...

IDC: 企業の AI ソリューションへの支出は 2021 年に 3,420 億ドルに達すると予想

[[417110]] IDCの世界人工知能市場に関する最新の半期追跡レポートによると、世界のAI市場...

...