コンテンツへスキップ

株式会社アイティーシー

IT技術・データ分析・AI技術のソフトウェア開発会社です。

Kaggle活動記録-7

はじめまして。アイティーシー ソリューション事業部に所属しております、東村と申します。
今回の記事では、私が取り組んだコンペについてお話しできればと思います。

 

今回取り組んだコンペ

Digit Recognizer

 

コンペ内容

手書きの0~9の数字をモデルに当てさせて正答率を競うコンペです。データを見てみるとこんな感じです。

作成したモデル

データの一つひとつは784の数字の羅列ですが、28×28の画像データとして扱うことができます。今回は画像データとして扱い、畳み込み層を用いたモデルを作成します。

作ったモデルは、 畳み込み→畳み込み→全結合 というシンプルなものです。畳み込み層は一つだと心もとないかな…と思ったので二つ入れました。バッチサイズは適当に32とし、最適化関数はSGDを使ってみます。

作成したコードはこちら

 

結果

スコアは0.97946でした。つまり、未知のデータのうち97.9%はうまく当てられたみたいです。結構良いのではないでしょうか。

 

スコア向上

97.9%は低くないとは言え、コンペ上位の方々は軒並み98~99%超えです。なので、ひとまずは98%超えを目指したいと思います。

すぐに思いつく中で実装が簡単なのが、最適化関数をSGDからAdamにすることです。個人的に分かりやすい最適化関数がSGDなのでこれを使いましたが、計算に時間がかかる上に今は改良された最適化関数がたくさん出ています。いたるところで用いられていると噂のAdam、計算も早く安定して精度が出るらしいのでこちらを使ってみます。

(参考:https://qiita.com/omiita/items/1735c1d048fe5f611f80)

 

結果

スコアは0.98875に伸びました。ただし学習曲線をみてみると、少し訓練データに適応しすぎな気もします。

 

最後に

他にも少し学習回数や学習率をいじってみましたが、あまり精度は伸びませんでした。他に思いつくことは、

・回転・拡大縮小だけでデータ拡張

・モデルの見直し

などでしょうか。今の自己ベストが98.8%なので、次はこれらを試してスコア99%超えを目指したいと思います。

最後まで読んでいただき、ありがとうございました。次回の記事もどうぞよろしくお願いいたします。

 

 

20230801_第14回雄町サミット『十八盛酒造(株)』優等賞受賞酒

「第14回雄町サミット」が8月1日(火)に開催され、当社お客様『十八盛酒造(株)』様の『多賀治』が優等賞受賞酒に輝きました。
アイティーシー社員一同、心よりお祝い申し上げます。

「第14回雄町サミット」:https://omachi.marumaru-okayama.jp/
“幻の酒米”と言われる「雄町」の主産地である岡山県の酒米生産者と酒蔵が、「雄町」を原料にした日本酒をより多くの方に、知ってもらい、好きになってもらいたい。
という思いから開催されているイベントです。
同一原料米の日本酒が全国各地の蔵元から集まり、「唎き酒会」(飲食店・酒販店・酒造会社等限定)と歓評会の審査発表を開催。
本年は、一般の方も参加できる試飲懇親会の開催も実施しました。

雄町サミット2023.8.1雄町サミット登壇
多賀治多賀治参加メンバー

岡山のり天

↑個人的には「岡山のり天」もおいしかったです!

アイティーシーと十八盛酒造(株)の取り組みはこちらから

Kaggle活動記録-6

はじめまして。アイティーシーの平垣と申します。
本記事は、Python・機械学習・kaggle全くの初心者である私が取り組んだKaggleコンペティション(おなじみのTitanicですが…)のご紹介です。

今回取り組んだコンペティション
Titanic – Machine Learning from Disaster | Kaggle

コンペティションの内容・目的
タイタニック号の遭難事故での乗客データから、誰が生存し生き残るか?を予測するコンペティションです。
乗客データは、学習用データと訓練用データに分かれており、名前・年齢・性別・社会的地位などの情報が与えられています。
生存には、運の要素のほかにもこれらの要素が関係あったと考えられていて、この問いに答える、より正確な予測モデルを作成することが目的です。

学習・分析データについて
このコンペティションの学習・分析データが以下の3ファイルです。

  • train.csv(学習用の乗客データ)
  • test.csv(分析用の乗客データ)
  • sample_submission.csv(提出ファイルのサンプル)

各ファイル内の項目については、以下をご参照ください。

Titanic – Machine Learning from Disaster | Kaggle

実践
上述の通り私は、Pythonや機械学習については未経験ですが、Titanicのコンペでは有志の方が作成しているチュートリアルガイド(Titanic Tutorial | Kaggle)があるため、その通りに進めることでひとまず予測モデルの作成をすることができました。

<チュートリアルの内容>
チュートリアルでは、特徴量として学習用データの客室のグレード、性別、同乗している配偶者、兄弟、親、子どもの数を使用し、ランダムフォレスト・モデルを構築し、訓練用データの乗客の生存予測を行っていました。
このチュートリアルを完了して、提出した時点のスコアは0.77511でした。

<Fare(旅客運賃)の追加>
このスコアを向上するために、知識がないなりに何かできないかと考えた結果、特徴量として学習用データのFare(旅客運賃)も追加して、再構築してみることにします。

Fare(旅客運賃)を追加した理由としましては

  1. 高い運賃を払える人ほど、生存率が高いのではないかと仮定
  2. 生存率との相関係数を確認したら0.25であり、弱い正の相関があることが判明

以上2点から追加してみることにしました。

ただ、直接チュートリアルのモデルに特徴量として学習用データのFareを追加し、再構築しようしても、訓練用データのFareに欠損値が1つあり、うまくいきませんでした。

解決策について調べてみると、前処理というものが必要らしく、欠損値を埋めるか削除しないといけないそうです。
今回の場合は、欠損値が訓練用データの値なので削除はよくないだろうと考え、欠損値を埋める方向で行きます。
どの値で欠損値を埋めるか決定するために、まず訓練用データのFareの分布図、平均値、中央値を求めました。その結果、平均値と中央値の値に差があり、分布図も歪んでいたので欠損値として、中央値を用いることに決定しました。
そして、モデルを構築して再び実行。スコアは0.77751
気持ちばかりスコアが上昇しました、、、

<Age(年齢)の追加>
さすがにもう少し、スコアが向上してほしいので今度は、Age(年齢)も特徴量として追加してみることにしました。
Ageは欠損値が多くあり使いにくいなと思っていたのですが、生存率には関係があるだろうと仮定し、中央値で欠損値を補完しました。
モデルを構築し、再び実行。スコアは0.78229となりました。
前モデルよりはスコアの上昇が見られたのでやはり年齢は重要な要素であるのかなと予測できます。

所感
その後も、特徴量全部追加(スコアは減少)やAge・Fareの欠損値を平均値で追加(スコアは上昇)などを行いましたが、いずれも微々たる変化でした。
よりスコアを上昇するには、きちんと学習して、前処理やデータの加工方法、新たな分析モデルについての知識を吸収する必要性を感じました。

今回、初めてTitanicのコンペティションに参加しましたが、噂通り機械学習やkaggle初心者の方にとてもおすすめです。
チュートリアルでモデルの作成をするので、知識がなくてもその土台の上で自分なりにモデルの再構築が行えます。
また、スコアという目に見える形で結果がわかるのでモチベーションを保ちやすいのもいい点ですね。

以上で本コンペティションの取り組みは終了とします。
今回作成したコードはこちら(My first Titanic | Kaggle

最後まで拝読頂き、ありがとうございました。
今後も精進してまいりますのでまたの更新をお待ちください。

Kaggle活動記録-5

KaggleのCompetitionsで手書き数字認識に挑戦!
MNISTデータセットを使って99%の予測精度を達成

こんにちは、アイティーシーの平野です。
普段は基幹システムの保守運用を行っていますが、
今回はKaggleのCompetitionsに挑戦してみました。

【今回取り組んだコンペティション】
画像処理に興味があったので、GettingStartedの中から「digit recognizer」と呼ばれる
画像処理の課題にチャレンジしてみました。

【コンペの概要】
手書き数字が書かれた0から9までの数字を学習し、
与えられた画像から数字を判断できるモデルを作成するというものです。

この課題では、有名なデータセットであるMNISTが使用されています。
MNISTは、機械学習や画像処理の世界におけるHello Worldとも言われるほどポピュラーなデータセットです。

【取り組み結果】
CNN(畳み込みニューラルネットワーク)を利用してモデルをトレーニングしました。
詳しいコードや実際の結果は、以下のURLからご覧いただけます。
→ URL: https://www.kaggle.com/code/katsuya1112/digit-recognizer/edit

なんと、予測精度は99.096%に達しました!
現時点でのリーダーボードは402位でした。リーダーボードを見ると、驚くべきことに100%の予測精度を達成している参加者もいるようですね。すごいです!

100%の精度を出すにはどうすればよいのかと考えてみましたが、CNNのアーキテクチャの変更、学習回数を増やすなどしか思いつきませんでした。
どんな方法を使ったらそこまでの精度が出るのか気になります。

Kaggleには、多くの参加者が公開しているコードや情報があります。
これらを参考にしながら取り組むことで、意外と簡単に動かすことができました。
わからないコードは、今はやりのChatGPTに教えてもらったので、理解がスムーズに進みました。

画像処理に興味がある方はぜひこのコンペに参加してみてください!

————————————————–
自己紹介
経歴:2019年度入社。入社後から現在まで、電力業界向けSAPパッケージ(ERP,BW)の運用保守を担当。
kaggleアカウントページはこちら:https://www.kaggle.com/katsuya1112

 

兼業人材オンラインコミュニティ『OKAYAMA ITC Co-Worker』オープン

弊社では、兼業人材とのコラボレーションを推進しております。
具体的には大手企業等に在籍されている営業・人事・広報・法務の方とコラボレーションし、中小企業である弊社に専門的な知識・ノウハウを供給いただいております。
また、大手企業等では経験できない仕事を体験をしていただくことで、兼業人材の方のスキル・キャリアアップにも繋がっており、Win-Winの関係になっております。

Mission

『OKAYAMA ITC Co-Worker』
今回、そうした兼業人材のみなさんとオンラインでつながる仕組みとして、Slack上にオンラインコミュニティをオープンしました。
Slackを活用したオンライン上で展開されるコミュニティなので、どこにお住まいの方でも、気軽に参加することができます。
既に、エンジニアや営業などの方に参画いただいております。当社での兼業に興味のある方は、以下までご連絡ください!

https://www.itccorp.co.jp/contact_sidejob.html

お申込フォーム

【兼業人材に関するお問い合わせ】

第一弾:兼業人材コラボレーション企画

Devtoolsの新規事業ローンチについて

7/21岡山県立大学で講演を行いました

昨年12月に岡山県立大学にて講演させていただいたご縁で、今回は県立大学の院生向けに「産業技術特別講義」という枠で講演授業を行いました。

テーマは、「データ分析・AI開発の現状と今後~AIを当たり前に~」です。
当社の代表だけでなく、データサイエンティストも登壇し、より深掘りした内容をお話しております。
20名程度の生徒の皆さまにご参加いただき、ざっくばらんな質問やデータサイエンティストを志す方からの熱い質問もいただき、当社の社員にとっても非常に楽しい時間になりました。

また機会があれば学生の皆様とディスカッションできればと思います!

ITC_miyake

【当社代表取締役三宅の登壇】

ITC_oka

【DA事業部岡の登壇】

member

【県立大学の先生方と】

昨年の講演記事はこちら

12/5岡山県立大学で講演を行いました

Devtoolsの新規事業ローンチについて

7/11(火)にDevtoolsの新規事業がローンチしました!

事業詳細は、ITC社HPから
概要としては、世界的に有名なSalesforce開発ツール『DevTools』において、直接求人広告を打てるサービスとなります。

今回のファーストスポンサー(採用求人広告を出していただいた会社様)としては、
FPTさん・サンブリッジさん・バーナーズさんが参加してくれました。
ローンチ後、各社への採用応募ページが順調にクリック数伸びているとのこと、すばらしいスタートになっています!

https://www.xgeek.net/salesforce-devtools-sponsors/

今後もスポンサー企業を広めていければと思いますので、ご支援のほどよろしくお願い致します。

「金融データ活用組織チェックシート」の公開

一般社団法人金融データ活用推進協会(FDUA)から、金融データ活用のあるべき組織の標準をまとめた、「金融データ活用組織チェックシート」の第1.0 版が公開されました。

FUDAは、金融業界・各社の発展や個人のスキルアップに貢献するため、金融機関の実務目線に立ってAI・データ活用の推進に取り組む団体です。

この度リリースされたチェックシートは、「標準化委員会検討メンバー」が中心となり、金融データ活用の在るべき組織の標準を策定し、各金融機関がセルフチェックできる形式となっています。
当社岡も「標準化委員会検討メンバー」として参画しています。

  • チェックシートの目的
    • 各金融機関が自社のデータ活用レベルをセルフチェックし、今後取り組むべき施策を検討する
    • 国内金融機関のデータ活用進捗度を可視化し、業界全体のレベルアップを促進する
  • チェックシートの位置づけ
    • 利用対象を金融機関に絞ることで、金融機関にとって最も有効なチェックシートを作成する
    • 銀行、保険などすべての金融機関が利用対象となる
  • チェック結果の活用方法
    • FDUAベンチマークと比較することで、自社が強化すべき領域・分野を確認する
    • チェック項目や回答補足を参考に、次に取り組むべきアクションを策定する

■プレスリリース
「金融データ活用組織チェックシート」の公開について|一般社団法人金融データ活用推進協会のプレスリリース (prtimes.jp)