東大が無料公開しているデータサイエンス教材の概要をまとめてみた
目次
東大の「数理・データサイエンス教育強化拠点コンソーシアム」というところがデータサイエンスに関する教材資料をまとめていたので、ざっと見てみました。
とてもたくさんあるので動画はまだ見られていませんが、今回はPDF資料のさわりや、個人的に勉強になったところを各セクションで数行程度にまとめてみようと思います。
教材ページはこちら : リテラシーレベルモデルカリキュラム対応教材
スライド(PDF)の一覧はこちら : 数理・データサイエンス・AIリテラシーレベル教材
どんな内容の教材があるかをざっくり知りたい方はご参考に。
1. 社会におけるデータ・AI活用
データサイエンスの概要がわかる入門セクションです。
社会で起きている変化
データサイエンスとは何か、社会におけるポジションや動向を知りたい、といった場合に読むと良さげ。53ページありますが、事例が多めです。
データサイエンスとは、「データを有効活用し、数理モデリングや計算技術と適用分野の専門知識を結合して新たな知識を生み出し、その活用のシナリオを導き出すこと」だそうです。
要はデータを使って価値を生む科学ということですね。
近年ビッグデータや計算技術でできることが急激に増えてきていて、技術と融合した新しい社会を作るために多くの人が基本的な理解を持っている必要がある、と言っていますね。
社会で活用されているデータ
どういうデータがどう活用されているかが解説されています。
どこからデータを集めればよいか、データ元のアクセス先が紹介されているのが良いですね。
と思ったらリンクが切れてるのが多かったので検索しました。
代表的なものは以下に貼っておきます。
データ・AIの活用領域
NetflixやAmazonなどの事例紹介。
データサイエンスという名前からもIT分野で活躍しているイメージが強いですが、マーケティング・販売・製造・物流・文化活動など幅広い領域で活用されていることがわかります。
データ・AI利活用のための技術
データサイエンスで用いられる技術の例が挙げられています。
- 1次分析 基礎統計量・欠損値・偏りを調べたり可視化するのがスタート。
- 2変数の関係を調べるには散布図を使ったり直線や曲線に回帰する。(多次元の空間散布もある)
- 関係性の可視化はネットワーク図や行列を使う。
- 言語処理ではバックオブワーズという出現頻度行列を使う。
- 画像や音声はベクトルとして分析する。
- 訓練データからパターンを学習して予測することもできる。(ロジスティック回帰など)
- グルーピング(クラスタリング)でデータを分割する(k-meansなど)
それぞれの詳細は4章でわかります。
データ・AI利活用の現場
データサイエンスの仕事の流れがNetflixの事例で説明されています。
- 課題抽出と定式化
- データの取得・加工
- 分析
- 結果共有・課題解決(に向けた提案)
また、活用事例としてキューピーの不良品検知やトラックの自動運転化などが挙げられていました。
データ・AI利活用の最新動向
最近はこんな例もあるよ、といった内容。
- 深層学習・強化学習・転移学習の事例
- ブラックボックス化が問題になる場合があるので解釈性向上のプロジェクトもある。(IBM AI Explainability 360)
- インターネットとマッチング技術を組み合わせたシャリングエコノミーの紹介
- フェデレーテッドラーニングというビッグデータを一箇所ではなく分散したまま扱う方法の紹介
2. データリテラシー
かなり初心者向けの内容で、小規模でもデータを扱ったことがある人は飛ばしてもよさげなセクション。
2-1. データを読む
基礎統計量や代表値の説明と、データを正しく読むために注意すべきことがまとめられています。
- どのような背景から得られたか正しく理解すること。
- 相関係数が高いからと言って因果関係があるとは限らない。
- 誇張表現に騙されないこと。(軸の目盛りとか。)
2-2. データを説明する
各種グラフの読み方や、データの比較に使われる技法がまとめられています。
グラフは円グラフや散布図、ヒストグラムといった基本的で頻出のタイプですね。
データの比較としてはA/Bテスト(ランダムに一部変えることでその一部の影響を検証する手法)が紹介されています。
2-3. データを扱う
スプレッドシートとcsvファイルの紹介です。
数千件レベルのデータはExcelやGoogleスプレッドシートで簡単に加工・集計できますよ、という内容。
3. データ・AI利活用における留意事項
モラル・倫理的に気をつけるべきことと、それにまつわるリスクや事例が紹介されています。
気をつけるべきことは、ELSI(Ethical, Legal, Social, Issuesという科学分野の社会的責任の考え方)に沿って説かれています。
ざっくりいうと、捏造・改竄・剽窃、セキュリティ、個人情報の保護、データのバイアスに注意しましょう、といった内容。
いくつか重要そうなキーワードがあったのでご紹介します。
- オプトイン・オプトアウト : サービスや手続きに参加希望表明型か、非参加希望表明型か。
- GDPR(EU General Data Protection Regulation) : 欧州一般データ保護規則。個人情報保護関連規則をEU内で一元化したもの。
欧州ではプライバシー保護に関するデータの法整備が進んできているようですが、日本ではインターネット上のデータに関する法律は依然検討中だとか。
データを扱うなら「個人情報保護法」「インターネット法」など関連する法律の理解は重要そうです。
4-1. 統計及び数理基礎
ここからは「オプション」に分類されていますが、技術を勉強したい人には本編みたいな内容が始まります。
この資料はなんと196ページ(!)次点が画像解析の74ページなので、ぶっちぎりのボリュームですね。
公開が2020年5月で、最終更新が2021年3月と、少しずつ更新されている形跡もあります。
主な内容は以下の通り。高校〜大学1年の数学の復習みたいな内容ですね。
- 集合
- 指数関数と対数関数
- 1変数関数の微分と積分
- 確率・順列・組み合わせ (ベイズの定理・確率分布)
- 線形代数(ベクトル・行列)
各セクションの最後に、「これはどこに現れるか?」というデータサイエンスにおける活躍場所がまとめられていて、これだけでも面白いですね。
4-2. アルゴリズム基礎
簡単なプログラムを書いたことがあるレベルであれば読み飛ばせる内容でした。
- デジタルとは、情報の単位(bit)とは
- アルゴリズムの基本構造(順次・選択・反復)とフローチャート
- 探索・整列といったアルゴリズムをプログラムでどう実現するか
【資料PDF】4-2 アルゴリズム基礎・4-3 データ構造とプログラミング基礎
4-3. データ構造とプログラミング基礎
4-2の資料の中に含まれています。
4-4. 時系列データの解析
時系列データが持つ特徴と意味、処理方法について学べます。
- トレンド・移動平均・季節調整 ... 小さな変動を無視した傾向が見たい
- ノイズ・階差(差分)・季節階差(周期付き階差) ... 大きな傾向を無視した変動を見たい
- 特徴の可視化 スペクトル(周期関数に分解)・相関関数(離れた時点との相関)
発展内容として、予測や前処理の手法が紹介されています。
- 予測式 ナイーブ予測・回帰型予測・自己回帰型(ARモデル)
- 前処理 対数変換・階差・季節調整
4-5. テキスト解析
テキストをデータとして処理する手法がまとめられています。
- コーパス : テキストデータのサンプル集合のこと。
- わかち書き(単語分割) : 英語はスペースやカンマで分けて、日本語は不自然でない意味のまとまりを最小単位(トークン)とする。
- 形態素解析 : トークンに品詞や活用形といった情報を付与する処理のこと。
- 言語モデル : n-gram(n文字に分割したときコーパス内の出現頻度を数えた統計モデル)
- 文書単語行列 : 行をテキスト、列を単語にして出現頻度や重要度を数値化するために使われる行列
- テキスト間類似度 : テキストの関連性の高さをテキストベクトルのコサイン類似度で測れる。
類似度って、フーリエ変換みたい。サイン・コサインって便利ですね。
参考リンク:コーパス開発センター
4-6. 画像解析
- 画像の表現
- 色の知覚と表現
- 2次元フィルタリング、畳込み演算 (ぼかし・シャープネス・エッジ抽出の手法)
- 領域検出と物体・動作認識
- 深層学習による画像認識
初っ端から「カメラの撮像素⼦とソーラーパネルの原理は同じ!」という、なるほど〜な話で読み物としても面白いです。素子に対して、光が当たる強さと電荷の溜まりやすさに相関があるので、座標と電荷で絵を再現できるんですね。
HSV表色系の話も面白かったです。
- HSV: ⾊相 (Hue)、彩度 (Saturation)、明度 (Value)
ディスプレイ画像のRGB(加色法)や印刷物でよく使われるCMYK(減色法)は知っていましたが、直感的な色の近さを表現できるとのこと。そう言われると、PCソフトでもこういう色相循環系のカラーパレットってよくありますよね。
領域検出や深層学習のあたりは顔画像検出や手書き文字の認識で使われる手法の紹介でした。
4-7. データハンドリング
データベースとSQLの基礎、データ変換、欠損値・外れ値の処理(クレンジング)について学べます。
外れ値の扱いはよく問題になりそうなので気になりました。
ここで紹介されている「外れ値」は、
- 第1,第3四分位点(Q1,Q3)と四分位範囲(IQR=Q3-Q1)を使って、
Q3+1.5IQR以上
やQ1-1.5IQR以下
- 分布が分かれば、平均から
2σ
以上離れてるもの
としています。正規分布とか想定できないと使えなさそうですね。
ここでも少し書かれていますが、実際はそのデータの性質をよく理解して慎重に選ばないと、怖くて安易に除外できませんね。
4-8. データ活用実践(教師あり学習)
分類・回帰とは何かという紹介と、これにあたる一連の分析プロセスの知識が学べます。
- タスク特定 ラベルが名称など離散値なら分類、ラベルが連続値なら回帰
- 教師データの収集、予測に効きそうな特徴の検討
- データの前処理・加工と機械学習による分析
- 分析結果のレポート
ちょっと細かい話 〜 前処理
前処理は重要そうですね。
- データクレンジング:外れ値を検出して除去すること。欠損値を除去して補完すること。
- ダミー変数の追加:
Male
,Female
などはそれぞれ列にしてデータを数値0,1に置き換える - 標準化 : 平均0, 分散1に変換
- 正規化 : 列の値を[0,1], [-1,1]に収める
- サンプリング : 訓練データの一部をランダムに選んで新たな訓練データにする(アンサンブル学習)
ちょっと細かい話 〜 損失関数
損失関数でモデルとデータの適合度合いが調べられます。
- 二乗損失関数 :
y
と予測値f(x)
が近いときに小さい - ロジスティック損失 :
y
とf(x)
の符号が同じでy*f(x)
が大きいほど小さい
結局、機械学習では予測精度を高めるためにモデル(パラメータ)を最適化したいので、色々とパラメータを変えたときの経験損失(訓練データの損失関数値の平均)を最小化する問題を解くことになります。
ちょっと細かい話 〜 モデルの評価
モデルの評価は以下の指標を使います。
- 回帰ならRMSE, MAE, 決定係数(R^2)
- 分類なら適合率(precision)・再現率(recall)・F-値(precisionとrecallの調和平均)
また、過学習(モデルが過剰にフィッティングしているため訓練データ以外の予測に使えない状態)を抑えるために「正則化付き経験損失最小化」や、k-交差検証(CV)といった手法で正則化項の最適値を求める方法が紹介されています。
機械学習はつい長くなってしまいました。
4-9. データ活用実践(教師なし学習)
最後は教師なし学習の資料で、クラスタリングについて学べます。
前処理までは、4-8章と同じ内容です。
クラスタリング手法は、類似度に基づくk-means法と確率密度関数(多峰性のどの峰か)に基づく方法が紹介されています。
また、階層クラスタリング(系統樹)についても最後の1ページで少し触れられています。
まとめ
というわけで、東大の「数理・データサイエンス教育強化拠点コンソーシアム」が公開しているデータサイエンス教材のスライドを眺めて内容をまとめてみました。
1~3章は、これからデータを利用したい人向け、もしくはそれ以前のデータサイエンスってなんだって人向けで、4章のオプションは実際に現場で使う人と会話するために必要な知識や、現場で使いたい人向けの具体的・技術的な内容が含まれていました。
これだけのボリュームが無料公開されているのはすごいですね。下手に入門書を買って読むよりは、データサイエンスの導入として素晴らしいと思いました。
多少予備知識のある状態で気になる所をまとめたので、偏りがあるかもしれませんが、どんな内容が書いてあるかの参考にして頂ければと思います。