SOLG System Blog

AWS Machine Learning(機械学習)へPHPからアクセスする

2015年08月03日

最近はVPNの設定をしたりちょっとだけどPHPもかじりはじめた北村です。
発表されてからちょっと経ってしまいましたが、AWSでMachine Learningがリリースされたので試してみました。

AWS Machine Learning
http://aws.amazon.com/jp/machine-learning/

最近は機械学習というか、人工知能というか、いろんな実験的取り組みがよく紹介されてますね。
画像から年齢を推測したり、気持ちの悪い絵を描いたり、
有名大学の入試を突破したり、車を走らせたり。
最初に言っておきますが今回のAWSのMachine Learningではそんなに高度なことはできません。
CSVなどの表形式のデータを取り込んで、それを元に将来の数値を予測するといったものです。

とはいえ私は統計学も機械学習についても特別な知識はありません。
でも最近よく機械学習とか人工知能がよく話題になってるし、
30年後は人間より機械の方が賢くなってしまうとも言うし、
ちょっとだけでもその技術に触れてみたい、と思って試してみました。

ちなみに、AWSのMachine Learningを使うだけなら、
もう既にいろんな人が試しているのでそちらをご参考にしていただければと思います。
しかしそれにPHPからアクセスしてWeb上で動的に予測結果を返す、
という具体的なコードまでは見つけられなかったので紹介したいと思います。

まず、AWS上でMachine Learningを使う方法です。
私は次のページを参考にしました。

クラスメソッド 【新サービス】Amazon Machine Learningを試してみた #AWSSummit #AmazonML
http://dev.classmethod.jp/cloud/aws/getting-started-amazon-machine-learning/

これでAWS上では予測値を返せるようになったはずです。
次にML modelのUSAGEで「Real time predictions」を有効にします。
そしてPHPからアクセスする方法です。

PHPからAWSへアクセスするためのSDKをインストールします。
インストール方法は次のページを参考にしてください。

ナレコムAWS レシピ AWS SDK編~for PHP~
http://recipe.kc-cloud.jp/archives/6045

で、これがソースコードです。
適当な名前で保存してサーバーへアップロードしてください。
---------------------------------------------------------------------------------
require 'vendor/autoload.php';
use Aws\MachineLearning\MachineLearningClient;

$config = array(
'region' => 'us-east-1', //今の所これしか選択肢はありません
'key' => '******************', //LMへアクセス可能なIAMユーザーのアクセスキーを入力します
'secret' => '*******************' //LMへアクセス可能なIAMユーザーのシークレットキーを入力します
);

$client = MachineLearningClient::factory($config);
$result = $client->predict(array(
// MLModelId is required
'MLModelId' => 'ml-***************', //ML modelのIDを入力します
// Record is required
'Record' => array(
// Associative array of custom 'VariableName' key names
// 以下、判定させたいケースの値を入力します
'age' => "30",
'job' => "enterpreneur",
'martial' => "married",
'education' => "basic.6y",
'default' => "no",
'housing' => "no",
'loan' => "no",

// ... repeated
),
// PredictEndpoint is required
'PredictEndpoint' => 'https://realtime.machinelearning.us-east-1.amazonaws.com', //今の所他の選択肢はないと思います
));

var_dump($result); //予測結果がJSON形式で出力されます
---------------------------------------------------------------------------------
ここまでくれば、少しPHPをかじった方なら応用を効かせられるのではないでしょうか!?
わからないところや間違っているところがあったら是非ご指摘ください。
ちなみに私はまだ実用化ができていないのですが、
実際に「こんな形で使ってるよ!」というような情報をいただけるととてもうれしいです!


参考ページ
Microsoft How-old
http://how-old.net

まぐまぐニュース悪夢画像の衝撃! Googleの人工知能「Deep Dream」が見る夢がヤバすぎ
http://www.mag2.com/p/news/23021

Gigazine ついにGoogleの全自動運転カーが公道走行デビューを果たす
http://gigazine.net/news/20150626-google-self-driving-car-on-road/

ロボットは東大に入れるか
http://21robot.org

日本経済新聞 人工知能「2045年問題」 コンピューターは人間超えるか
http://www.nikkei.com/article/DGXMZO82144080Q5A120C1000000/

Gigazine 人工知能は核兵器よりも潜在的に危険、ホーキング博士が「100年以内に人工知能は人間を超える」と警告
http://gigazine.net/news/20150529-ai-will-overtake-humans/

同じカテゴリー(AWS)の記事画像
[Rails]AWS SDK for Ruby(2.5系)を使用してファイルをS3にアップロードしてみた
JAWS DAYS 2016に行ってきました。
株式会社サーバーワークスさんにお邪魔してきました。
JAWS-UG/浜松・静岡勉強会
仮想化で社内LANを構築して、一世代前のWindowsサーバーを構築したよ2
仮想化で社内LANを構築して、一世代前のWindowsサーバーを構築したよ1
同じカテゴリー(AWS)の記事
 小ネタ (2016-10-30 14:48)
 [Rails]AWS SDK for Ruby(2.5系)を使用してファイルをS3にアップロードしてみた (2016-09-06 11:42)
 AWS Summit 2016 Tokyoと最近試したAWSサービスの感想 (2016-06-09 10:54)
 JAWS DAYS 2016に行ってきました。 (2016-03-23 20:08)
 株式会社サーバーワークスさんにお邪魔してきました。 (2015-05-25 11:09)
 ファイルサーバーをクラウドにおく費用 (2015-05-07 09:07)

Posted by iA SEチーム at 09:58│Comments(0)AWS
上の画像に書かれている文字を入力して下さい
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

PageTop

削除
AWS Machine Learning(機械学習)へPHPからアクセスする
    コメント(0)