Japanese

Artificial Intelligence | Machine Learning
Makoto Unemi (畝見 真) 0
SAS Viyaを「無償」で「実データ」で「体感」してみよう!

2017年12月にSAS Viyaの最新版3.3がリリースされました。 これに伴い、皆様には、大幅に拡張されたSAS Viyaの機能を存分に体感いただくために今版から、皆様がお持ちの「実データ」でSAS Viyaベースのすべての製品を自由に触っていただけるようになりました。 ぜひ、ご利用ください! 利用手順に関しては、以下のブログをご覧ください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

Machine Learning | Programming Tips
Makoto Unemi (畝見 真) 0
SAS Viyaにディープラーニングが登場! さっそく画像分類してみた。

SAS Viyaがリニューアルされまして、ついにディープラーニングが登場しました! SAS ViyaのディープラーニングではオーソドックスなDeep Neural Network(DNN)から、画像認識で使われるConvolutional Neural Network(CNN、畳込みニューラルネットワーク)、連続値や自然言語処理で使われるRecurrent Neural Network(RNN、再帰的ニューラルネットワーク)まで利用可能になります。 ディープラーニングを使うことのメリットは、従来の機械学習やニューラルネットワークが苦手としている画像や文章を認識し、高い精度で分類や推論することが可能になります。 高い精度というのは、ディープラーニングのモデルによっては人間の目よりも正確に画像を分類することができるということです。 例えばコモンドールという犬種がありますが、この犬はモップのような毛並みをしていて、人間ではモップと見間違えることがあります。 これは犬? それともモップ? こういう人間だと見分けにくい画像に対しても、ディープラーニングであれば、人間よりも正確に犬かモップかを見分けることができるようになります。 というわけで、今回はSAS Viyaのディープラーニングを使って画像分類をしてみたいと思います。 ディープラーニングの仕組み 画像分類のディープラーニングではCNNを使います。 CNNは画像の特徴を探し出す特徴抽出層と特徴から画像を分類する判定層で構成されています。   特徴抽出層は主に畳込み層とプーリング層で構成されています。 畳込み層で入力画像に対し、ピクセルの特徴(横線の有無とか斜め線とか)を探し出し、プーリング層で重要なピクセルを残す、という役割分担です。 判定層は、特徴抽出層が見つけた特徴をもとに、画像の種類を分類します。 例えば犬と猫の分類であれば、特徴抽出層が入力画像から、面長で大きな鼻の特徴を見つけだし、犬と分類します。   または、丸っこい顔立ちと立った耳の特徴を見つけだし、猫と分類します。   SAS Viyaで画像を扱う SAS ViyaディープラーニングでCifar10をネタに画像分類をしてみたいと思います。 Cifar10は無償で公開されている画像分類のデータセットで、10種類の色付き画像60,000枚で構成されています。 各画像サイズは32×32で、色はRGBです。 10種類というのは飛行機(airplane)、自動車(automobile)、鳥(bird)、猫(cat)、鹿(deer)、犬(dog)、蛙(frog)、馬(horse)、船(ship)、トラック(truck)で、それぞれ6,000枚ずつ用意されています。 画像は総数60,000枚のうち、50,000枚がトレーニング用、10,000枚がテスト用です。   画像データは以下から入手することができます。 https://www.cs.toronto.edu/~kriz/cifar.html さて、Cifar10を使って画像分類をしてみます。言語はPython3を使います。 SAS Viyaで画像分類をする場合、まずは入手したデータをCASにアップロードする必要があります。 CASはCloud Analytics Servicesの略称で、インメモリの分散分析基盤であり、SAS Viyaの脳みそにあたる部分です。 SAS Viyaの分析は、ディープラーニング含めてすべてCASで処理されます。 CASではImage型のデータを扱うことができます。 Image型とは読んで字のごとくで、画像を画像フォーマットそのままのバイナリで扱えるということです。

Machine Learning
SAS Japan 0
機械学習アルゴリズム選択ガイド

この記事はSAS Institute Japanが翻訳および編集したもので、もともとはHui Liによって執筆されました。元記事はこちらです(英語)。 この記事では、関心対象の課題に適した機械学習アルゴリズムを特定・適用する方法を知りたいと考えている初級~中級レベルのデータ・サイエンティストや分析担当者を主な対象者としたガイド資料を紹介し、関連の基本知識をまとめます。 幅広い機械学習アルゴリズムに直面した初心者が問いかける典型的な疑問は、「どのアルゴリズムを使えばよいのか?」です。この疑問への答えは、以下を含む数多くの要因に左右されます。 データの規模、品質、性質 利用できる計算時間 タスクの緊急性 データの利用目的(そのデータで何をしたいのか?) 経験豊富なデータ・サイエンティストでも、どのアルゴリズムが最も優れたパフォーマンスを示すかは、複数の異なるアルゴリズムを試してみなければ判断できません。本稿の目的は、特定の状況にのみ有効なアプローチを紹介することではなく、「最初に試すべきアルゴリズム」を何らかの明確な要因にもとづいて判断する方法についてガイダンスを示すことです。 機械学習アルゴリズム選択チートシート この機械学習アルゴリズム選択チートシートは、幅広い機械学習アルゴリズムの中から特定の課題に最適なアルゴリズムを見つけ出すために役立ちます。以下では、このシートの使い方と主要な基礎知識をひと通り説明します。 なお、このチートシートは初心者レベルのデータ・サイエンティストや分析担当者を対象としているため、推奨されるアルゴリズムの妥当性に関する議論は省いてあります。 このシートで推奨されているアルゴリズムは、複数のデータ・サイエンティストと機械学習の専門家・開発者から得られたフィードバックやヒントを取りまとめた結果です。推奨アルゴリズムについて合意に至っていない事項もいくつか残っており、そうした事項については、共通認識に光を当てながら相違点のすり合わせを図っているところです。 利用可能な手法をより包括的に網羅できるように、手元のライブラリが拡充され次第、新たなアルゴリズムを追加していく予定です。 チートシートの使い方 このシートは一般的なフローチャートであり、パス(楕円形)とアルゴリズム(長方形)が配置されています。各パスでYES/NO、または高速性/正確性を選びながら最終的に到達したものが推奨アルゴリズムとなります。いくつか例を挙げましょう。 次元削減を実行したいものの、トピック・モデリングを行う必要がない場合は、主成分分析を使うことになります。 次元削減が不要で、応答があり、数値を予測する場合で、高速性を重視するときには、デシジョン・ツリー(決定木)または線形回帰を使います。 次元削減が不要で、応答がない場合で、階層構造の結果が必要なときには、階層的クラスタリングを使います。 場合によっては、複数の分岐に当てはまることもあれば、どの分岐にも完璧には当てはまらないこともあるでしょう。なお、利用上の重要な注意点として、このシートは、あくまでも基本的な推奨アルゴリズムに到達できることを意図しているため、推奨されたアルゴリズムが必ずしも最適なアルゴリズムでない場合もあります。多くのデータ・サイエンティストが、「最適なアルゴリズムを見つける最も確実な方法は、候補のアルゴリズムを全て試してみることだ」と指摘しています。 機械学習アルゴリズムのタイプ このセクションでは、機械学習の最も一般的なタイプを取り上げ、概要を示します。これらのカテゴリーについて十分な知識があり、具体的なアルゴリズムの話題に進みたい場合は、このセクションを飛ばし、2つ先のセクション「各種アルゴリズムの概要と用途」に進んでいただいてかまいません。 教師あり学習 教師あり学習アルゴリズムは、実例のセット(入力データと出力結果)を基に予測を行います。例えば、過去の販売データを用いて将来の価格を推定することができます。教師あり学習では、ラベル付きのトレーニング用データからなる入力変数と、それに対応する望ましい出力変数があります。アルゴリズムはトレーニング用データを分析し、入力を出力にマッピングする関数を学習します。この関数は、トレーニング用データにおける入力/出力の関係を一般化することによって推定されます。この関数に新しい未知の入力データを与えると、それに対応する出力が算出され、その出力が未知の状況における結果の予測値となります。 分類:データを用いてカテゴリー変数を予測する場合、教師あり学習は「分類」と呼ばれます。これは例えば、画像にラベルや標識(例:犬または猫)を割り当てるようなケースです。ラベルが2つしかない場合は「2値(バイナリ)分類」、3つ以上のラベルがある場合は「マルチクラス分類」と呼ばれます。 回帰:連続値を予測する場合、その教師あり学習は「回帰問題」となります。 予測:過去と現在のデータを基に将来を予測するプロセスであり、最も一般的な用途は傾向分析です。具体例として一般的なのは、当年度および過去数年の販売実績を基に次年度の販売額を推定することです。 半教師あり学習 教師あり学習を行う上での課題は、ラベル付きデータの準備に多大な費用と時間がかかりかねないことです。ラベル付きデータが限られている場合には、ラベルなしの実例データを用いて教師あり学習を強化することができます。これを行う場合は、機械にとって完全な「教師あり」ではなくなるため、「半教師あり」と呼ばれます。半教師あり学習では、ラベルなしの実例データと少量のラベル付きデータを使用することで、学習精度の向上を図ります。 教師なし学習 教師なし学習を実行する場合、機械にはラベルなしのデータのみが与えられます。学習の目的は、クラスタリング構造、低次元の多様体、スパース(疎)ツリーおよびグラフなど、データの基底をなす固有パターンを発見することです。 クラスタリング:あるグループ(=クラスター)内の実例データ群が、その他のグループ内の実例データ群との間と比べ、(所定の基準に関して)高い類似性を示すような形で、実例データセットをグループ化します。この手法は、データセット全体を複数のグループにセグメント化する目的でよく使われます。グラスタリングの実行後に各グループ内で分析を実行すると、固有パターンを容易に発見できることが多々あります。 次元削減:検討の対象とする変数の数を減らします。多くの用途では、生データに極めて多次元の特徴が含まれており、一部の特徴は目的のタスクに対して冗長または無関係です。次元削減は、データに潜む真の関係性を発見するために役立ちます。 強化学習 強化学習は、環境からのフィードバックを基に「エージェント」(課題解決の主体者。例:ゲームのプレイヤー)の行動を分析および最適化します。機械は、取るべきアクションの選択肢を事前に教えられるのではなく、どのようなアクションが最大の報酬(例:ゲームのスコア)を生み出すかを発見するために、さまざまなシナリオを試行します。他の手法には見られない強化学習ならではの特徴は「試行錯誤」と「遅延報酬」です。 アルゴリズム選択時の考慮事項 アルゴリズムを選択する際は、正確性、トレーニング時間、使いやすさという3つの側面を常に考慮する必要があります。多くのユーザーは正確性を第一に考えますが、初心者は自分が最もよく知っているアルゴリズムに意識が向きがちです。 データセットが与えられたとき最初に考える必要があるのは、どのような結果になるにせよ、何らかの結果を得る方法です。初心者は、導入しやすく結果が素早く得られるアルゴリズムを選ぶ傾向がありますが、分析プロセスの最初の段階ではそれで問題ありません。まずは、何らかの結果を得て、データの概要を把握することを優先します。その後、データに対する理解を深め、結果をさらに改善することを目指し、より高度なアルゴリズムを試すことに時間を費やせばよいのです。 ただしこの段階でも、最高の正確性を示した手法が必ずしもその課題に最適なアルゴリズムであるとは限りません。通常、アルゴリズムから本来の最高パフォーマンスを引き出すためには、慎重なチューニングと広範囲のトレーニングが必要になるからです。 各種アルゴリズムの概要と用途 個別のアルゴリズムについて知識を深めることは、得られる結果と使い方を理解するために役立ちます。以下では、チートシートに掲載されている中でも最も基本的なアルゴリズムの詳細と、それらを使用すべき状況に関するヒントをまとめます。 線形回帰とロジスティック回帰 線形回帰は、連続従属変数 (y) と1つ以上の予測変数 (X) との関係をモデリングするためのアプローチです。この場合、(y) と

Artificial Intelligence | Machine Learning
小林 泉 0
人工知能:ブームと現実を切り分けて認識するために

現在大きなブームとなっているAIですが、行き過ぎた期待と警戒がその現実を見誤らせ、企業における経営課題の解決において、タイムリーな価値創出を停滞させている場面も見受けられます。現実を正しく捉えるための記事を、SASの上級副社長およびCTOであるオリバー・シャーベンバーガー(Oliver Schabenberger)が書いていますので、今回はそれを日本語訳してお届けします。 === 私たちはエキサイティングな時代に生きています。私たち人間と機械、オブジェクト(物体)、モノとの関係は急速に変化しつつあります。 洞窟で暮らしていた頃から、人間は受動的な(自動的に動くわけではない)道具と自分の声に自らの意思を託してきました。今日では、マウスとキーボードは操作したとおりに動きますし、Amazon Echoなどのスマートデバイスは、照明の点灯のような単純なタスクや、より複雑なタスク(例:人間の質問にアナリティクスを用いて応答する)の実行を手助けしてくれます。 しかし、人工知能(AI)の発展により、潮目が変わる可能性があります。機械は受動的なオブジェクトから、人間の生活に自らを織り込む能動的な存在へと変貌を遂げることができるのでしょうか? 機械が人間を動かすようになるのでしょうか、それとも人間が機械を動かし続けるのでしょうか? オブジェクトが「あなたの代わりに〇〇を済ませました」と人間に報告するようになるのでしょうか、それとも、人間が今後も何をすべきかをオブジェクトに指示し続けるのでしょうか? あらゆるモノがよりスマート、よりインテリジェントになっていく中、私たち人間は、自律型のインテリジェンスが取り仕切る生活空間の「囚われ人」となってしまう恐れはないのでしょうか? そのような状況に私たちはどこまで近づいているのでしょうか? AIの現状 あなたがもし、機械が世界を征服するのではないかと夜な夜な心配しているとしたら、どうぞぐっすり眠ってください。今現在使われているテクノロジーでは、決してそうした事態は起こりません。昨今では、少しでも賢い動作や想定外の動作をすれば何でもAIと呼ぶのがトレンドのようですが、多くは実際にはAIではありません。私の電卓は、私よりも計算能力が優れていますが、AIではありません。決定木もAIではありませんし、SQLクエリの条件句もAIではありません。 しかし、AIへと向かうトレンド、すなわち「機械、デバイス、アプライアンス、自動車、ソフトウェアに更なるスマート性を組み込む」というトレンドが存在するのは事実です。 人間よりも圧倒的な正確さでタスクを実行できるアルゴリズムの開発には、驚異的な進展が見られます。少し前までコンピューターには囲碁は無理と思われていたにもかかわらず、今や機械が人間を打ち負かし、人間には敵わないレベルへと突き進んでいます。また医療分野では、医用画像から特定タイプのガンを発見するアルゴリズムの正確性が、放射線科医と同等レベルに達しており、まさに患者の人生を一変させるような成果です。 これらのアルゴリズムが超人的な能力を示すのは、与えられた仕事を高い信頼性および正確性で、不眠不休で反復実行するからです。とはいえ、人間のように思考または行動できる機械を生み出す段階からは程遠いのが現状です。 現在のAIシステムは、人間が行うタスクを「コンピューター化された賢い方法」で実行するようにトレーニングされますが、トレーニングの対象は1つのタスクのみです。囲碁をプレイできるシステムは、ソリティアやポーカーをプレイすることができず、そのスキルを習得することもありません。自律走行車を運転するソフトウェアは、家の照明を操作することができません。 これは、この種のAIが力不足ということではありません。むしろ、あらゆる用途に高い専門性を提供できるため、多くの業種、恐らく全ての業種に変革をもたらすポテンシャルを秘めていると言えます。しかし、AIで何を成し遂げることができるかに関しては、先走りは禁物です。トレーニング用データにもとづき、教師あり手法を用いてトップダウン方式で学習するシステムは、データの内容を超えて成長することができません。つまり、こうしたシステムには創造、革新、推論(論理的に思考)は不可能です。 「信頼の飛躍的拡大」を選ぶかどうかは人間次第 たとえアルゴリズムがインテリジェンスを持つ日が来るとしても、必ずしも私たちの人生をアルゴリズムに委ねる必要はありません。アルゴリズムの利用を意思決定支援システムに留める、という選択も可能です。その対極にあるのは、あらゆる意思決定を人間の代わりにアルゴリズムに行わせるという選択であり、これは「(人間の機械に対する)信頼の飛躍的拡大」の究極と言えます。 そこには、意思決定において人間の介入は一切ありません。機械の自律性を手放しで受け入れて初めて、「真のAI」を受け入れる準備が整ったことを意味すると筆者は考えます。しかし、アルゴリズムが信頼できる偏りのない意思決定を行えるようになり、それがひいては人間に最大の利益をもたらすことが実証されうるとして、自分の人生の手綱を渡し、自分は何も入力せずにアルゴリズムに意思決定を行わせることを、あなたは心地よく感じるでしょうか? 自由に判断させた場合、機械はどれほど的確に振る舞うと期待しますか? 機械がどれほど短時間で仕事を学習すれば満足でしょうか? そして、学習を重ねる中、機械はいつモラルを獲得するのでしょうか? こうした質問を不快に感じるとしても、ご安心ください。あなただけではありません。筆者は、ソフトウェア・エンジニアがプログラミングしたモラルや発展途上のアルゴリズムが学習したモラルの不完全さのせいで命を失うよりは、自分自身の愚かさのせいで命を失う方を選びます。 インテリジェンスという幻想は今現在、完全に人間の掌中にあり、当面は人間のコントロールなしでは存在しえません。 当面私たちがAIに望めるのは、つい感心してしまうほどの賢さです。その他はブームに便乗した大騒ぎに過ぎないでしょう。 将来への準備 現在のような形のAIにはインテリジェンスがあるのでしょうか? そうではないと筆者は考えます。 インテリジェンスと呼ぶためには、何らかの形の創造性、革新性、直感力、自主的な課題解決力、感受性が必要です。私たちが今現在、ディープ・ラーニングにもとづいて構築しているシステムは、こうした特性を備えることができません。AIがいつインテリジェンスを獲得するのか、その時期をここで予測するつもりはありません。数十年前には「その段階に近づいており、数十年後には機械が人間のように行動したり思考したりするようになる」と考えられていましたが、そうはなっていません。今日のテクノロジーでは、依然としてこの問題を解決できないのです。 人類が「真のAI」の時代に到達するためには、破壊的なテクノロジー・シフトを経なければなりません。人類はその解決策をまだ発見していないと考えます。ただし、その探究を続けていることは確かです。

Data Visualization
Makoto Unemi (畝見 真) 0
SAS Visual Analytics 8.2 新機能概要

2017年11月にリリース予定の「SAS Visual Analytics 8.2」に搭載予定の新機能概要をご紹介します。 【SAS Visual Analytics 8.2 新機能概要】 サードパーティ・ビジュアライゼーション D3.jsやC3、あるいはGoogleチャートの機能を活用し、VAに標準装備のチャートタイプでは表現できない、より柔軟で洗練されたチャートを描画し、レポートに組み込むことが可能です。 新規追加ビジュアライゼーション バブルチェンジプロット、平行座標プロット、スケジュールチャート、など、新たに9種類のチャートオブジェクトが追加されます。 オブジェクト間の自動リンク&フィルタ設定 レポート内の全てのオブジェクトを自動的に連係させることで、効果的でインタラクティブなレポートを簡単に作成可能です。その際、一方向のフィルタなのか双方向のフィルタなのかを指定することができます。 レポート自動保存&復元 作成中のレポートは定期的に自動保存されます。これによって、仮に保存し忘れてログオフしたとしても、再ログオン時に前の状態を復元することができます。 カスタム領域塗りつぶし VA7.4と同様に、地図上にカスタムで指定した領域を塗りつぶして描画することが可能です。 地図機能拡張 Esri地図データとの連係機能が拡張され、デモグラフィック情報の活用が可能になります。例えば地図上に表示されている自店舗群を選択し、周辺住民の平均年収や年齢などの情報を把握でき、より効果的なロケーションアナリティクスが可能になります。  

SAS Events | Students & Educators
SAS Global Forum 2018 Student Ambassadors の申込が締切間近です!

Student Ambassadors 先週、ワシントンDCで開催されたAnalytics Experience 2017には、筑波大学の学生3名が参加し、ポスター発表を行いました。学生による参加レポートは直近のブログ記事でも紹介しています。[レポート1] [レポート2] [レポート3] このように、SASでは、ビジネスやアカデミアのユーザーが一堂に会するグローバルイベントで、学生が自身の分析・研究・提案を発表する機会を提供しています。ビジネスやアナリティクスの専門家からのフィードバックを得ることで、自身のアイデアを深めると同時に、SASネットワークを広げることができます。特に、SASの最大のカンファレンスであるSAS Global Forumでは、SASソフトウェアを活用した研究発表を行う学生の中から「学生大使」 (Student Ambassadors) を任命し、他の参加者に紹介するとともに、SAS Global Forumに無料で招待しています(旅費や宿泊代もサポートされます!)。Student Ambassador Programの詳細については、こちらをご覧ください。 次回のSAS Global Forum 2018は米国コロラド州デンバーにて2018年4月8日から11日まで開催されます。今回は24名のStudent Ambassadors が選ばれる予定です。 応募方法: 投稿ページからSAS Global Forumにabstractを投稿し、submission numberを取得 応募ページからStudent Ambassadorsに応募 詳細はこちらをご覧ください。 締切は10月12日です。まずはabstractを投稿しましょう! 投稿・論文作成にあたり、SASの分析 環境や発表準備のご支援が必要な場合は、弊社でサポートいたします。Abstractを投稿された場合および、ご質問・ご要望などは下記のメールアドレスまでご連絡ください。 JPNAcademicTeam@sas.com 前回のAmbassadorの発表内容については、こちらから検索して参考にしてください。 なお、選ばれた一部の投稿は、Model Assisted Statistics and Applications (MASA): An International Journal Special Issue, IOS Press に論文を掲載することができます。トピックは、アナリティクス、ビジネス・インテリジェンスまたはビジネス・アナリティクスである必要があります。

Students & Educators
小林 泉 0
筑波大学学生によるAnalytics Experience 便り(3日目)

現地時間 2017/9/18,19,20 にてSASの秋のグローバルイベントである、「Analytics Experience 2017 (以下AX2017)」がアメリカ合衆国ワシントンDCで開催中です。最終日も、日本から参加している筑波大学理工学群社会工学類経営工学主専攻4年生の村井諒さん,小林大悟さん,白鳥友風さん3名による参加レポートを掲載します。   AX2017で印象に残ったセッションの紹介 by 筑波大学学生 AX2017の3日目が終わりました。今回は、この3日間で体験した様々なセッションの中で、私たち3人がそれぞれ印象に残ったセッションについてご紹介させていただきます。   1.Tools of the Trade: How and What to Pack in an Analytics Student’s Toolbelt(村井諒) 2.Keep the Bus Rolling : Improving Bus Stop assignment in Boston Public Schools(小林大悟) 3.How to Win Friends and Influence Executives: A Guide to Getting Your

SAS Events | Students & Educators
小林 泉 0
筑波大学学生によるAnalytics Experience 便り(2日目)

現地時間 2017/9/18,19,20 にてSASの秋のグローバルイベントである、「Analytics Experience 2017 (以下AX2017)」がアメリカ合衆国ワシントンDCで開催中です。前回に引き続き、今回は、日本から参加している筑波大学理工学群社会工学類経営工学主専攻4年生の村井諒さん,小林大悟さん,白鳥友風さん3名による参加レポート2日目を掲載します。 e-Poster部門@AX2017 発表への道のりby 筑波大学学生 昨日に引き続き、アナリティクスの最先端を行く発表が次々に行われていく中、私たちは今回の参加目的である二日目正午のStudent e-Poster部門の発表に臨みました。 イベントセッション情報:「Optimization of discounts at a retail store based on POS data keeping customer purchasing experience」 Student e-Posterは、学生がSASの製品を用いてアナリティクスの価値および可能性を提供する場です。学生たちは自身が作成したポスターを基に参加者にプレゼンテーションを行います。このセッションでは一方的な発表ではなく、ポスターを見に来たデータサイエンスに携わる教育関係者や企業関係者の方々と対話形式で発表の内容に関する意見を交換します。 今回のポスター発表は筑波大学理工学群社会工学類経営工学主専攻の目玉授業であるマネジメント実習で行った発表の内容を基に行ったものです。マネジメント実習では、学生がデータサイエンティストとして実データの分析から経営改善案の作成までを行う講義であり、ビジネスにおけるデータサイエンスの重要性を学ぶことができます。講義は10週にわたって行われ、プロのデータサイエンティストの方々からアドバイスを受けながら、アナリティクスを通じて改善案を練っていきます。これらの一連の取り組みは、同大学主催のビジネスデータ分析コンテストと平行して行われ、最終発表ではデータの提供企業の経営層の方を前に発表をし、その場で表彰が行われ、かつフィードバックを受けるという内容です。 参考:「SAS、大学におけるデータ・アナリティクス教育の質的向上のため、筑波大学に分析環境を提供」 私たちはSAS Enterprise Guideを用いて、小売店のPOSデータから価格と販売数量の関係を分析し、販売数に寄与しない値引きを明らかにすることで、コストを削減して経営改善を図る手法を提案しました。 今回のStudent e-Posterでは、先に上げたSAS Enterprise Guideや、より高度な分析を行うことができるSAS Enterprise Minerを使用してアナリティクスを行った他大学の学生によるポスターが多数展示され、データサイエンスに携わる方々に自分たちのポスターの内容を説明しました。聴講者の中には、ビジネスの第一線で活躍されている方も見受けられました。 このような環境でのポスター発表を通して、大学の実習講義では得ることの出来なかった、ビジネスに携わるデータサイエンティストとして重要な『最大限に利益を追求する姿勢』を学び取ることが出来ました。 発表中に企業の方から受けた質問の中には、「この手法をいかにして自分たちのビジネスに活かせるか」、「なぜ価値のない値引きだけに着目したのか」、「もっと利益を生み出すためにはまだできることがあると思うが、なぜそれをしなかったのか」といったものがありました。 これらの質問は、実習内では気づけなかった、利益を最大限に追求するビジネスの姿勢に基づいたものです。 事実私たちが提案した、無駄な値引きを明らかにすることによりコストを削減する手法は、経営改善を果たす上での一つの手段でしかありません。 私たちは無駄なコストの削減にのみ注目した価格最適化を行いましたが、価格の最適化は、無駄なコストの削減だけでなく、販売点数の増加や、時間とともに変化する顧客の性質なども踏まえて行うことができるはずです。 私たちは経営改善可能性として「無駄な値引きを減らす」という一つの案にたどり着いた結果、いかに無駄な値引きを無くすかということに固執していました。これは目標が、「経営改善」から「経営改善のための分析」にいつの間にか変わってしまい、分析すること自体に集中しすぎてしまったからです。特に私たちのようにビジネスの経験が少ない日本の学生はこのような方向に進んでしまう傾向があると思います。実際のビジネスにおいては、何が必要なのか、何ができるのかを常に意識し、そのうえでアナリティクスを活用することが重要だと考えられます。このことからビジネスにおいて、取りうる選択肢を柔軟に取捨選択し、最大の利益を求める姿勢を保ち続けることの大切さを実感しました。 このことを私たち学生が日本のデータサイエンス教育から学び取ることができれば、ビジネスに携わるデータサイエンティスト育成がさらに有意義なものになっていくだろうと感じました。 イベントも残り1日となりました。明日も様々なセッションを通し、学び取れることはすべて学び取るという心持で最終日に臨みたいです。

SAS Events | Students & Educators
小林 泉 0
筑波大学学生によるAnalytics Experience 便り(1日目)

現地時間 2017/9/18,19,20 にてSASの秋のグローバルイベントである、「Analytics Experience 2017 (以下AX2017)」がアメリカ合衆国ワシントンDCで開催中です。今回は、日本から参加している筑波大学理工学群社会工学類経営工学主専攻4年生の村井諒さん,小林大悟さん,白鳥友風さん3名による参加レポート1日目を掲載します。 Academic Summit@AX2017 レポート by 筑波大学学生 今回私たち3人が参加しているAX2017の1日目は、AM11:00にスタートしたGeneral Sessionをはじめ、様々な講演が行われました。 中でも最後時間帯である19:00から催されたAcademic Summitについてご紹介させていただきます。 Academic Summitは、AX2017に出席しているデータサイエンスに精通する学生が、学生間や企業の方々との交流を深めるイベントです。このサミットでは、SAS Executive Vice President およびSAS Chief Technology OfficerであるDr.Oliver Schabenberger氏の基調講演や、Gather IQという、クラウドソーシングによってあるトピックに関する問題の解決を図るアプリの説明、女性の技術職としてのキャリアを支援する制度、学生によるアナリティクスのコンテストであるShootout Competition における入賞チーム3組についての紹介がされ、最後に自由な交流の時間が設けられました。 Schabenberger氏は純粋数学を学んだのち、データサイエンスの道へと進むことになった経緯や、現在SAS社が注目しているAmbient AnalyticsとDeep Learningについての説明、さらに自分自身を成長させるための教訓などをお話ししてくださいました。 またGather IQは、SAS社のミッションの一つである社会貢献のためのアナリティクスの価値を非営利で提供するということを体現していたと感じました。 このイベントの最後には自由にコミュニケーションをとる時間が設けられ、参加者の皆様は積極的に情報交換を行っていました。何より印象に残ったのは、同年代で飛び級で大学院に進学した人や、SASR Enterprise Minerを使いこなしモデリングを行っていた人がいたこと、さらに、参加者全員が英語で円滑にコミュニケーションを行っていたことです。 同年代の海外の学生たちがデータサイエンスに対して抱いている思いや、それに臨んでいく姿勢、自身のキャリアに対する考えなどを聞くことで、自分たちがこれからどうやってこの分野で戦っていくべきなのか、そのために何をするべきかなど、改めて深く考えさせられました。 また、意見交換をした際、私たちは英語の能力が十分でなかったということ以前に、初対面の人に話しかけることを躊躇してしまい、インターナショナルな場で積極的にコミュニケーションをとることの難しさを痛感しました。このようなためらいを減らし、自分から積極的に意思疎通を図っていくことの大切さを感じました。 残る二日間、データサイエンスに関する知識やノウハウだけでなく、グローバル人材にとって必要な素養も学んでいけたらと思います。  

Advanced Analytics | Programming Tips
Makoto Unemi (畝見 真) 0
SAS Viyaで線形回帰

SAS Viyaで線形回帰を行う方法を紹介します。 言語はPythonを使います。 SAS Viyaで線形回帰を行う方法には大きく以下の手法が用意されています。 多項回帰: simpleアクションセットで提供。 一般化線形回帰または一般線形回帰: regressionアクションセットで提供。 機械学習で回帰: 各種機械学習用のアクションセットで提供。 今回は単純なサインカーブを利用して、上記3種類の回帰モデルを作ってみます。   【サインカーブ】 -4≦x<4の範囲でサインカーブを作ります。 普通に $$y = sin(x) $$を算出しても面白みがないので、乱数を加減して以下のようなデータを作りました。これをトレーニングデータとします。 青い点線が $$y=sin(x)$$ の曲線、グレーの円は $$y=sin(x)$$ に乱数を加減したプロットです。 グレーのプロットの中心を青い点線が通っていることがわかります。 今回はグレーのプロットをトレーニングデータとして線形回帰を行います。グレーのプロットはだいぶ散らばって見えますが、回帰モデルとしては青い点線のように中心を通った曲線が描けるはずです。 トレーニングデータのデータセット名は "sinx" とします。説明変数は "x"、ターゲット変数は "y" になります。 各手法で生成したモデルで回帰を行うため、-4≦x<4 の範囲で0.01刻みで"x" の値をとった "rangex" というデータセットも用意します。 まずはCASセッションを生成し、それぞれのデータをCASにアップロードします。 import swat host = "localhost" port = 5570 user = "cas" password = "p@ssw0rd"

Machine Learning
小林 泉 0
機械学習のパラメータをオートチューニングしよう(回帰編)!

先日投稿した「機械学習のパラメータをオートチューニングしよう(分類編)!」の続きです。 今回は回帰分析をオートチューニングします。 あらまし 機械学習の課題はパラメータチューニングで、手動で最高のパラメータを探そうとすると、とても時間がかかり効率的ではありません。 SAS Viyaではパラメータチューニングを自動化するオートチューニング機能を提供しています。 オートチューニング機能を使うことで、限られた時間内、条件下で最高のパラメータを探索し、予測モデルを生成することができます。   今回やること 今回はオートチューニングを使って数値予測モデルを生成します。 使うデータは架空の銀行の金融商品販売データです。顧客の取引履歴と営業履歴から構成されており、新たな金融商品の販売数を予測するデータとなっています。 内容は以下のようになっており、約5万行、22列の構成です。 1行1お客様データとなっていて、顧客の口座情報や取引履歴、営業履歴が1行に収納されています。 ターゲット変数はcount_tgtで、これは各顧客が購入した金融商品数を表しています。 ほとんどが0(=未購入)ですが、購入されている顧客の購入数を予測するモデルを生成します。 今回はランダムフォレストを使って予測したいと思います。 ランダムフォレストは別々の決定木を複数作り、各決定木の予測値をアンサンブルして最終的な予測値とする機械学習の一種です。   まずは手動で予測 SAS Viyaでランダムフォレストを使って予測モデルを生成するにあたり、まずはCASセッションを作ってトレーニングデータとテストデータをインメモリにロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat   # 接続先ホスト名、ポート番号、ユーザー名、パスワードを指定 host = "localhost" port = 5570 user = "cas" password = "p@ssw0rd"   # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password)  

Machine Learning
小林 泉 0
機械学習のパラメータをオートチューニングしよう(分類編)!

機械学習で予測モデルを作るとき、課題のひとつにパラメータのチューニングがあります。 パラメータとはどういう設定値や制限値で機械学習の予測モデルを作るのかを示すものです。 料理に例えると、チャーハンを作る過程が機械学習のアルゴリズムだとすると、どういう具材をどのくらいの量入れるのかがパラメータです。 お米の品種や卵の有無、豚肉か鶏肉か、調味料の種類や量がパラメータになります。チャーハンの良し悪しはこれらパラメータの良し悪しに左右されます。おいしいチャーハンを食べるためには、具材をベストな組み合わせと量で投入する必要があります。 昼食においしいチャーハンを食べたので、チャーハンでたとえました。 話を戻すと、機械学習の決定木の深さであったり、ニューラルネットワークのニューロン数であったり、パラメータは自分で設定する必要があります。機械学習では複数のパラメータを組み合わせて、ベストなレシピを作らねば良い予測モデルは作れません。   SAS Viyaでは各種機械学習アルゴリズムを提供していますが、各機械学習にそれぞれのパラメータが用意されています。料理に例えると、メニューにチャーハンのみならず餃子、ラーメン、寿司、ステーキ、チーズケーキがあるようなものです。シェフ(≒データサイエンティスト)は全てのベストなレシピ(≒パラメータ)を探索せねばならず、労力がいります。 しかし! SAS Viyaには更に便利な機能として、オートチューニングというものが用意されています。 オートチューニングは最も良いパラメータを短い時間で探索してくれる機能です。料理に例えると、究極のチャーハンレシピをViyaが自動的に作ってくれる機能です。夢のようですね。 オートチューニングでは機械学習のパラメータを変えながら複数の予測モデルを作り、最も良い予測モデルのパラメータを探してくれるというものです。決定木だけでもパラメータは10種類以上あるのですが、それらの最良な値をみつけてくれます。 パラメータチューニングを行う際、最も安易な探索方法は各パラメータの全パターンを試すことです。全パターンを試せば、その中から最も良いものはたしかにみつかります。しかし欠点はパラメータチューニングに長い時間がかかってしまい、現実的な手法ではありません。 SAS Viyaのオートチューニングはより賢いパラメータ探索のアルゴリズムを4種類用意しています。 遺伝的アルゴリズム(Genetic Algorithm, GA):パラメータを遺伝子と見立てて、淘汰、交叉、突然変異を組み換えすことでパラメータを探索する。 ラテン超方格サンプリング(Latin HyperCube Sampling, LHS):層別サンプリングの一種で、各パラメータをn個の区間に分割し、区間からランダムに値を取り出してパラメータを探索する。 ベイズ最適化(Bayesian Optimization):説明変数と予測の間にブラックボックス関数があると仮定し、ブラックボックス関数のパラメータの分布を探索する。 ランダムサンプリング(Random Sampling):ランダムにパラメータの値を選択して探索する。 探索アルゴリズムを詳しく説明していると終わらないので説明を短くまとめました。SAS Viyaではいずれかのアルゴリズムを利用してオートチューニングを実行することができます。   今回はPythonからSAS Viyaを操作して、オートチューニングを試してみたいと思います。 まずはPython SWATをimportし、CAS Sessionを生成してデータをロードします。 # PythonからCASを操作するためのSWATライブラリをインポート import swat   # mysessionという名称のCASセッションを作成 mysession = swat.CAS(host, port, user, password)   #

Machine Learning
SAS Viyaのチートシートを作ってみました。

SAS Viyaでは購入前に使い勝手を試していただくため、無償使用版を提供しています。 https://www.sas.com/ja_jp/software/viya.html#preview もう試していただいた方もいらっしゃるかもしれませんが、SAS StudioやJupyter Notebook、Visual AnalyticsからSAS Viyaを操作して、データマイニングや機械学習を便利に試していただくことが可能です。 この無償使用環境では動作確認済みのデモプログラムを提供していますので、機械学習やプログラミングに不慣れでも迷うことはありません。   しかし機械学習を実業務で使い始めようとすると、どのプロシージャやメソッドを使えば良いのか、わからなくなることが多々あります。 SAS Viyaでは機械学習ユーザに不足ないよう、多種多様なプロシージャを提供していますが、プロシージャが増えるとどの場面でどれを使うんだっけ?と迷ってしまいます。   そこで、SAS Viyaのチートシートを作ってみました。 このチートシートを使えば、用途にあわせて必要なプロシージャを選択していくことができます。 SAS Viyaが提供するプロシージャから重要なものを掲載しています。   SAS ViyaはSAS PROCとActionsetという2種類のプログラミング仕様があります。 チートシートもPROC用とActionset用で2種類作りました。   PDF版は以下にありますので、ぜひご参照ください。 viya_cheat_sheet_20170721_jp  

Advanced Analytics | Programming Tips
SAS Viyaでフーリエ変換

みなさま、こんにちは。 さて突然ですが、フーリエ変換ってご存知ですか? おそらく物理学や経済学で波形データを分析したことのある方には馴染みがあるでしょうが、フーリエ変換は波形データを扱う手法です。 フーリエ変換では周期的な波形を、sin波やcos波の重ね合わせで説明しようというものです。 たとえば以下のような波形データは、どの時間にどのくらいの強さの波が流れているかを表現しています。 これをフーリエ変換することで、周波数と振幅で表すことができるようになります。 ↓ フーリエ変換! ↓   従来のSAS製品では波形データでフーリエ変換をする機能を提供していなかったのですが、SAS ViyaのSAS Forcastingという製品を使うことで、フーリエ変換を実施することができるようになりました。 SAS Viyaでできるのは短時間フーリエ変換(Short time Fourier transform)です。 今回はSAS Viyaでフーリエ変換を実施してみたいと思います。プログラミング言語はPythonを使用します。 まずは前準備として、必要なライブラリをインポートし、CAS sessionを作成します。 CAS sessionはSAS Viyaでデータ分析を行うCASというエンジンへ認証し、接続するものです。 # CAS sessionの用意 import swat   host = "localhost" port = 5570 user = "user" password = "p@ssw0rd"   mysession = swat.CAS(host, port, user, password)   #

Analytics | Students & Educators
SAS Univeristy Edition の更新方法 (2017年7月版)

学術研究、教育、および自己学習の目的に無償で利用できる SAS University Edition は、毎年7月末にライセンスの期限が切れます。ライセンス期限の2ヶ月ほど前から、SAS University Edition Information Center にライセンス失効のお知らせと更新の案内が表示されますが、SAS University Edition のインストール時期によって必要な作業が異なりますので、以下に紹介します。 まずは、仮想マシンのSAS University Edition を起動し、表示されたURLから SAS University Edition Information Center にアクセスします。仮想マシンの起動後のウインドウで、URLが記載されている場所は下の画像を参考にしてください。(クリックすると画像が拡大されます。) SAS University Edition Information Center のデザインは、SAS Univeristy Edition のインストールの時期によって異なります。2016年12月以前にインストールした場合は、下の画面が表示されます。 こちらが表示された場合は、下記URLにアクセスし、新たにダウンロードした SAS University Edition を、仮想マシンに再登録する必要があります。 こちらが表示された場合は、左下の「お知らせ」にある「ダウンロード」ボタンから更新作業を行います。これ以降、ブラウザに表示される指示に従ってください。もし、うまく更新できない場合は、ブラウザのCookieを削除してからもう一度更新作業を行ってください。それでも更新できない場合は、上記URLから新たに SAS University Edition をダウンロードし、仮想マシンに再登録してください。 更新作業が完了すると、下の画像のように、SAS University Edition Information Center の「お知らせ」部分に、「SAS University Edition

Machine Learning
SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

みなさんは、SAS Viyaを無償で試す方法を知っていますか? 手順は簡単、 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス ② 無償試用版リストから希望の製品を選択 ③ SASプロファイル情報を登録 ④ 登録済みのSASプロファイル情報でサインイン ⑤ SASから届くメール内にある試用版サイトリンクをクリックし、同メール内に記載されたIDとパスワードでサインイン ⑥ SAS Viyaにサインインして試用開始 これだけです。 ※尚、このガイドは、2018年8月時点の内容に基づいて作成されています。利用手順は予告なく変更される場合がありますので、実際に表示される画面や送られてくるメール内容に従っての操作をお願いします。 ブラウザはChrome 64bit版が推奨です。(ブラウザは Chrome 61以上, Firefox 56以上, MS Edge40.1以上を使用してください) では、1ステップずつ詳しくご紹介しましょう。 ① SAS Japanホームページ内のSAS Viya無償試用開始サイトにアクセス 以下のリンクをクリックして、SAS Viya無償試用開始サイトを表示しよう。 https://www.sas.com/ja_jp/software/viya.html#preview ② 無償試用版リストから希望の製品を選択 この手順では、「SAS Visual Data Mining and Machine Learning」を選択した例で紹介しています。 (以下のリストに表示されていない製品に関しては、チュートリアル等使用をガイドするような資料は提供していませんが、同一環境内で試用することはできます。) ③ SASプロファイル情報を登録 (すでにSASプロファイル登録済みの場合は、このステップは必要ありません。) 以下の画面内で、「Create one」リンクをクリックします。

Artificial Intelligence
PythonからSASの画像処理機能を使って画像マッチング

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 セッション内では、皆様にとってもお馴染みの「浅草雷門」の写真を使った画像マッチングのデモも紹介しました。雷門を正面から撮った写真の中から、「雷門の提灯」の部分を切り出し、これをテンプレート画像として使用し、この「雷門の提灯」が写っている写真だけを画像マッチングによって見つけ出すというデモです。 さあ、ちゃんと「雷門の提灯」が写っている写真だけを見つけ出すことができたのでしょうか? 以下は、Jupyter Notebookを使用し、PythonからSAS の画像処理機能を活用してマッチングを実行した結果です。(コードの一部抜粋) 【ライブラリのインポート】 In [16]: # import libraries import swat import matplotlib.pyplot as plt import os import json import numpy as np 【テンプレート画像「雷門の提灯」のロード】 In [24]: # load an image to cas r = conn.image.loadImages(casout={"caslib":"casuser", 'name':tmp_file_data[0], 'replace':True}, path=tmp_file_path) tmpTable = conn.CASTable(tmp_file_data[0]) 【この画像にマッチングさせます】 【マッチング対象画像のロード】

Analytics | Machine Learning
SAS言語派集まれ!SAS StudioからSASのAIを使ってみよう!

5月23日に開催されたSAS Forum Japan 2017では、通常のセッション枠とは別に、「スーパーデモ」と題して、各種SAS製品やソリューションのデモが紹介されました。通常セッションの休憩時間はもとより、セッション時間中でも多くの方々が「スーパーデモ」エリアに集まり、食い入るようにデモも見られていました。 その中で、私が実施したデモ内容をご紹介します。 SASのAI機能は、SAS言語のみならず、Python, R, Java, Luaなどの汎用プログラミング言語からも活用可能ですが、このデモでは、SAS Studioを使用し、SAS言語でSASのAI機能を活用したモデル作成を行いました。 詳細(スライド版)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS言語派集まれ!SAS StudioからSAS Viyaを使ってみよう! from SAS Institute Japan 詳細(デモ版)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

Analytics | Artificial Intelligence
SASのAI機能で異常検知してみよう!

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている教師なし学習の3つの手法(SVDD(Support Vector Data Description), ロバストPCA, Moving Window PCA)を用いた異常検知の概要が紹介されました。 手法ごとの適用分野やSAS Studioを用いて実行した結果の紹介と、異常検知を業務に適用する際に留意すべき事項も交えてご紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) SAS Viya で異常検知してみよう! from SAS Institute Japan 詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み) 今なら無償でSAS Viyaを試用することができます。詳細は以下のブログを参照してください。 SAS Viyaを体感してみよう! ~SAS Viya無償試用版利用ガイド~

Analytics
Pythonで操るSASの画像処理技術入門編

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 従来からSASを活用されている方々にとっては、「SAS」と「画像処理」って、なかなか結びつかないのではないでしょうか? 「画像処理技術」に関して、SASではどのようなアプローチをとってきているのか...を、過去、現在、そして未来に分けて紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) Pythonで操るSAS Viyaの画像処理技術入門編 from SAS Institute Japan   詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み)

Machine Learning
Python, Rで使うSAS Viya!

みなさま、SAS Viyaはご存知でしょうか? SAS ViyaはSASが2016年末に出した新データ分析プラットフォームでして、データの探索、整形から機械学習まで、幅広くデータ分析することができる万能品です。 こんな感じのロゴです。 SAS Viyaの特徴にインメモリエンジンによる分散処理とオープンというものがあります。 SAS Viyaでのデータ分析はすべてCASというエンジンで実行されるのですが、このCASはサーバのメモリ上にデータをロードし、分析処理が展開されます。しかも複数サーバ構成でも良い感じにスケールして並列分散処理するので、1台のサーバにデータが乗らないとか、1台だけだと遅いとかいうことはありません。   SAS Viyaの特徴 さらにSAS Viyaはオープンな特徴があります。 どうオープンなのかというと、実は裏表なく嘘のつけない性格・・・というわけではありません。 SAS ViyaはSAS言語のみならずPythonやR、Java、LuaそしてREST APIといったさまざまな言語で操作することができるオープン性を持っています。 従来のSAS製品だとSAS言語を覚えないと使うことができなかったのですが、SAS Viyaでは多くのデータサイエンティストさんが使っているPythonやRでデータ分析ができます。しかも同じプラットフォームでデータ分析するので、言語間で違う結果が出るということはありません。同じ設定で分析すれば、どの言語を使っても同じ結果が返ってきます。 さらにいえばPythonやRでデータ分析するときも、多くの場合は1台のサーバやパソコンで処理すると思います。そのさい、サーバやパソコンはCPUやメモリのすべてをデータ分析に割くということはありません。マルチコアCPUを使っていても、大体はシングルコアで処理されます。 しかしSAS Viyaではリソースを使い切ります。4コアであれば4コア、サーバ3台構成であれば3台を余さず使って、より速く効率的に分析します。 全体像でいうとこんな感じです。 どうやって使うの? PythonやRでSAS Viyaを使いはじめるときは、まずはSWATというOSSを導入する必要があります。 SWATはSpecial Weapon and Tacticsの略・・・ではありません。 SAS Scripting Wrapper for Analytics Transferという、SAS Viyaを操作するためのラッパーです。SASが作って、GitHubで公開しています。 Python SWAT https://sassoftware.github.io/python-swat/index.html R SWAT https://github.com/sassoftware/R-swat これらをpip installやinstall.packagesで入手して使いはじめることができます。 SWATはWindows、Linux、MacOSいずれもサポートしていますので、お好きなプラットフォームに導入できます。 Pythonでのプログラミング例はこんな感じです。たったこれだけで、SAS Viyaを使って決定木モデルを作ることができます。とても簡単です。 #

Internet of Things
小林 泉 0
SAS Forum Japan 2017 センサーによるリアルタイム行動トラッキング

SAS Forum Japan 会場自体がデモスペースへ SAS Forum Japan 2017では、株式会社ATR-Promotionsにご協力いただき、会場2Fのスペースにレーザーセンサーを設置、人の動線をリアルタイムに捉えて計測・分析するIoTデモンストレーションを実施しました。 会場で利用した「人位置計測システム」の計測イメージ参考映像。(※こちらはSAS Forum Japan の映像ではありません)   利用した技術について 利用技術①センサー LRF:レーザーレンジファインダ(安全な出力の赤外線レーザー) 利用技術②人位置計測システム ATRacker レーザーセンサーを複数台設置し、人々の位置・行動を、1秒間に数十回計測したデータを、ATR-Promotions社ソフトウェアの人位置計測システム「ATRacker」の形状認識・行動推定アルゴリズムで動線データ化しています。 特徴) 高精度(距離20mで誤差5cm以内のセンサを使用して計測、追跡) 形状認識(腕の位置などを利用して身体、身体の向きも捕捉) 行動追跡(同一人物を追跡。統計モデルによりレーザが遮られても位置を予測) 匿名性の確保(カメラと異なり顔や服装を捕捉しない) 大人数の同時計測(同時に50人以上の位置を計測、追尾) リアルタイム処理 外部プログラム連携 参照) http://www.atr-p.com/products/HumanTracker.html http://www.atr-p.com/products/pdf/ATRacker.pdf 利用技術③SAS® Event Stream Processing(略称 SAS ESP) リアルタイムでストリーミングデータを処理するSASソフトウェア。 ATRackerよりストリーミングでデータをリアルタイムに取得し・追加処理しています。今回の展示例では、特定の位置に人が急速に近づいた場合に、リアルタイムアラートを発します。 参照) https://www.sas.com/ja_jp/software/event-stream-processing.html 利用技術④利用したハードウェア AFT:The Analytics Fast Track™ for SAS® 最新のビッグデータ・アナリティクスを、自社データですぐに試す為に用意されたハイスペックマシン。 必要なSASのビッグデータ・アナリティクス製品がインストール&構成済みであり、スイッチを入れて、データを投入すれば、すぐに使える状態にしております。 POC等の実施に際し、当マシンを貸し出すことで、POC環境の用意をわずか数日で揃えることが可能です。 72

Analytics | SAS Events
小林 泉 0
今年のSAS Forum Japan 2017はすごい-怒涛のデモ20連発!

2017/5/23にSAS Forum Japan 2017が開催されます。まだ参加後登録がお済でない方は下記からご登録ください。 SAS Forum Japanご登録サイトへ 今回は、その中でもセッション以外のところも今年はすごいので、ご紹介します。 すごいところ①:スーパーデモ20連発 今回のブログのタイトルにもありますが、今年はグローバルのイベントである、SAS Global Forumを模して、「スーパーデモ」なるものを実施します。これは約15分のデモセッションを次から次へと繰り返し行うものです。通常のセッションの数が限られているため、そこでご紹介しきれないSASソリューションや、セッションの補足的な説明など計20ものデモセッションが行われます。是非、時間の都合をうまくやりくりして頂いて、通常セッション、スーパーデモを渡り歩いて頂けると幸いです。 *括弧は、(何回目/全回数)の意味です。 *プログラムは変更される可能性がありますので、最新のプログラムと詳細はこちらからご確認ください。 12:15 - 12:30:さよならBI 〜 一歩先ゆくデータ分析の決定版 SAS Visual Analytics まるごとデモ!(1/4) 12:30 - 12:45:為替リスクヘッジの新しい取り組み(1/2) 12:45 - 13:00:コーディングなしでSASを使ってみよう!(1/3) 13:00 - 13:15:さよならBI 〜 一歩先ゆくデータ分析の決定版 SAS Visual Analytics まるごとデモ!(2/4) 13:15 - 13:30::SAS言語派集まれ!SAS StudioからSAS Viyaを使ってみよう! 13:30 - 13:45:需要管理(需要予測〜在庫最適化)のNext Generation 13:45 - 14:00:コーディングなしでSASを使ってみよう!(2/3) 14:00 -

SAS Events
小林 泉 0
SGF2017 レポート - 良いデータサイエンティストになる秘訣

昨年2016年のSAS Global Forumでも講演して好評だったEmma Warrillowという方が今年も講演されたので紹介します。まずは復習として、彼女が昨年披露した良いデータサイエンティストになるための5つの秘訣を見てみましょう。 ビジネスを理解しなさい:アナリティクスの目的はビジネス課題を解決することである ストーリーを語りなさい:単に分かったことを共有するのではなく、分析結果に基いてビジネスをどうすべきかを議論しなさい 視覚的にストーリーを語りなさい:グラフや図を使用して、より理解を深めることを心がけること よい質問を繰り返しなさい:よりたくさん質問することで、より理解が深まる 新しい技術についていくこと:よりよい表現方法を常に模索すること (2016 SAS Global Forum でのEmma Warrillowの講演より。proceedingはこちら) 「それで?あなたはどう思うの?」と返したくなるデータ分析や仕事の報告、「顧客の理解を深めるための労(繰り返しの問い)を惜しむ」ケースは、ビジネスシーンでよく見受けられますが、あなたの会社ではいかがでしょうか?15年前、あるお客様から、「顧客の顔が見えないのでデータマイニングでなんとかしたい」という相談を受けたのを今でも覚えています。データ自身は何も語ってくれません。事実に基いてストーリーを考え、適切な問いを繰り返すことで初めて洞察(自分たちの顧客に対する理解)が得られるのです。 『問いかけること』 が、とても大事です。 さて、この彼女が今年もプレゼンをし、少しリバイスした秘訣を披露してくれました。レベル感はあまりそろってませんが、どれも、忘れがちなことなので、今一度自分自身の気を引き締めるために取り上げることにしました。 ①スプレッドシートを送付するだけという行為はNG 受け取った人は、無視するか、イライラするか、誤って解釈するだけです。概要、どのように見るべきか、結論は?相手にどうして欲しいのかを伝えることが必要不可欠です。 ②POETを意識すること StorylyticsのLaura Warren より Purpose(目的): このチャートの目的は… Observation(あなたの着眼点): 見て欲しいのは... Explanation(説明): 何を意味しているかというと… Take-away or Transition(要点): 次のステップは… ③アナリティクス・チームのブランディング 多くの企業・組織におけるアナリティクスチームは、PRの問題を抱えています。アナリティクスが真に有効で、またアナリストがちゃんとビジネスを理解していると認知されることが、とても重要です。 ④御用聞きにならないこと 自分がある専門領域のエキスパートであることを自覚し、適切な問い、適切な提案をすることが大事です。 ⑤正しく伝えること ストーリーテリングで人を動かすために、Peter GruberのThe Four Truths of the Storytellerを参考にすると良い。 Truth to the

Data Visualization | SAS Events
小林 泉 0
SGF2017 レポート - 例年とはちょっと違うTechnology Connection

例年、SAS Global Forumでは2日目の朝は、最新のSASテクノロジーを紹介する『Technology Connection』というセッションで始まりますが、今年は、そのセッションが少し変わった形式になりました。最新のテクノロジーを紹介するだけでなく、その開発を支える社員にフォーカスをあて、どのようにそのテクノロジーが開発されたのかを紹介しながら進められました。 各プレゼンターごとに流された紹介ビデオの中で、今年のTechnology Connectionのメインテーマである、『生涯学習』について語られました。Chief Technology Officerのオリバー・シャーベンバーガーは、もともとCTOになるつもりはありませんでした。実際、彼は林業で博士号を取得しています。しかし統計学への熱意が彼を大学の世界からソフトウェア開発の世界に導き、ハイパフォーマンス・コンピューティング、アナリティクス・プラットフォーム、人工知能そして他の先進技術に携わることになりました。『私は毎日が勉強です。皆さんもそうだと思います。SASも常に革新を続けて新しい製品を生み出し続けています』と彼は、機械が我々の生活を豊かにする象徴としてセグウェイに乗りながら、聴衆に語りかけました。 次世代のテクノロジー - SAS Graphics Accelerator プレゼンターの一人、エド・サマーズは、10歳で網膜色素の異常と診断され徐々に視力を失いました。彼は現在法的盲であり、チャートやグラフを14年間見たことがありません(でも、「ビジョン」を持っています)。彼は、SAS Graphics Accelerator を使用して、データビジュアライゼーションとアナリティクスを視覚障害者にも利用可能にした非常に重要な彼の仕事をデモンストレーションしました。このテクノロジーは、SASのアナリティクス・ビジュアライゼーションを話し言葉と音に変換します。結果は、データを音で表現することで、視覚障害者がデータの様子を『見る』ことができるようになっています。聴衆みんなで目を閉じて、確かにデータが上昇トレンドにあることを確認しました。単にデータの値を読み上げるだけでなく、グラフの右肩上がり具合を音階で表現されることで、まさに『耳で見る』ことができるようになりました。『私たちは皆、それぞれ自分なりの世の中への貢献の仕方があります。データビジュアライゼーションを誰にでも利用可能にすることが、私の役目です』とサマーズは締めくくりました。筆者はこの数日後、SAS本社のCaryの彼の勤務するオフィスのカフェテリアでばったり出会い、しばし歓談しました。やはり、このプレゼンはとても緊張したらしいです。 SASは従来より、このような『ユーザー補助機能』をソフトウェア機能として提供してきています。グラフ上の数字の読み上げ機能なども数年前から実装されています。現在どのような製品でどのような対応がされているかはこちら「Accessibility at SAS」にまとまっているのでご参照ください。今後は、コグニティブ技術+アナリティクスという領域でさらなる進化をしていくことが考えられています。 「エッジ・アナリティクス」 - SAS Event Stream Processing R&Dのシニアディレクターである、ジェリーは、Event Stream ProcessingとInternet of Things  の担当であり、彼の車のナンバープレートを、「ESP&IOT」にしてしまうくらい(ビデオにも写っています)彼にとって、ESPは彼の一部であり、ライフワークです。彼は壇上で、自動車業界においてESPがどのように中央のサーバー上や、エッジアナリティクスといわれるデータの発生源で、イベントストリームデータを分析するかをデモンストレーションしました。彼は、コネクテッド・カーに関するユースケースを取り上げ、実際に道路温度が0度以下になったポイントで警告を表示することができることを示しました。彼曰く、『ストリーミングアナリティクスは単に効率を上げるだけではなく、世の中をより安全な場所に変えることができるのです』 Enterprise GuideでDATA Stepデバッガーを使用することで、生産性を向上する ケイシー・スミスはEnterprise Guideの新機能である、DATA Stepデバッガーについて紹介しました。スミスの母親は30年以上もノースカロライナ州立大学でSASを教える教授であり、スミスは幼い頃母親からSASを教わっています。プログラムのバグを修正することはとても時間のかかることであり、またイライラする作業でもあります。そのデバッグ作業をとても簡単にできることを彼はデモンストレーションで披露しました。この機能を開発した理由を彼は次のように述べています。『現実の顧客は、現実の課題を解決している。我々はそれをサポートしたい。』 データ分析においてなによりも大事なのは探索やモデリングのためのデータ準備のフェーズです。特に昨今、正規化された基幹システムからのデータだけではなく、様々な非定型のデータを効率的に正確に結合・整形する必要性が高まっています。そのようなデータに対して(異なる目的のために考案された)SQL一辺倒の利用では非常に非効率です。様々なプログラミング言語を経験した筆者の意見としては、そのようなデータ準備には専用に考案されたSASのData Stepの利用は最も優れた選択の一つだと感じています。それでも細かなデータ加工には複雑なIF条件文のネストなどにおける困難さはつきものです。そのようなデータ加工をステップ・バイ・ステップでデバッグできる、このData Stepデバッガーはとても便利ですので、是非、試してみてください。 FCAAバスケットボールのデータを使用しFactorization Machineで試合結果を予測する ジョージ・シルバは、統計家かつソフトウェア開発者であり、彼は機械学習に携わる自分の仕事を(顧客が価値を出すまでは)まるで赤ちゃんのようだと表現しています。シルバのプレゼンはアマゾン社のインテリジェントなパーソナルアシスタントである、Alexaで行われました。シルバが用意したデモを使用して、CTOのシャーベンバーガーが音声で命令をAlexaに出し、NCAAバスケットボールのデータを探索する様子を披露しました。シルバは試合結果を予測するのにファクタライゼーションモデルという機械学習手法を使用しました。ファクタライゼーション・マシンについては、SGF2017のこちらのセッションが参考になると思います。「Factorization Machines: A New Tool for Sparse Data」

Data for Good | SAS Events | Students & Educators
小林 泉 0
SGF2017 レポート - 初日、オープニングセッション他

今年のSAS Global Forum は、USのフロリダ州オーランドで開催されました。 例年同様日曜日スタート 従来と異なるのは、パートナー様向けの、SAS Partner Forum 2017 がSGFと同時開催されたことです。日本から参加されたSASジャパンのパートナー企業様は、前日夜のレセプションから始まり、イベント週間の先頭をきって、日曜日朝8:30からのSAS Executiveも登壇するセッションに参加いただき、みっちり午後までのスケジュールを、忙しくこなして頂きました。その様子は、こちらのSAS Partner Blogよりビデオでご覧いただけます。お忙しい中を時間を割いて日本からご参加いただくパートナー企業様が年々、増加しており、今年もセッション他、有意義なコミュニケーションの時間を過ごさせていただきました。誠にありがとうございます。多種多様なスキル・経験をお持ちのパートナー企業皆様に囲まれ、今後のSASビジネスに非常に心強さを感じました。 明日のリーダーを育成する さて、SAS Global Forum、通称SGFは、初日の夜のOpening Sessionからスタートなのですが、その前に、前述のパートナー様向けのイベントだけでなく、毎年最も重要なイベントの一つであるAcademic Summitが行われます。これは、SASが重要視することの一つである、人材育成・教育への投資、そしてその結果、社会へ優秀なデータサイエンティストを生み出すための活動であるAcademic Programの年次の総会のようなものです。教育関係者だけではなく企業関係者も参加することで、実務で役立つ教育の促進と人材の確保というエコシステムを形成しています。これを特徴付ける数字としては、このイベントのスポンサーを見てもわかります。 通常のパートナー企業様のスポンサーが29社 アカデミックのスポンサーは、16教育機関。 この数から見ても、本イベントを大学などの教育機関が重要視していて、教育と企業との連携が盛んであることが伺えると思います。 SAS Global Forumそのものが、教育機関と民間企業の接点の場であり、学生の発表や表彰、そして参加大学の企業へのアピールの場にもなっています。さて、Academic Summitのアジェンダを見てみましょう。 ネットワーキング SAS担当エグゼクティブの挨拶 スカラシップ受賞者の紹介 Student Ambassador Program受賞者の紹介 Student Symposiumファイナリストの発表 ゲスト講演 Student Symposium(SGF2017で実施されるコンペティション)の優勝チームである、Kennesaw State University の "The Three Amigos"は、「銀行の定期預金契約者の決定要因をロジスティック回帰と決定木で分析」したものでした。その他Student Symposiumの発表は以下のようなものがありました。 Dataninjas: Modeling Life Insurance Risk (Kennesaw State University)

Programming Tips
小林 泉 0
グラフ理論②:PythonとSAS Viyaでグラフ分析

はじめに 以前このブログ「グラフ理論入門:ソーシャル・ネットワークの分析例」でもご紹介しましたが。SASは従来からネットワーク分析(グラフ分析)をサポートしています。ネットワーク分析の基本的なことはまず上記のブログをご参照ください。 今回は、プログラミングスキルがあるアプリケーション開発者やデータサイエンティスト向けです。Pythonからネイティブに利用できるSAS Viyaを使用して、ネットワーク分析をする簡単な利用例をご紹介します。 2016夏にリリースされたSAS Viyaは、アナリティクスに必要な全てのアルゴリズムを提供しつつ、かつオープンさを兼ね備えた全く新しいプラットフォームです。これにより、SAS Viyaをアプリケーションにシームレスに組み込むことや、どのようなプログラミング言語からでもアナリティクス・モデルの開発が可能になりました。今回は、SASのパワフルなアナリティクス機能にアクセスするために、そのオープンさがどのように役立つののかにフォーカスします。 前提条件 SAS Viyaは、REST APIにも対応しているため、それを使用しても良いのですが、一般的には、使い慣れたプログラミング言語を使用する方が効率が良いと考えられるため、今回は、データサイエンティストや大学での利用者が多い、Pythonを使用したいと思います。 デモ環境としては、Pythonコードを実行できるだけでなく書式付テキストも付記できる、Webベースのオープンな対話型環境であるJupyter Notebookを使用します。Jupyterをインストールした後に、SAS Scripting Wrapper for Analytics Transfer(SWAT)をインストールする必要があります。このパッケージは、SAS Cloud Analytic Services(CAS)に接続するためのPythonクライアントです。これにより、Pythonから全てのCASアクションを実行することが可能となります。SWATパッケージの情報やJupyter Notebookのサンプルはこちらをごらんください。https://github.com/sassoftware SAS Cloud Analytic Services(CAS)にアクセスする SAS Viyaのコアにあるのは、SAS Cloud Analytic Services(CAS: キャス)というアナリティクスの実行エンジンです。"CASアクション"という個々の機能を実行したり、データにアクセスしたりするためには、CASに接続するためのセッションが必要となります。セッションからCASへの接続には、バイナリ接続(非常に大きなデータ転送の場合にはこちらが推奨です)あるいは、HTTP/HTTPS経由のREST API接続のどちらかを使用することができます。今回は、デモンストレーション目的で非常に小さなデータを扱うので、RESTプロトコルを使用します。SAS ViyaとCASのより詳細な情報はこちらのオンラインドキュメントをごらんください。 多くのプログラミングと同様、まずは使用するライブラリの定義からです。Pythonでは、importステートメントを使用します。非常に良く使われるmatplotlibライブラリに加えて、ネットワークをビジュアライズするためのnetworkxも使用します。 from swat import * import numpy as np import pandas as pd import matplotlib.pyplot as

Data Management
小林 泉 0
Hadoopだからこそ必要なセルフサービス-そしてアダプティブ・データマネジメントの時代へ

2014 およそ2014年からSAS on Hadoopソリューションを本格展開してきました。時代背景的には、2014頃は依然として、業態の特性からデータが巨大になりがちで、かつそのデータを活用することそのものが競争優位の源泉となる事業を展開する企業にHadoopの活用が限られていたと思います。その頃は、すでにHadoopをお持ちのお客様に対して、SASのインメモリ・アナリティクス・エンジンをご提供するというケースが大半でした。 その後、急速にHadoopのコモディティ化が進んだと感じます。 2015 2015頃になると、前述の業態以外においてもビッグデータ・アナリティクスの成熟度が上がりました。データ取得技術の発展も伴い、これまで活用していなかった種類や量のデータを競争優位性のために活用を志向するようになり、蓄積および処理手段としてのHadoopの選択が加速します。この頃になると、数年前には必ずあったHadoopそのものの検証ステップを踏まない企業が増えてきます。データ量、処理規模、拡張性、コスト効率を考えたときに妥当なテクノロジーがHadoopという結論になります。ビッグデータはデータのサイズだけの話ではありませんが、筆者の足で稼いだ統計によると、当時大体10TBくらいが、従来のテクノロジーのまま行くか、Hadoopを採用するかの分岐点として企業・組織は算段していたようです。この時期になると、従来のテクノロジーの代替手段としてのHadoopの適用パターンが見えてきました。 新しいデータのための環境 従来捨てていた、あるいは新たに取得可能になった新しいデータをとりあえず蓄積して、何か新しいことを始めるためのある程度独立した環境として、コスト効率を考慮してHadoopを採用するパターン 既存のデータウェアハウスへ価値を付加(上の発展形であることが多い) 新たなデータを使用してHadoop上で加工し、アナリティクス・ベーステーブルにカラムを追加し、アナリティクスの精度を向上 ETL処理負荷やデータ格納場所のHadoopへのオフロード BI & アナリティクスの専用基盤 SQLベースのアプリケーションだけをRDBMSに残し、その他の機械学習、ビジュアライゼーションなどSQLが不向きな処理をすべてHadoop上で実施 多くは、インメモリアナリティクスエンジンと併用 データレイク (筆者の意見としては)いざ新しいデータを使用しようと思ったときのスピード重視で、直近使用しないデータも含めて、全てのデータを蓄積しておく。よくあるのが、新しいデータを使用しようと思ったときには、まだデータが蓄積されておらず、利用開始までタイムラグが生じてしまうケース。その時間的損失すなわち利益の喪失を重要視し、そのような方針にしている企業が実際に当時から存在します。 2016 海外の事例等では数年前から見られましたが、2016になると、日本でも以下の傾向が見られます 既存Hadoopをそのコンセプトどおりスケールアウトしていくケース グローバル・データ・プラットフォームとして、複数のHadoopクラスターを階層的に運用するケース AI、機械学習ブームにより機械学習のためのデータの蓄積環境として IoTの流れにより、ストリーミング処理(SASでいうと、SAS Event Streaming Processingという製品です)と組み合わせて まさに、Hadoopがデータプラットフォームとなる時代がやって来たと思います。その証拠に、SAS on Hadoopソリューションは、日本においても、金融、小売、通信、サービス、製造、製薬といったほぼ全ての業種において活用されています。 Hadoopの目的は、従来型のBI・レポーティングではなく、アナリティクス このような流れの中で、Hadoopの採用には一つの確固たる特徴が浮かび上がっています。もちろん弊社が単にITシステムの導入をゴールとするのではなく、ビジネス価値創出を提供価値のゴールにしているというバイアスはあるのですが。。。 Hadoopの導入目的は、ビジネス価値を創出するアナリティクスのためであることがほとんどである したがって、Hadoopに格納されるデータには主にエンドユーザーがアナリティクス観点の目的志向でアクセスするケースがほとんどである つまり、ある程度の規模のITシステムではあっても、Hadoopに格納されるデータはアナリティクスの目的ドリブンでしかアクセスされません。主たるユーザーは、分析者やデータ・サイエンティストです。彼らが、「使いたい」と思った瞬間にアクセスできる必要があるのです。このようなユーザーサイドのリクエストは、従来のBIすなわちレポーティングのような固定化された要件定義をするような依頼ではないため、その都度従来のようにIT部門と要件をすり合わせて、IT部門にお願いするという方法では成り立ちません。その数日、数週間というリードタイムが意思決定を遅らせ、企業の業績に悪影響をもたらすからです。あるいはIT部門の担当者を疲弊させてしまいます。つまり、アナリティクスにおいては、分析者・データサイエンティストが自分自身で、Hadoop上のデータにアクセスし、必要な品質で、必要な形式で、必要なスピードで取得するために自由にデータ加工できる必要があるのです。 このあたりの話については、下記でも紹介していますので、是非ご覧ください。 【ITmedia連載】IT部門のためのアナリティクス入門 第2回 やっと分かった ビッグデータアナリティクスでHadoopを使う理由 第3回 データ分析で成功するためのデータマネジメントとIT部門の新たな役割  【関連ブログ】 アナリティクスの効果を最大化するデータマネジメント勘所 これが、Hadoopにおいて、セルフサービス・データマネージメント(データ準備)ツールが不可欠な理由です。SASはアナリティクスのソフトウェアベンダーとして、このHadoop上でITスキルの高くない分析者・データサイエンティストでも自分自身で自由にデータを取得できるツールを開発し提供しています。それが、SAS Data Loader for Hadoopです。 SAS Data Loader

Artificial Intelligence | Machine Learning
小林 泉 0
ディープ・ラーニングとAI

この写真に写っているのは何でしょうか?きっと皆さん考えることもなく瞬時に家だと分かるでしょう。なぜなら、何百、何千という種類の家を見てきた経験から、家を構成する特徴(屋根、ドア、窓、玄関前の階段など)を脳が認識できるようになっているからです。そのため、たとえ家の一部分しか写っていない写真でも、自分が何を見ているかが瞬時に分かります。家を認識する方法を学習済みなのです。 多くの皆さんは、この話題ですぐに、「あぁ、ディープ・ラーニングの話だな」とピンとくることでしょう。今回は、昨今メディアを賑わせ、誤解も多くある、ディープ・ラーニングとAI(人工知能)の理解について、簡単に頭を整理してみましょう。 ディープ・ラーニングとは、家の画像の認識、分類、説明など人間が行うようなタスクを実行できるようにコンピューターに学習させることに特化した、人工知能(研究)の一領域です。しかし、ビジネスにおけるディープ・ラーニングの手法と応用はどのような状況にあり、アナリティクスの将来にディープ・ラーニングはどのようなメリットをもたらしてくれるのでしょうか? ディープ・ラーニングとその仕組みについて、SASのアナリティック・サーバー研究開発担当副社長であるオリバー・シャーベンバーガー(Oliver Schabenberger)に話を聞きました。 ディープ・ラーニングをどのように定義していますか? 【オリバー・シャーベンバーガー】ディープ・ラーニング手法は機械学習の一種であり、いわゆる「弱いAI(人工知能)」の一形態と考えられます。「弱いAI」とはAI分野の専門表現で、人間の脳と同じように動作する思考マシンの作成を前提としていないことを意味します。その代わり、「ディープ・ラーニング手法は人間が行うような特定のタスクをインテリジェントな方法で実行することができる」という前提に立っています。そして私たちは今、こうしたインテリジェンス強化システムが人間よりも優れた正確性、安定性、反復性をもってタスクを実行できるケースが多々あることを明らかにしつつあります。 ディープ・ラーニングは機械学習とビッグデータが重なり合っている領域だという人もいますが、それだけではありません。「ディープ」および「ラーニング」という側面の意味を詳しく考えてみましょう。 ディープ・ラーニングの1つの側面(=ディープ)は、ニューラル・ネットワーク・モデルを「より深く」適用することによってアナリティクスの精度が高まる、ということを指しています。学習(ラーニング)システムは、そのモデルあるいは環境を階層構造として表現します。それぞれの層(レイヤー)は、例えば画像における規則性の形態(形状、パターン、境界線など)のように、課題に関する異なるタイプの情報を表していると考えることができます。こうした階層構造とニューロン間の情報フローという2つの特長から、ニューラル・ネットワークは学習システムを構築するための標準ツールとなっています。コンピューティングとアルゴリズムの高度化により、現在では、ほんの数年前と比べても、より多くの層からなるニューラルネットを構築できます。ディープ・ニューラル・ネットワークは多くの学習手法の土台となる概念です。 第2の側面(=ラーニング)は、より多くのデータを利用する際のパフォーマンス(スピード、精度、一般化可能性)の改善という意味においても、システムが「学習」を行うことを指しています。この側面は、パターンの認識、テキストの読解、音声の理解、事象や物体の分類など、「これまで人間が学習してきたタスクを機械が実行する」という応用用途も指し示しています。システムは課題を解決するのではなく、課題に関してトレーニングを受けるのです。 ディープ・ラーニングはどのような点でAI(人工知能)なのでしょうか? 【シャーベンバーガー】多くの人々は「人工知能」という言葉を聞いたとたん、機械が人間に取って代わるのではないかと不安になりますが、ディープ・ラーニングの場合、そうはなりません。コンピューターは依然として「石頭」 です。あくまで、パターン認識、音声認識、質問への回答など、人間が行うようなタスクを機械独自の方法で疑似的に実行しているにすぎません。また、学習した能力を別のタスクに一般化することもできません。例えば、最近、数回の対局で世界最強の囲碁棋士に勝利したAlphaGo(アルファ碁)は、Googleの子会社であるDeepMindが開発した驚異的なディープ・ラーニング・アルゴリズムですが、画像を分類したり、洗浄機の中身を食器棚に片づけたりといった用途には役立ちません。それでも、囲碁に関しては驚異的なプレイヤーなのです。 しかしながら、人間の大脳新皮質が担っている機能に関する最新の理解とディープ・ニューラル・ネットワーク手法との間には、興味深い類似点があります。新皮質は多くの認知能力を担っていますが、そこでは階層構造を通じて入力信号が伝播されており、それらの層がモノの表現を生み出す規則性を発見していることが分かってきたのです。 [Tweet "コンピューターは依然として「石頭」 です。あくまで、パターン認識など、人間が行うようなタスクを機械独自の方法で疑似的に実行しているにすぎません。"] 同様に、ニューラル・ネットワーク・アルゴリズムもレイヤーとニューロンで編成されます。しかし、「ニューラルネットがコグニティブ・コンピューティングの世界で有用性が証明されてきたのは、それが人間の脳を模倣しているから」というよりは、「過去のアプローチとは異なる方法、すなわち、我々人間の大脳新皮質とは異なる方法でデータを処理するからこそ、ニューラルネットは成功を収めてきている」と言うべきではないかと私は思います。 ディープ・ラーニングの理解しやすい例を示していただけますか? 【シャーベンバーガー】ディープ・ラーニングと標準的なアナリティクス手法の違いが分かる優れた例として、 Atari社のBreakoutというゲーム(筆者と同年代以上の方であればご存知のはずの「ブロックくずし」のオリジナル作品らしいです)をプレイするタスクを考えてみましょう。最初に、考えられる選択肢について議論し、それから実際の動作をYouTubeのビデオでご覧いただきます。 1つの選択肢は、ブレイクアウトの遊び方を知っているゲームボットを書くことです。パドル(プレイヤーが水平に移動させるバー)とその動き方、ボール、ボールがパドルや壁やブロックにぶつかったときの跳ね返り方のルールなどの要素をプログラミングします。つまり、ゲームのロジックと戦略を、ソフトウェア自体に組み込むのです。ソフトウェアをコンパイルしたら、導入して実行し、ゲームボットがどのようにプレイするかを観察します。ゲームプレイ能力の改良が必要な場合は、コード改変、コンパイル、導入、実行、テストというサイクルを繰り返していきます。 もう1つの選択肢は、「深層強化学習」と呼ばれるディープ・ラーニング手法を用いて課題を解決する方法です。ディープ・ニューラル・ネットワークでゲーム環境を表現し、この環境内で動く方法、アクションの取り方、そのアクションを取ることで得られる報酬をプログラムに指示します。つまり、報酬はゲーム画面の上部に表示されるスコアであり、アクションはパドルを動かすことであるとコンピューターに伝えます。コンピューターが知る必要があるのは、これが全てです。実行が始まるとコンピューターは、パドルを動かし、スコアがどうなるかを読み取ります。この選択肢の場合、ゲームをプレイするというタスクは、「ゲームの現在の状態と、取るべきアクション(パドルの動かし方)の2つを変数として、将来の報酬を最大化せよ」という最適化課題へと変わります。 それでは、Google DeepMind社が実装したAtariブレイクアウトの深層強化学習をビデオでご覧ください。 このソフトウェアは、壁やブロック、さらにはボールの存在さえも知りません。知っているのは、自分で動かせるパドルがあることと、少しでも高いスコアを獲得するという目的だけです。それでも、学習開始から2時間後には、熟練者並みにプレイしています。誰もコンパイル、導入、実行を繰り返す必要はありませんでした。4時間後には、ゲームをクリアできるようになっています。特定の領域に関する知識は一切投入されていません。 ディープ・ラーニングについて詳しく学ぶにはどうすればよいでしょうか? 【シャーベンバーガー】私はつい最近、SASのサイトにディープ・ラーニングとは? という新しい記事を寄稿しました。ディープ・ラーニングが重要な理由と動作の仕組みについて、幅広い情報を盛り込んであります。また、ディープ・ラーニングに関するWebセミナーや、ディープ・ラーニングの現状についてデータ・サイエンティストが対談しているビデオへのリンクも用意しました。ディープ・ラーニングについて同僚に説明する際もお役に立つと思います。 いかがでしたでしょうか。ディープ・ラーニングとAIの位置づけが少しクリアになったのではないでしょうか。 ゲームと言えば、任天堂の「スーパーマリオ」というゲームを人工知能でクリアしてしまおうという取り組みもあります。インターネット上で検索すると色々情報が見つかるので調べてみてください。学習過程の動画を見ていて、筆者が始めてこのゲームをやったときの、最初の頃まだうまく操作できてないときの動かし方(右に無謀に突き進んでは行き過ぎてやられる)にそっくりだなと感じました。 データマイニング、機械学習、ディープ・ラーニングについて、弊社日本語サイトを更新したので是非ご活用ください。これらのテクノロジーの実用についてのより詳細な情報をご提供しています。

Learn SAS | Programming Tips
小林 泉 0
Jupyter and SAS

Jupyter Notebookとは? Jupyter Notebookとは、ノートブック形式のインターフェースでコードの開発(記述や実行)ができるWebアプリケーションです。約50ほどの世の中のプログラミング言語に対応しています。 http://jupyter.org/ Jupyter and SASとは? Jupyterの環境に、オープンソースのSAS kernel for Jupyterを追加することで、Jupyter Notebook上でSAS言語を使用(シンタックスのハイライト、実行、ログの確認、アウトプットの表示)することが可能になります。 Jupyter Notebookでは、作業の内容は、ノートブック(*.ipynb)形式で保存されます。Jupyter Notebookでは、SASコードや実行結果だけでなく、リッチテキスト形式で文章を記載することが可能です。ノートブックはHTML形式や、PDF、あるいはSASコードとして出力することも可能です。 SAS 9.4とLinux環境があれば、ほとんどの方が導入・ご利用いただくことが可能です。 Jupyter Notebookを開くと、Notebookダッシュボードが表示されます。ここに、ノートブックや他のファイルの一覧が表示されます。     SAS University Editionでも使えますか? 2016の7月から、Jupyter NotebookとSAS Kernel for JupyterがSAS University EditionのvAppに含まれることになりました。従来、SAS University Editionのインターフェースは、SAS Studioのみでしたが、今後はJupyter Notebookもご利用いただくことが可能となります。 https://support.sas.com/software/products/university-edition/faq/jn_whatis.htm  

1 5 6 7 8