2024年度 : データマイニング
- シラバス
工学部工学科知能情報コース「知能334」、工学部選択「知能984」の同時開講
- 連絡先:
- 當間愛晃 (Naruaki TOMA)@工1-705
- オフィスアワー: 木2予定
- E-mail: tnal@ie.u-ryukyu.ac.jp
- Twitter: @naltoma
- 講義資料
- Part 1. 導入〜機械学習入門
- 第1回: イントロダクション
- 第2回: 機械学習概観、コード例(線形回帰)
第3回: 映画レビューデータを通したデータ処理演習 (numpy, matplotlib, pandas)- 第3回: データ処理演習 (numpy, matplotlib, pandas)
- 第4回: 機械学習の中身、前回の演習
- Part 2. 特徴量エンジニアリング
- Part 3. 特徴量エンジニアリング(テキストデータ)
- 第7回: シソーラス、カウントと推論に基づいた設計
- 第8回: 課題レポート2討論、Spacy入門、深層学習基礎1(導入)
- 第9回: 深層学習基礎1(導入)〜2(単語表現)
- 第10回: 深層学習基礎2(単語表現)〜3(言語モデル)
- 第11回: 深層学習基礎3(言語モデル)、深層学習コード例
- 第12回: 分散表現の発展、転移学習の考え方
- 第13回: 課題レポート3討論、振り返り、(グラフマイニング)
- Part 4. タスクとマイニングアルゴリズムの例(予定)
- 第14回: グラフマイニング
- 第15回: 事例概説、振り返り
- 他候補: 時系列データ分析、トピックモデル、次元削減
- (第15回: まとめ)
- Part 1. 導入〜機械学習入門
- 参考文献・サイト
第1回: イントロダクション
- 登録調整
- シラバス説明
- お知らせ
- (1) 各種連絡、相談対応、動画アーカイブ共有等のため Teams を使います。
- (2) G-mailアカウント
演習や課題提出のために利用します。知能情報コース以外の学生は、G-mailアカウントを準備しておいてください。
- ミニテスト(出欠確認)
*次回から要Googleアカウント。来週までに作成しておいてください。
- 授業資料
- 前提
基本的にはGoogle Colabを使います。
PC内に環境構築する場合:環境はpipベースで構築を推奨。condaだと自然言語処理周りで一部が動作しない可能性があります。
- データマイニング概観
- 前提
- 次回に向けて
第2回: 機械学習概観
- 登録調整
- ミニテスト(出欠確認)
*(次回から)要Googleアカウント。
- 授業資料
- 課題レポート1:機械学習してみよう
- 提出先:
Googleドライブ内のreport1に、「各自の大学アカウント名(e+数字6桁)」のフォルダを作成し、そこに提出。
- 様式/形式:
Googleドキュメント, Word, LaTeX(=>PDF)等、一般的に参照できるファイル形式なら自由。
- 提出期限:3週間後。
質問相談のタイミングが遅いと間に合いません。早めに取り組み、わからない点はどしどし相談ください。
- 参考: 課題レポート2に続きます。
- 提出先:
第3回: データ処理演習
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料
- ダウンロードしたデータセットに機械学習を適用する流れ
- Pandas入門(7.3 基本統計量ぐらいまで?)
- Numpy入門
- Matplotlib入門
- (おまけ) 映画レビューデータを通したデータ処理演習 (pandas応用例)
- (おまけ) numpy, pandas, matplotlib, sklearn演習問題 => 「1章:入力1次元・連続値出力に対するフィッティング(回帰)」
ユニットテストやGit/GitHubは無視してよいです。
- 機械学習の中身を覗いてみよう *多分来週。
第4回: 機械学習の中身、前回の演習
- 先週のミニテストにも回答をしておいてください。
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料
第5回: 特徴ベクトル、数値データに対する前処理
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料
- 課題レポート2:前処理してみよう
- 提出先:
Googleドライブのreport1フォルダ内に、「report2」というファイル名で提出。
- 提出期限:8回目の 授業開始前。
- 補足:8週目はレポート2に関する討論を予定しています。その際に自身のレポートを説明(発表)する人を数人募集します。発表者と討論参加者はQA討論点数としてカウントします。
- 提出先:
第6回: カテゴリデータの取り扱い
- 予告:課題1,2の発表、再来週(第8回)。
課題レポート1,2について紹介する人を数人、当日募集します。一人あたり10分程度で紹介。裁量のある課題のため、独自にやった部分(どういう前処理を選んだのか、それはどういうものか、前処理前と前処理後でどう変わったのか等)を中心に説明をお願いします。その後討論をします。
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料
- カテゴリデータに対する前処理
- コード例: カテゴリデータに対する前処理コード例
- 演習:授業資料の下部参照。
- 残り時間
- 演習:入力1次元・連続値出力に対するフィッティング(回帰)。
- 質問対応。
第7回: 自然言語処理入門: シソーラス、カウントと推論に基づいた設計
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料
- 自然言語処理入門:シソーラス、カウントと推論に基づいた設計
- コード例1: NLTK版
- コード例: Spacy 1: Spacyの基本的な使い方
- コード例: Spacy 2: テキストをトークン出現回数でベクトル化する例(Spacy版)
以下はまだ動作未確認。=> 全て動作するように修正済み。時間取れるときに眺めるぐらいの予定。興味のある人は覗いてみてください。
- コード例: Spacy 3: テキストのベクトル化
- コード例: Spacy 4: 係り受けを用いた目的語抽出+ネットワーク描画の例
- コード例: Spacy 5: 極性推定(ネガポジ推定)の例
- コード例: Spacy 6: トピックモデルによるクラスタリング
- コード例: Spacy 7: 特徴的な単語の抽出
第8回: 課題レポート2討論、Spacy入門、深層学習基礎1(導入)
- ミニテスト(出欠確認)
*要Googleアカウント。
- 課題2レポート討論
上限2,3人予定。希望多数の場合は抽選。
数分程度で課題2レポートで取り組んだ内容、結果を紹介。
- Spacy入門: 第7回の Spacy 1, 2。
- 深層学習基礎(その1:導入)
- Google共有ドライブ => toward-transformer => 深層学習基礎(その1:導入)
- 課題レポート3:クチコミデータへ自然言語処理を適用してみよう。
- 提出先:Google共有ドライブのreport3フォルダ内に提出。
- 提出期限:3週間後。
第9回: コード例(bag-of-words, n-gram, 形態素解析, シソーラス等)
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料(Google共有ドライブ => toward-transformer)
- 深層学習基礎(その1:導入)、「システム構築に必要なデータ量」から
- 深層学習基礎(その2:単語表現)
第10回: 深層学習基礎2(単語表現)〜3(言語モデル)
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料(Google共有ドライブ => toward-transformer)
- 深層学習基礎(その2:単語表現)、「対策2 => Word2vec」から
- 深層学習基礎(その3:言語モデル)
第11回: 深層学習基礎3(言語モデル)、深層学習コード例
- ミニテスト(出欠確認)
*要Googleアカウント。
- 授業資料(Google共有ドライブ => toward-transformer)
- 深層学習基礎(その3:言語モデル):「n-gram LMの欠点と代表的な解決策」から
- (時間があれば)深層学習基礎(その4:系列モデリング)
- 深層学習コード例
- 課題レポート4:クチコミデータへ自然言語処理を適用してみよう(深層学習版)。
- 提出先:Google共有ドライブのreport4フォルダ内に提出。 => Teamsへ変更予定。
- 提出期限:3週間後(第14回目)。
以下、調整中。
第12回: 分散表現の発展、転移学習の考え方
- ミニテスト(出欠確認)
*要Googleアカウント。
従来は授業冒頭で実施していますが、今回は授業資料&録画を参照後、回答ください。
- 授業資料
- 深層学習基礎(その5:Transformers)
- 分散表現の発展
- シンプルなファインチューニング例: [ gensim版 | spacy版 ]
- 討論:汎用表現 *「分散表現の発展」8.3.3。
- Transformerを用いたファインチューニング例
- 課題レポート4:機械学習やデータマイニングにおけるFaireness(公平性)について論じよ。
- 提出先:
Googleドライブのreport4フォルダ内に提出。
- 提出期限:15回目の 授業開始前。
- 補足:15週目はレポート4に関する討論を予定しています。その際に自身のレポートを説明(発表)する人を数人募集します。発表者と討論参加者はQA討論点数としてカウントします。
- 提出先:
第13回: 課題レポート3討論、振り返り、(グラフマイニング)
- お知らせ
- レポート遅延提出&再提出の「最終締切」を 8/12(金), 4限目終了後、までとします。それ以降は原則として受け取りません。
- 課題3レポート討論
- 2通りの方法で行います。
- 共通ルール: 発表時間目安10分程度。
全てを説明し尽くすことは求めていません。データセットの説明、どのような結果が得られたのかあたりを概説してもらうぐらいでもOK。
- case 1: 今日発表希望の人は、
Teams(week13-QA)に「今日発表希望します」と書き込んで意思表示してください。書き込み順で発表+討論します。発表者はQA10点。討論参加者はQA2点。
- case 2: 「プレゼン動画アップロード+後日質疑対応」を希望する人は、
(a)今、Teamsお知らせに「プレゼン動画アップ予定です」と返信。
(b) 7/21(木),24時までに動画作成し、一般チャンネルの「課題3プレゼン動画」にアップロード。ファイル名は「presen-rep3-アカウント名」形式とすること。
(c) 7/22(金), 24時まで質問を受け付けます。質問者は week13-QA に書き込み。
(d) 7/29(金), 授業前までに返信。ここまで確認できた時点で、発表者はQA10点。討論参加者はQA2点。
- 先週の振り返り
- ミニテストへの回答結果共有 => Teams/minitest-w12(回答).xlsx
- 授業振り返り
- シラバス、達成目標、評価基準と評価方法
- データマイニング2022振り返り+α(Teams内リンク)
- ミニテスト(出欠確認) 今日はアンケート。振り返り後にやります。
*要Googleアカウント。
- 授業資料 *時間あれば=>来週
- グラフマイニング
- コード例:グラフマイニングの例
第14回: グラフ・マイニング
- ミニテスト(出欠確認)
*要Googleアカウント。
グラフの説明を終えたあとでやります。
- お知らせ
- プレゼン動画1本アップロードされています。
(c) 質問受付: 本日24時まで。week13-QAへ。冒頭に「プレゼン動画(205714)への質問です」のように、何に対する質問なのか分かるように書くこと。
(d) 発表者による回答: 7/29(金), 授業前まで。
- プレゼン動画1本アップロードされています。
- 授業資料
- グラフマイニング
- コード例:グラフマイニングの例
- ミニテスト
- ミニテスト回答レビュー
- 頻出パターン・マイニング *時間あれば。
- コード例: アソシエーション分析の例
第15回: 事例概説、振り返り
- ミニテスト(出欠確認) *要Googleアカウント。
- 授業評価アンケート *知能情報コース学生のみ
- Q&A討論について
- 評価基準にある通り「Q&A討論(10%)」です。一方、そもそも質問がほとんどないため回答するつもりでいた人にとっては点数を獲得する機会そのものがほぼありませんでした。そのため点数が足りていない人で希望する人は、以下の「解説書作成」で補います。
- 解説書作成課題(希望者のみ)
- 授業中に出てきた専門用語(授業資料、参考文献、口頭いずれも可)を最大10個選び、各々について100字以上で解説せよ。
- 出典元の説明文をコピーするのではなく、あなたが咀嚼し、自身の言葉で解説すること。
- 何かを参照した際には出典を必ず明示すること。出典は文字数に含みません。
- 1個あたり1点換算。第14回までのQ&A討論評価については Teams/scoreを参照し、不足点(limit)を自分で確認ください。
- なお、第14回までにQA討論の点数がある学生(発表やTeams討論した学生)は、Q&A討論の点数上限を12点とします。
- 締切は課題レポート遅延提出に準じる。
- 課題レポートの遅延提出について
- 期末試験期間である「8/12(木)まで」は受け取り保証。
- 提出後、メールで報告すること。(メール報告なしは採点されません)
- 授業資料(概説のみ)
- 勉強会について
- 8/5(金), 4限目, 相談対応。教室&遠隔。
- 上記以外に希望あれば、Teams or メールで連絡ください。