はじめに

企業が扱うデータ量の増加に伴い、データ活用における新しいトレンドとして「機械学習」が大変注目を集めています。この記事は、簡単に機械学習についておさらいをした上で、Verticaで実現できる機械学習についてご紹介します。


そもそも機械学習とは?

過去のデータを機械が学習してパターンを理解させます。そして新たに投入されたデータを見て、人間では処理するのが難しい、あるいは時間がかかるような処理を機械が予測・判断することができるのが機械学習の大きな特徴です。日常生活の中で機械学習の仕組みが取り入れられている場面は非常に多岐に渡ります。

日常生活における機械学習の例

 ・ネットショッピングでの商品レコメンド
 ・SNSの友達、知り合い候補の表示
 ・迷惑メールのスパムフィルタ
 ・写真などの画像データから顔を検出する
 ・封筒やはがきに書かれた数字を認識する
 ・ウェブ検索の関連語の表示
 など



高まる分析ニーズ

では、昨今求められているニーズにはどのようなものがあるのでしょうか。例えばビジネスの場では以下のような分析に対するニーズが高まっています。

ニーズの多い分析例

 ・売上金額を元に何かしらの予測を立てたい
 ・ユーザが契約を解約する動きを事前に予測を立てたい
 ・将来の優良顧客を自動的に予測したい
 ・機械や装置の稼働状況から故障の前兆を検知したい
 ・システムの利用状況から不正使用を検知したい
 ・クレジットカードの利用状況から不正使用を検知したい
 など


「クレジットカードの利用状況から不正使用を検知したい」という例を元に流れを纏めたのが以下の図です。



【デモ動画】
Verticaで実現する機械学習 SQLで簡単にできる!~クレジットカード不正利用のリアルタイムな検知~
http://vertica-tech.ashisuto.co.jp/demo_movie3/



機械学習を行う際の課題

一般的には、機械学習は以下のようなプロセスを踏まえて実行されています。



このような一般的な機械学習のプロセスでは、次のような課題を抱えていました。




Verticaで機械学習を行うことのメリット

Verticaでは、従来ハードルが高いとされていたこのような機械学習を、以下の図のように標準機能だけで実装しており、一連のプロセスをサポートしています。




Verticaで機械学習を行うことで、以下のようなメリットを享受出来ます。




Verticaに内蔵されている機械学習のアルゴリズム

現在の最新バージョンであるVertica 8.1では、以下のような機械学習のアルゴリズムが実装されています。従来は困難だった大量データの機械学習を、Verticaが持ち併せている高速処理性能を活かしながら実現できます。

種類アルゴリズム
モデル
作成
評価
予測
分析
適用例
回帰
(教師あり学習)
線形回帰分析
販売予測
発注予測
査定金額予測
分類
(教師あり学習)
ロジスティック回帰分析
0か1かに分けられるような分類予測
不正利用の判断予測
売買審査の判断予測
異常行動の判断予測
ナイーブベイズ分類器
サポートベクターマシン(SVM)
クラスタリング
(教師なし学習)
K平均法
傾向の似た集団を見つけ出す


機械学習の対応アルゴリズムはバージョンアップに合わせて都度追加されています。各アルゴリズムの詳細については順次ご紹介していきます。


参考情報

Machine Learning Functions
https://my.vertica.com/docs/8.1.x/HTML/index.htm#Authoring/SQLReferenceManual/Functions/MachineLearning/MLAlgorithms.htm

Verticaで始める機械学習~SVM(サポートベクターマシン)アルゴリズムへの対応~
http://vertica-tech.ashisuto.co.jp/vertica-ml-svm/


検証バージョンについて

この記事の内容はVertica 8.1で確認しています。