Author

RSS
Academic Support Staff

東京大学前期教養学部理科一類

Data for Good | Students & Educators
0
Data for Goodを通じて"本物の"データサイエンティストになろう!

アナリティクスは数多くの課題を解決してきました。ビジネスにおけるデータサイエンスの有用性は周知の通りであり、既に多方面で応用されています。SASはこれを発展させ、データを用いて社会課題を解決する“Data for Good”を推進しています。本記事では、その一環として設立したSAS Japan Student Data for Good Communityについてご紹介します。 SAS Japan Student Data for Good Community データサイエンスにおいて最も重要なのはアナリティクス・ライフサイクルです。これはData・Discovery・Deploymentからなる反復型かつ対話型のプロセスで、このサイクルをシームレスに回し続けることで初めてアナリティクスは価値を発揮します。データを用いたアプローチが可能な課題の発見から、分析結果を活用する具体的なアクションまでを含む一連の流れのもと、そのアクションに「必要な情報」は何か、その情報を導き出すためにはどのようなデータや手法が使えるかと思考をブレークダウンし、議論を重ねることが大切です。しかし、学生の授業や書籍による学習は具体的なデータ分析手法や統計理論にフォーカスされ、上記のようなデータサイエンスの本質的な流れを学習・実践する場が殆どないのが現状です。そこで、学生がData for Goodを題材にデータサイエンスの一連の流れを実践する場としてSAS Japan Student Data for Good Communityを設立しました。本コミュニティの目標は以下の三つです。 学生が主体となって議論・分析を行い、Data for Goodを推進すること。 データサイエンスのスキルを向上させること。 学生間の交流を深めデータサイエンスの輪を広げること。 活動内容 ・Data for Good 山積する社会問題のなかからテーマを選択し議論や分析を通してその解決を目指す、本コミュニティのメインの活動です。議論は主にオンライン上で行いますが、適宜オフラインでの議論や分析の場を設けます。もちろん、社会問題の解決は一般に困難です。データは万能ではなく、アナリティクスが唯一の絶対解とも限りません。しかし、課題をいくつかのステップに区切り、その一部分だけでもデータの力で改善することは十分可能であると考え、そのために学生間で様々な議論を重ねることは非常に有意義だと感じています。そもそもData for Goodの考え方は、「事象の把握にデータを使用すること(Descriptive Analytics)」ではなく、アクションを行う際に「データを用いてより良い意思決定の支援をすること(Predictive/Descriptive Analytics)」です。課題そのものの理解から、いくつかの施策がある中で、データのアベイラビリティなども踏まえて、「アナリティクスで解くべき(解きやすい/解く意味のある)問題」は何かを考える必要があります。これらは確かにChallengingではありますが、他の学生とのアイデアの共有や現場のSAS社員からフィードバックをもとに、協力しながらプロジェクトを進行させられることは本コミュニティの大きなメリットの一つです。将来的には関連NPO法人との連携も計画しています。 ・勉強会 月に一回、SAS六本木オフィスにてコミュニティ内の勉強会を開催します。複数の社会問題をテーマとし、後述するアナリティクス通信を通して学んだ事例・知識に基づき、それらの課題解決にどのようなアプローチ(必要なデータ・有効な分析手法等)が有効であるかについて議論します。社会問題に対する見聞を広めるとともに、「アクション可能な課題を見つける」・「データを用いたアプローチを考える」といったデータサイエンスを進めるうえで重要となる観点を養います。以前開催した勉強会の様子はこちらの記事からご覧ください。(第一回・第二回) ・アナリティクス通信 週に一回、先述の勉強会で議論を進めるために必要な知識やデータをまとめたアナリティクス通信を配信します。コンテンツの内容は、社会問題の背景知識・関連するオープンソースデータ・データサイエンスに関するTipsなどを予定しています。データの見方を養う機会や、意欲あるメンバーが実際に分析を行うきっかけになることを期待します。 ・外部イベントへの参加 データ分析能力の向上や、Data for Goodに応用可能な新たな視点の獲得等を目的とし、有志メンバーでの外部データ分析コンペティションや関連講演会への参加を企画しています。 コミュニティメンバー募集! 上記の活動に加え新規活動案は随時受け付けており、学び溢れるより良いコミュニティを目指していきます。社会問題を解決したい方やデータサイエンスの力を養いたい方など、多くの学生のご参加を期待しています。(学年・専攻等の制限はありません。前提知識も仮定しません。中高生のご参加も歓迎します。)本コミュニティの活動にご興味がおありでしたら下記事項をご記入の上JPNStudentD4G@sas.comまでご連絡ください。 お名前

Machine Learning | Students & Educators
0
オンラインコース「Machine Learning Using SAS Viya」のご紹介(Week5・6)

本記事では、SASのオンライン学習コース「Machine Learning Using SAS Viya」について引き続きご紹介します。このコースはGUI上で機械学習理論を学習できる無料のプログラムです。ご登録方法やWeek1・2については前々回の記事を、Week3・4については前回の記事をご参照ください。最終回となる本記事では、Support Vector Machineを扱うWeek5と、Model Deploymentを扱うWeek6をご紹介します。 Week5:Support Vector Machines Week1・2、Week3・4と同様に、通信事業会社の顧客解約率をテーマに機械学習の具体的手法について学習します。Week5ではサポートベクターマシンという手法を用い、解約可能性に基づき顧客を分類するモデルを作成します。 ・Building a Default Support Vector Machine Model Week5で扱うトピックはサポートベクターマシン(SVM)です。画像認識や文字認識、テキストマイニングで用いられることが多い手法で、複雑なパターンもフレキシブルに表現できるものの、結果の解釈が難しいという特徴を持ちます。分類問題に用いられることが多く、最も簡単な例としては、下の画像のように二種類の出力を分ける直線が挙げられます。この例では分類可能な直線は何通りも考えられますが、マージン最大化という手法を用いて最適な分類線を選択します。本セクションではこれらのSVMの基礎を学習しましょう。 ・Modifying the Model Methods of Solution 本セクションでは、あるデータセットが通常のSVMで分類できない場合に用いるソフトマージンという手法を学習します。通常のSVMとは異なり、この手法は分類の誤りをある範囲内で許容しますが、それぞれの誤りに対しペナルティを課します。合計のペナルティを最小化する境界を最適な分離平面とみなし、ラグランジュの未定係数法を用いて所望の境界を推定します。ペナルティに関するパラメータを変更しながら、モデルの性能を確認しましょう。 ・Modifying the Model Kernel Function 線形分離不可能なデータでも、ある写像により超平面での分離可能な高次元の特徴空間上の点に変換することでSVMが適用可能になります。この際、その特徴空間内における内積は、カーネル関数と呼ばれるものの評価に置き換えられる(カーネルトリック)という性質を用いると、計算量の爆発を防ぎSVMが実装可能です。このカーネル法を用いて、モデルの性能を改善してみましょう。SVMで扱うのはあくまで超平面であるため幾何的な解釈可能性があると言われるものの、多くの場合、依然として十分に複雑で結果の解釈が困難です。そこで解釈を助ける指標としてICEプロットや変数の重要度について学習します。 Week6:Model Deployment Week1~5ではデータの前処理やモデルの作成について学習してきました。最終回となるWeek6では、Analytics LifecycleのDeploymentの段階を学習します。 ・Model Comparison and Selection 今まで複数のモデルを学習してきましたが、すべての状況において最適なモデルは存在しません。様々な観点でモデル間比較を行い最も高性能なモデルをチャンピオンモデルとして採用します。主に数値的スコアに基づく比較が行われますが、その際、ROC曲線・AUC値を用いたモデル間性能比較や、ゲインチャート(CPHチャート)・LIFTチャートを用いたモデルの採用・不採用の間での比較などが行われます。これらの指標に加えて、ビジネスの文脈に応じ、学習や評価のスピード・実装可能性・ノイズへの頑健性・解釈可能性などを判断基準にすることも考えられます。 ・Model Scoring and Governance Week1ではData, Discovery, DeploymentからなるAnalytics Lifecycleの概要を学習しました。これまで顧客の解約予測モデルを作成してきましたが、Analyticsはそのモデルを使用して終わりではありません。ビジネスの状況は刻一刻と変化し、それに伴って新たなデータが蓄積されていきます。先ほど決定したチャンピオンモデルがいかに高性能であっても、一定期間後に同様の性能を持つかは決して自明ではなく、モデルのモニタリングを通して性能を逐一確認する必要があります。並行して、新たな状況に関してDataの段階から分析します。その際、新たなチャレンジャーモデルを作成し、現行のチャンピオンモデルとの性能比較によりモデルを改善する手法や、新たに入手したデータを用いて逐一モデルのパラメータを調整するオンラインアップデートという手法が用いて、モデルを高性能に維持します。モデル作成後も継続してDataやDiscoveryの作業を行うことが、Analytics

Machine Learning | Students & Educators
0
オンラインコース「Machine Learning Using SAS Viya」のご紹介(Week3・4)

前回に引き続き、SASのオンライン学習コース、「Machine Learning Using SAS Viya」についてご紹介します。これはGUI上で機械学習理論を学習できる無料のプログラムです。ご登録方法やWeek1・2に関しては前回の記事をご参照ください。本記事ではWeek3・4の内容をご紹介します。Week3ではDecision Treeについて、Week4ではNeural Networkについて取り扱います。 Week3:Decision Tree and Ensemble of Trees Week1・2と同様に、通信事業会社の顧客解約率をテーマに機械学習の具体的手法について学習します。Week3では、ディシジョンツリーという手法を用いて、解約しそうな顧客を分類するモデルを作成します。 ・Building a Default Decision Tree Model Week3は右図のようなディシジョンツリーについて学習します。これは、図のように各ノードに与えらえた条件式に基づき入力データを分類するモデルです。結果の解釈が容易である点が大きな特徴ですが、オーバーフィッティングに陥りやすいという欠点もあります。デモを参考に基本的なディシジョンツリーを作成しましょう。   ・Modifying the Model Tree Structure ディシジョンツリーはパラメータとして木の構造を変更する事ができます。最大の深さや子ノードの数を変えると木の大きさが変わり、葉の最大要素数を減らすと分割が細かくなります。データの複雑さや過学習などの観点から各パラメータの及ぼす影響を学習し、実際に条件を変更して結果を比べてみましょう。 ・Modifying the Model Recursive Partitioning ディシジョンツリーの作成手順について学習します。まず、ある一つの集合を複数の集合へ分割する基準(不等式など)を作成します。この際、すべての分割方法を考え、その中から要素を最も適切にグループ化できる基準を選択します。例えば動物をグループ化する下の例については、多くの動物が混じっている上の状態よりも、シマウマの比率が高い下の状態のほうが適切とみなせます。ジニ係数やエントロピーを用いると、このような複数のグループの純度を数値的に比較できます。以上のようなグループ化手順を順々に繰り返し、最終的に一つの木構造を作成します。再帰的分割と言われるこの手法の詳細や、分割選択基準となるエントロピー・ジニ係数について学習し、ディシジョンツリーの理論的構造を把握しましょう。 ・Modifying the Model Pruning ディシジョンツリーは、サイズが過度に大きいとオーバーフィッティングを引き起こし、逆に過度に小さいと十分な汎化性能が得られません。そこで、まず最大のツリーを作成した後、重要でないノードを切り落としていくことでサイズを段階的に小さくし、最終的にバリデーションデータに対するスコアが最大となるサイズのツリーを採用します。プルーニングと言われるこの手法を実践しましょう。ツリーの大きさなどモデルに対して外部から設定する条件はハイパーパラメータと言われ、モデルの性能を高めるにはその最適化(チューニング)が不可欠ですが、本セクションではそれを自動的に行う手法も学習します。   ・Building and Modifying Ensembles of Trees ディシジョンツリーは入力データの影響を受けやすく、微小な変化に対しても大きく構造を変化させるため、安定した構造を取りません。しかし、一般にツリーの構造が変わったとしてもモデルの性能に大きな差が生じないという特徴があります。この性質を活用して、複数の構造のツリーを作成し、その結果を合わせて予測を行うアンサンブルという手法が用いられます。本セクションでは、その代表的手法であるバギング・ブースティング・勾配ブースティング・フォレストについて学習します。また、これらのモデルを実装し、チューニング後のスコアの比較を行います。   Week4: Neural

1 2 3 5