Archive for the ‘データマイニング班’ Category

実験3(データマイニング班)最終発表

木曜日, 7月 30th, 2020

今日の3限目〜4限目にかけて、データマイニング班の最終発表があります。ZoomリンクはMattermostのwelcome_random_eventに流すつもりなので、興味ある人は覗きに来てください。質問とかしてもらってもOK。

日時:2020年7月30日(木), 12:50〜16:10
 *冒頭5分程度で進め方を説明。
  その後は1グループあたり発表&質疑20分+當間指摘数分の予定。

G1
タイトル:嵐の誰に似てるか識別する
概要:有名人の誰に似ているかを元にアプリ構成を考えました。しかし、今回は学習時間の都合で、嵐のメンバー5人の誰に似ているかを第一目標としてこのツールを作成しました。
方法としては、顔や目を検出できる学習済みのファイルであるhaarcascadeを使って、嵐のメンバーと自分の顔写真の顔パーツを認識します。そのデータを用いて、自分が嵐のメンバーの誰に似てるかを数値で表すところまで完成しました。

G2
タイトル:covid19の新規感染者を予測する
概要:日本国内の新型コロナウィルスの感染データを用いて、次の日や来週の感染者数を予測した。新型コロナの新規感染者を予測する際2つのモデルを用意し、その二つのモデルの精度を挙げていき、最終的にどちらのモデルがより正確に予測できたかを判別した。どちらのモデルもある程度の予測できたが、パラメータや機械学習を行う期間はどこが最適なのか、またいきなり爆発的に感染者が増えた場合の感染者を予測することはこれからの課題である。

G3
タイトル:手書きひらがな文字の画像認識
概要:ETL文字データベースを用いて、手書きのひらがな文字の画像認識を行なった。実験の流れとしては、まずmnistを用いた手書き数字の画像認識を実装し画像認識についての理解を深め、その知識をもとに手書きひらがな文字認識の実装を行なった。手法はCNNを用い、その中のLeNetと呼ばれるネットワークを用いた。文字認識については、半濁音を濁音と誤認識する割合が高く、それがついていない文字に対しては7~9割の精度で認識できた。今回用意したデータ数は12075個と少なかったことが原因の一つと考えられる。また、入力データの前処理(画像サイズの調整など)でも予測精度に大きな影響が出たため、モデル構成の他に入力データの質の高さが精度を上げる要因となっていると考察した。

G4
タイトル:機械学習を用いた年齢確認補助ツール
概要:今回の実験では、UTKFaceの20,000以上の顔画像データセットを元に、年齢確認をする際に効率化を図るツールの開発に取り組んだ。画像認識モデルはEfficient Netを使用している。機械学習を用いて予測年齢が15歳から40歳の人に対して年齢確認を行うように促進するように工夫した。また、パラメーターの調整を行いがら予測精度の向上を測った。コンビニエンスストアやスーパーマーケットなどのお酒やタバコを取り扱う店舗で年齢確認のミスを最小限に留められることを将来の展望とする。

実験4・データマイニング班の発表会

火曜日, 1月 28th, 2020

試験期間中ですが、データマイニング班の発表会があります。興味のある人はどうぞ〜。

日時:2/4(火), 4限目
場所:地創棟508

Group 1:幸福の定義
概要:kaggleから拾ってきた「世界幸福度調査」を元に,約150ヶ国の幸福度データをとても高い(幸福),高い(準幸福),低い(準不幸),とても低い(不幸)の4つのグループに分類し,機械学習によってどのようにグループ分けされるかを決定木分析によって調査する。拾ってきた初期状態(前処理等をしていない状態)のまま学習させた結果と,前処理(One-hot, 特徴の追加)を行なった後の制度の比較を行い,どのような特徴が幸福度に影響を与えるかを考察する。

Group 2:表情識別実験~リアルタイム表情認識~
概要:今回の実験では「怒り」「嫌悪感」「恐怖」「幸せ」「悲しみ」「驚き」「中立」の7つのクラスのいずれかに属した35,887個のグレースケール画像の含まれたデータセットを用いてリアルタイムでの表情認識実験を行う.機械学習を進めていく際、学習器にCNN、parameterの調整にGAP(Global Average Pooling)、畳み込みの分離を用いて行う.表情認識に加えて、男性女性の識別も同時に行う.

Group G3:人工知能を用いた競馬予測
概要:今回の実験では競馬の順位を予測を目標に、機械学習を行なった。使用したデータは競馬のウェブサイトにあるデータを収集して使用した。実際使用したモデルはlightgbmという決定木アルゴリズムのような学習機をしようし、パラメーターチューニングを行いつつ予測精度の向上を測った。

Group 4:Adversarial 攻撃に抵抗性を持つモデル
概要:Adversarial attackはモデルが予測することを踏まえ、gradient noiseをかけてわざと予測値を妨害する攻撃である。最近プライベートなコミュニティにはイメージに特定のノイズを添加してイメージの流出時にイメージに添加されたノイズを識別子で犯人が誰だか見つけ出す方式のセキュリティ機能を多く使っている。 このノイズは普通-3~+3の間のランダムなノイズで構成されていてその中に固有なコードが入っているというふうだ。ためにコミュニティを利用する利用者たちは皆が人間の目にはように見えるが、いずれも微妙に異なったイメージを見ているのだ。お互い違う利用者が持ったようなイメージを機械が同じ分類をしないことを見て、この研究アイデアを着眼することになった。識別子ノイズが偶然gradient noiseと同様になればなるほど、予測に対する妨害が大きくなる。ために、われわれはmodelがあるいはイメージがAdversarial attackに抵抗性を持たせ、ノイズについての備えをしなければならない。

Group 5:機械学習を用いたポケモンのタイプ判定 Season2
概要:前期実験の「機械学習を用いたポケモンのタイプ判定」の引き継ぎをする。前期実験のランダムフォレストとCNNの精度を改善しながら、他の学習器も用いてどのような結果になるか確認する。また、画像データを改造、重さの値を扱って、判定に影響が出るかを実験する。

実験3・データマイニング班の発表会

水曜日, 7月 31st, 2019

明日になりますが、データマイニング班の発表会があります。興味のある人はどうぞ〜。

日時: 8/1(木), 3限目
場所: 地創棟508

Group 1: LinearRegressionを用いたアニメタイトルの略語予測
概要: アニメのタイトルなど様々なものの略称には何かしらルールがあるものと仮定する。我々は略前略語のタイトル群を教師データに、主に回帰分析などの様々な機械学習手法を用いてその法則性を発見することを目的としている。さらに略前のタイトルから、これから略されるであろう略称を予測し提供することを最終目標にしている

Group 2: インスタ映えする画像の判別機
概要: インスタグラムユーザがよく使う「インスタ映え」を投稿された画像から推定し,インスタ映えする画像かどうかを判別するモデルを,CNNを用いて作成する. 「インスタ映え」を満たす要素を判別するモデルを個別に作成し,それらのモデルを用いて, 入力画像をクラシフィケーションする。

Group 3: バズりやすい動画の予測分析 ( YouTuber編 )
概要: YouTubeにある動画の中でヒカキンTVがどのような動画でバズるのか予測分析する。回帰分析や決定木を用いてバズるための特徴量を探し、その特徴量が多く含まれるジャンルの動画はどういったものかをクラスタリングする。

Group 4: ポケモン画像のタイプ分類
概要: ポケモンの画像とそのポケモンのタイプを学習させることにより、与えられたポケモン画像のタイプを判別することを目的とした。CNN を利用し、多クラス分類や多ラベル分類、クラスタリング、ランダムフォレストまたデータ数が十分でなかったため交差検証、データ水増しを行った。これらのことからポケモンのタイプ判別に対して、どの手法が適しているかを検証した。

Jupyterが正義という訳でもない

木曜日, 6月 27th, 2019

3年次の学生実験は、教員一人あたり数人〜10数人程度での実施になることが殆どなので、その分細かい指導がしやすくて。データマイニング班前半はこんな感じで、授業寄りの基礎演習をやってて、後半はグループ単位での開発実習をやらせてます。

これも単に「やってて疑問に思う所あったら聞いてね」とか、「たまに見て回る」ではなく、進捗確認を兼ねた作業レビューをしています。ここでいう作業レビューとはペアプロとかモブプロに近いもので、大型モニタに接続して貰った状態で、内容確認しながら作業してもらい、その様子を見て気になる点へアドバイスし、実際に一緒に問題発見してみたり、修正してみたり、場合によってはググり方とか考え方を提示するに留めて考えさせてみたり、といったことをやっています。

ここ数年でよく見る宜しくないパターン(=Jupyter広まってから増えてるパターン)は、

  • デバッガを使うことを意識していないケースが少なくないこと。
  • Jupyterで書いて、後でライブラリとして使うように整理し直すことをしないこと。(毎回そこからコピペでその後も作業しがち)
  • Numpy/OpenCV/TensorFlowとか便利なライブラリ使いつつ、ドキュメント参照しないこと。(怪しい解説記事を鵜呑みにしがち)

かな。関数の戻り値が何なのか分からないまま、に使ってるとかありがち。

printデバッグが多いとか、ググる際のキーワードの不適切さ(バズワードだけで検索するとか)は昔からか。

そういうのも含めて、実際に目の前で見ながら指摘してあげることができる時間ですね。プログラミングに限らず、こういう「実際の過程」に対するレビューというのは、一子相伝じゃないですが、それなりに価値があることだと考えているので、やめるつもりはありません。

私の指摘事項が古くなるという側面はありますが、、(遠い目)

次元の呪いや過学習をイメージできるのが山場の一つ

木曜日, 5月 16th, 2019

データマイニング班の目標の一つが、

[ 解説記事: 怪奇!! 次元の呪い – 識別問題、パターン認識、データマイニングの初心者のために ]

を読んで、ある程度のイメージを得られること。これまでの流れとしては、
・簡単なモデルを例示し、
・そのモデルを仮説としたときの適切なパラメータを求めたい。
・そのために損失関数を定義し、
・その関数が最小となるパラメータをOLS/GDで求める。
・これだけでは「そもそも仮定としたモデルがどの程度妥当なのか」を説明できない。
・それ以前にデータセットにはエラーやノイズが交じる。
・データセットを信用しすぎて学習した状態を過学習と予備、それをどうにか避けたい。
・代表的なアプローチがペナルティ項の導入や、交差検証でチューニングしたモデルに対するテスト。

みたいな話をしてきてて。これらの振り返りや、説明が足りていない部分を補う意図で、毎年、前述の解説記事を読ませています。割と好評。

OLS vs GD

木曜日, 5月 9th, 2019

までやったという訳でもないですが、データマイニング班の機械学習の基礎を抑えるということで、線形回帰モデルを例に前回「モデルとは何か、パラメータを求めたら良いのか」みたいな話をしてて。

今回はそれを実際に実装してみようということで、クラス設計〜テスト駆動開発〜OLSの実装に向けた式展開〜実装、を体験してもらい。GDについては式展開だけをしておき、fit関数を実装してみてる演習時間にしました。流石にいきなりの実装は難しかったっぽいが、ま、内部のイメージを少しでも持ててもらえれば。

機械学習のイメージを持たせるモデルをパーセプトロンにした方が良いかなと思いつつ、今の所は毎回線形回帰にしてます。特に主義があるというよりは、線形回帰の考え方を知らずに卒業させるのに抵抗があるぐらいの気持ち。ただ、知能情報コースになってからはデータサイエンス基礎の中でやってるようなので、より実装中心の設計にして時間を短くすることはできそうかな。とはいえ、モデルの背景やら含めた考え方を忘れた人が、そのまま実装っぽいことをやってみたとしても無駄な時間になりがちなので、最低限の説明はどうしても必要になりそうではある。

同じく「知らずに卒業させたくない」という理由で、主成分分析もやりたいと思いつつ、実験がメインの授業でそこまで講義時間取るのもなということでやれてないな。あれこれ細かい部分については後期に新しくやる専門科目に取り込んでみる予定ですが、予定は未定ともいうな(何)

モデル

木曜日, 4月 25th, 2019

デジタル大辞泉でいうところの3番目、「ある事象について、諸要素とそれら相互の関係を定式化して表したもの。」の方。

3年次実験のデータマイニング班で、ツールの一つとして機械学習外観する流れでモデルの話を。概念的な話だけでは伝わらないし、概観したいので、例示として線形回帰を題材に、
・何がモデルで、
・モデルを導入することで何をしたいのか、
・このモデルにおいて何をすることが学習なのか、
・機械的に学習させるにはどうしたら良いのか、
といった話をしてました。

実験なので手を動かす部分も用意しましたが、今はまだ勉強部分がメインですね。

データマイニング班の成果発表(と打ち上げ)

火曜日, 2月 5th, 2019

データマイニング班の最終発表が終わりました。内容的には「機械学習を使ってみよう」で、応用を通してどこにどういう手間がかかるのか、問題や評価の設計の難しさを味わってもらってます。

Group 1: 人気ツイートのトレンド予測器
Group 2: クラスタリングを用いたおすすめ授業の選出と考察
Group 3: 機械学習によるセンター試験解答正誤分析
Group 4: 犬か猫の判別器

身の回りにあるデータを選ぶグループはデータ準備自体にも時間かかりますし、それ以前のどういうデータを集めるべきかがなかなか決められないこともあります。結果的にダミーデータでやってみるケースもありますが、それでも「一度通して最後までやってもらい、その最後から次に進むには何が足りてないか」とか。グラフ化するのは良いけど単位がないとか。そもそも結果が数値化されてないとか。あれこれ突っ込んでますが、卒業研究前のプレ研究といった位置づけでやってます。

授業後にやってるということもあって、終わった後は打ち上げ。お疲れ様でした!

データマイニング班発表会終了

火曜日, 2月 6th, 2018

プログラムはこんな感じ。今年度のデータマイニング班の成果発表会だか最終発表会だかが終わりました。残作業はまだありますが、これで一段落付きますね。多分。恐らく。ソーダトイイネ!

毎年何かしら打ち上げ的な何かをしてるんですが、今回はpippiのサンド&コルネ祭りに。お疲れ様でした!

データマイニング班最終発表2017(プログラム)

金曜日, 2月 2nd, 2018

来週の火曜日に、データマイニング班の発表会があります。興味のある人は覗いていって下さい。

期日: 2018年2月6日(火), 14:40-
場所: 地創棟508

<プログラム> *時間は目安です。
前準備・オープニング, 14:40-15:00
G1翁長&多和田「pixivの人気イラストの特徴を調べる」, 15:00-15:20
G2箕輪&宮城&松永「機械学習を用いた小説のジャンル推定」, 15:20-15:40
G3川上&當間&茂島「ツイート間の類似度判定」, 15:40-16:00
G4金城&與儀「車両データから車両価格を推定するために、データセットを弄っていたら精度が落ちちゃった!?」, 16:00-16:20
振り返り・クロージング, 16:20-
お茶会的な何か, 16:40-