振り返り: 2023年1~3月

自然が目覚める季節、新たな始まりの時です。

2023年3月になりました。
年始の抱負で3ヶ月に一回振り返りをする目標を立てたので、 この3ヶ月を振り返っていきます。
ちなみに見出しの文言はChatGPTに春の挨拶というテーマで考えてもらいました。
それっぽいのが出てきて流石すごいなあと思っています。

仕事にはなんとか通えている

復職してから4ヶ月になりますが、仕事には何とか通えています。
今のところ業務制限下で働いており、資料整理みたいな仕事を毎日コツコツやっています。

体調は順調に回復しているつもりなのですが、
元々期限付きだった業務制限が無期限に延長されたりもしており、
会社からはまだまだ復調とは見なされていないように思えます。
なので、引き続き体調回復に努めつつ、仕事が少なくて時間のあるうちにいろいろ小粒の挑戦をしていきたい所存です。

目標について

年始に立てた目標についての振り返りです。
全体的な所感は、MLコンペを一生懸命やれた一方、その代償としてインプット系がやや疎かだったなという感じです。

Objective 1: 適切な目標設定をできるようになる

KR

  • KR 1: このOKRの達成状況を3ヶ月に1回確認する。必要であれば目標自体を見直す。

達成状況

今振り返ってるので順調に達成中。振り返りの間隔としても丁度良い。

Objective 2: インプットの習慣を作る

KR

  • KR 1: 1ヶ月に1冊、本を読む(テーマは問わない)
  • KR 2: 3ヶ月に1冊、機械学習NLPに関する技術書を読む(KR1の1冊に含めても含めなくてもよい)
  • KR 3: 3ヶ月に1回以上、インプットした内容を何らかの形でアウトプットする

達成状況

なんもやってないので、次の3ヶ月で何かやりたい。
コンペに集中しすぎて着手できなかった感じなので、習慣化系の目標はやり方を工夫する必要がある。

Objective 3: アウトプットの習慣を作る

KR

  • KR 1: 1ヶ月に1回以上、ブログを書く
  • KR 2: 3ヶ月に1回以上、人と会話する機会を持つ(ネット・リアル問わない)

達成状況

Qiitaの記事を書いた。割と見て頂けていてありがたい限り。

qiita.com

リアル知人からお誘いを受けてランチに行った。

  • 対面で話す機会が少ないのでドキドキしたが、意外と会話できたし楽しかった。
  • ホームタウンで空いてる飲食店をいくつか知っておくと、人と会うときに便利かもしれない。

Objective 4: kaggleでより上位にいける実力を身につける

KR

  • KR 1:年に4つ以上のコンペに参加する
  • KR 2:画像or動画コンペに1つ以上参加する
  • KR 3:論文・書籍を参考にした実装をコンペにつき1回以上試す

達成状況

以下2つのコンペ・イベントに参加した。

benzaiten.studio.site

www.kaggle.com

  • 弁財天は予選敗退だったので、やや悔しかった。
    • 提出したメロディも納得いくものではなかったので、致し方なかったと思う。
    • 予選も本戦イベントの観戦もとても楽しかったので、次回もぜひ参加したい。
  • kaggleのLECRコンペは銀メダルだった。
    • 弊社データサイエンス部門のスーパーエースである@youjo_DSさんとチームを組んだ。
    • 業務が多忙すぎてsubmitの時間割けてなさげであったものの、情報収集やアドバイス等で色々貢献頂いてとてもありがたかった。週一のディスカッション時間を割いて頂けたことも、モチベーション維持に繋がったので良かった。
    • 論文実装も含めて色々な手段を試せたコンペだったので、非常に有意義な時間を過ごせたと思う。
  • 同時期に2つコンペに出るとかなり消耗するので、今後はなるべく1つに絞りたい所存。

Objective 5: 心身の健康を維持する習慣を身につける

KR

  • KR 1: 週に4日以上、20分以上のジョギングをする
  • KR 2: 週に1日以上、10分のマインドフルネスを行う
  • KR 3: 体重を年始と比較して5kg以上減らす

達成状況

  • 最初の頃は順調だったが、コンペが佳境になると全部吹っ飛んだ。
  • 体重は3kg増えた。
  • 次の3ヶ月で改めて習慣化したい。
  • 運動した方が良いアイディアが出やすい気がするので、コンペ中もなるべくジョギングした方がいい気がする。

今後について

1~3月はコンペ参加に重点をおいた形になったので、
次の3ヶ月はインプットと体調改善に重点を置いて活動したいと思います。
より具体的には、以下いずれかを目指す感じになるかなと。

とはいえ人の気分というのは変わりやすいものなので、
面白いコンペが生えたらフラッと参加するかも知れないし、
急にお金が欲しくなって株とか仮想通貨botに手を出し始めるかもしれません。
柔軟に、後悔のないように生きていきたい所存です。

2023年の抱負

明けましておめでとうございます

2023年になりました。本年も何卒よろしくお願いいたします🎍
年の初めということで、今年1年の目標を整理しました。

今年の抱負

目標設定のセンスを磨きたい

  • 今までの人生を振り返ると、自分の能力に対して大きすぎる目標を立てて案の定破綻し、凹んだり体調を崩したりすることが多かった。
    • キャパシティ以上の仕事を引き受けてしまって、大量の残業が発生して体調を崩す、とか。
  • 目標の達成状況を定期的に確認して見直すことで、自分の能力に見合った目標を立てる能力を身につけたい。

インプットの習慣を作りたい

  • kaggle、業務、プライベートいずれにおいても、知識の引き出しが少なくて問題解決がうまく進まない感覚があるため、知識を増やしたい。
  • すぐに物知り博士になるのは無理なため、インプットの習慣を作りたい。
  • 直近では、機械学習(特にNLP)の体系的な知識を得たい欲求があるため、そこから始めたい。
  • それ以外にも、興味を持ったテーマについては積極的に吸収していきたい。

アウトプットへの抵抗を減らしたい

  • 昔から、自分の意見を表明することへの恐れが強くて困っているため、克服したい。
  • いきなり対人コミュ強になるのは無理なので、ブログで自分の意見を整理して発信することから始めたい。
  • 対人で相手に意見を話す機会も確保したい。

kaggleを引き続きやっていきたい

  • 引き続きコンペに取り組むことで、実力を磨いていきたい。
  • できれば金メダルを取って、クソコンペマスターの汚名を払拭したい。
  • 画像コンペに興味があるけど出た事がないので、出たい。
  • 地道にコツコツ取り組んではいるが、クリエイティブな解法を実装できた事がないので、できるようになりたい。

心身の健康を維持したい

  • 去年は一年中メンタル不調で非常につらかった。二度と再発したくないので、再発しづらい状態を作りたい。
  • 運動、体調記録、マインドフルネスの習慣がついていると良い。
  • 体重がかなりデブっていて健康上のリスクがあるので、できれば痩せたい(5~10kgぐらい)

OKR形式で目標を立ててみた

@sinchir0さんの記事↓に影響を受けて、OKR形式*1の目標にしてみました。 sinchir0.hatenablog.com

  • Objective 1: 適切な目標設定をできるようになる(無理しすぎない、且つ野心的な目標を立てられるようになる)

    • KR 1: このOKRの達成状況を3ヶ月に1回確認する。必要であれば目標自体を見直す。
  • Objective 2: インプットの習慣を作る

    • KR 1: 1ヶ月に1冊、本を読む(テーマは問わない)
    • KR 2: 3ヶ月に1冊、機械学習NLPに関する技術書を読む(KR1の1冊に含めても含めなくてもよい)
    • KR 3: 3ヶ月に1回以上、インプットした内容を何らかの形でアウトプットする
  • Objective 3: アウトプットの習慣を作る

    • KR 1: 1ヶ月に1回以上、ブログを書く
    • KR 2: 3ヶ月に1回以上、人と会話する機会を持つ(ネット・リアル問わない)
  • Objective 4: kaggleでより上位にいける実力を身につける

    • KR 1:年に4つ以上のコンペに参加する
    • KR 2:画像or動画コンペに1つ以上参加する
    • KR 3:論文・書籍を参考にした実装をコンペにつき1回以上試す
  • Objective 5: 心身の健康を維持する習慣を身につける

    • KR 1: 週に4日以上、20分以上のジョギングをする
    • KR 2: 週に1日以上、10分のマインドフルネスを行う
    • KR 3: 体重を年始と比較して5kg以上減らす

具体的な行動に近いレベルまでブレークダウンできたっぽいので、いい感じです。
でもちょっと多くなりすぎてる感があるので、今後優先度の低いものは削っていくと思います。

終わりに

目標を立てることで、自分が何をしたいのかが整理できてスッキリしました。
3ヶ月に1回くらいのペースで達成状況をチェックしていきたいと思います。
本年もよろしくお願いいたします。

2022年の振り返り(kaggle編)

この記事は

今年からkaggleに本格的に取り組み始め、幸運にも1年でKaggle Competitions Masterになることができました。
この記事では、今年参加した3つのコンペについて振り返っていきます。
これからkaggleに参加される方の参考になれば幸いです。

目次

参加したコンペ

Jigsaw Rate Severity of Toxic Comments

www.kaggle.com

NLP×毒性スコア予測のコンペで、データセットを自分で用意する必要がある点が特徴的でした。

途中までソロ参加でしたが、終盤でチームマージのお誘いを頂き、colum2131さん、MSTさん、Naoismさんのチームで参加しました。
チームメイトがみんなつよつよだったので、議論についていくのが精一杯ではありましたが、optunaを使ったアンサンブル手法を提案したり、最終モデルのweightは結構高かったりで、一定の貢献はできたのではと思います。

とはいえpublic LBが崩壊してたりprivateにひどいリークがあったりして、金を取ったからと言って自慢をしづらいコンペになってしまったのは残念なことでした。 *1
コンペ参加中はとても楽しかったのであんまり悪く言いたくはないのですが、早く別のちゃんとしたコンペで金を取りたいという気持ちは、次の金を取るまでは消えないと思います。

U.S. Patent Phrase to Phrase Matching

www.kaggle.com

NLP×数値予測のコンペで、評価指標が相関係数というのが特徴的でした。
銀圏の結構上の方まで行けたので、解法についてドヤりたい気持ちが強いのですが、特別なことはほとんどしておらず、↓の記事を参考に多様性のあるモデルをコツコツ量産してアンサンブルしていました。

qiita.com

画期的な何かを思いつかなかったから金には届かなかったという結果なのですが、逆に考えると、適切な方法でコツコツ取り組んでいれば、特別なスキルがなくても銀圏までは行けることがあるとも言えるので、今後もコツコツ取り組む精神は忘れずに生きていこうと思います。

American Express - Default Prediction

www.kaggle.com

  • 結果: 155位、チーム銀

匿名特徴量のテーブルコンペで、リアル友人のShotaさんとチーム参加しました。

参加時点で残り期間1ヶ月ということもあり、基本戦略として「思想の異なるモデルをそれぞれで作って、最後にアンサンブルしよう」という方針を立てました。

  • Shotaさんはデータサイエンス的にカラムを分析して特徴量を作ったモデル
  • CALPISは機械的に特徴量を量産したモデル

結果として、それぞれのシングルモデルはメダル圏外だったものの、アンサンブルすることで銀圏に届く結果になったので、戦略がうまくハマったのかなと思っています。

反省点としては、私の作ったモデルはCVスコアは高かったものの、LBスコアはPublic, Private共にパッとしないスコアでした。
おそらくTrainデータにoverfitするような特徴量が含まれていたと思われ、例えば2位解法ではpermutation importanceやTime series CVを使って特徴量を選別しているようなので、機械的に特徴量を生成する時は選別をしっかりしないといけないのだなあと気付かされました。*2

休職中にkaggleをやることについて

コンペの振り返りではないのですが、↓の記事の通り、私はメンタル不調で休職中の身でkaggleをやっていました。

c10000.hatenadiary.com

私としては、業務復帰に向けたリハビリのつもりでやっていたという言い分があるのですが、休職している人がkaggleをやってる場合なのか(療養に専念すべきでは)という議論も当然ありうるのかなと思います。
それは確かにその通りで、実際に休職中にkaggleをやってしまった私の意見としては、休職中にkaggleをやることはお薦めしづらいと言えます*3。理由は以下の通りです。

  • 集中力を要するので、神経にかかる負荷が大きい
  • スコアが上がらない時の精神的負担が大きい
  • 他のチームに追い越されないかという不安が常に付き纏う
  • 休職中にkaggleやってる事を知られた場合、「あいつ元気じゃん」と反感を買う可能性がある*4

とにかく競争要素のある娯楽は精神に負担をかけるものなので、kaggleだけでなくスプラトゥーンとかも避けた方がよくて、リハビリとしてやるんだったら読書するとか数独をやるとか、一人で完結するものをやった方が、病気の治りは早かったのかなと反省しています*5

一方で、技術者はスキルアップからは逃げられないものだし、kagglerは競争しないと死んでしまう生き物というのもまた事実なので、全くやらないのはそれはそれでストレスが溜まるかもしれません。
結局のところ、体調面に不安がある時は無理しない範囲で楽しく取り組む(体調不良や精神の乱れを感じたらすぐに中止する)くらいがちょうど良いのではと思います。

終わりに

Kaggle Masterになれば少しは実力に自信がつくのかなと思っていましたが、
全くそんなこともなく、自分の実力不足を改めてひしひしと感じています。
これからもいろんなコンペに参加しつつ、実力をつけていきたいと思います。

最後に、今年チームを組んで頂いた皆様、対戦頂いた皆様、本当にありがとうございました。 来年も対戦よろしくお願いいたします🙇

*1:colum2131さんの解法ツイートがよくまとまっていて、雰囲気が大体わかりますhttps://twitter.com/colum2131/status/1490863925138968578

*2:単にCVの切り方が適切じゃなかった説もある

*3:お前が言うなという話なのですが、体験してみないと分からなかったということで…

*4:この記事も、かなり反感買うんじゃないかとヒヤヒヤしながら書いています

*5:実際、kaggle断ちしている期間の方が、症状の回復スピードは速かった

2022年の振り返り

この記事は

前からブログを書いてみたいと思っていたのですが、
今年は休職したり復職したりKaggle Masterになったりと色々あったので、
初記事として2022年を振り返ってみることにしました。

目次

自己紹介

初記事なので、軽く自己紹介です。

  • HN: CALPIS10000
  • TwitterとかKaggleをやっています
  • 受託分析企業所属、元データサイエンティスト*1(復職に伴い社内SEに異動)
  • 30代、都内在住、在宅勤務
  • BUMP OF CHICKENが好きで、歌詞分析のLTをやったりしました。

振り返り①: 休職について

去年の秋からメンタル不調で休職しており、今年の12月から復職しました。
一時的に復職していた時期もあったのですが、すぐ体調悪くなって再休職したので、2回目の休職です。
なのでもう慣れたもんなのですが、あまり慣れたくはなかったなあとしみじみ思います。

メンタル不調で出ていた症状

休職期間全体にわたって、主に以下のような症状が出ていました。
実は今も一部は治ってません。

身体症状:

  • 動悸
  • 慢性的な頭痛
  • 慢性的な強い倦怠感
  • 目が疲れてモニタを見続けられない感じ
  • 不眠

精神症状(主に不安症状):

  • 理由のない強い不安感(何かしていないと落ち着かないが、何も手につかない感じ)
  • 先のことを考えすぎて、思考が止まらない(会社をクビになったらどうやって生活するか、とかを一晩中延々考える)
  • 普段なら意識しないような不安にとらわれる(核戦争に対する不安、時間が経過することへの恐怖)
  • 夜になると上記の不安が一斉に襲ってくる

この記事をお読みの方で、同じ症状が強く出ている方がもしいらっしゃったら、
まとまった休みを取るか、医療機関を受診することをお勧めします。

休職から復職までの経緯

「とにかく病気を治さないと、今後の人生が台無しになってしまう」と思い、
限界まで長く休んで、医療機関に通って、症状をできるだけ回復させることに専念しました。
結果として、休職期限が来る頃には(完治していないものの)ギリギリ勤務可能な状態まで回復できたので、方針としては間違っていなかったと思います。

休職前半: 実家への帰省

私の場合、幸いにして両親が健在で関係も良好だったので、
休職初期は実家に帰省して療養していました。
働いてない息子に対して色々言いたいことはあったと思いますが、
何も言わず家に置いてくれた両親には感謝しています。

実家では、当時同居していた甥っ子と戯れたり、近所の公園で鴨を眺めたりして過ごしました。
何も考えない時間を意識して作ろうとしていた覚えがあります。

休職後半: リワーク施設への通所

東京に戻ってからは、主治医の薦めでリワーク施設に通い始めました。
リワーク施設というのは、うつ病等で休職している労働者に向けてリハビリ(出勤訓練とか再発予防指導)を実施してくれる施設で、主に医療機関や公共施設で提供されています。
※ 参考: 一般社団法人日本うつ病リワーク協会 www.utsu-rework.org

私の場合は医療機関のリワーク施設に通所して、以下のようなことをやっていました。

  • 個人作業(PC作業などを2時間程度行う)
  • レクリエーション(ボードゲームとかダーツとか)
  • 自己分析(休職原因の深堀り、再発予防手段の構築)
  • 再発防止のための講義を受講(認知行動療法、マインドフルネスなど)

リワーク施設は居心地が良い上に学ぶことも多く、通所することで目に見えて体調が良くなっていきました。
特に、認知行動療法やマインドフルネスを学ぶことで、思考と自分を同一視しない習慣をつけられたのは大きかったです(極端な思考に囚われて消耗することが減ったので)。

本当に居心地が良かったのでずっと通っていたかったのですが、12月で会社の休職期限が来てしまったので、泣く泣く卒業しました。
また休職した時はお世話になりますので、その時は改めてよろしくお願いします。

復職後~現在

そんなこんなで12月から復職し、今に至ります。
何とか1ヶ月間は継続して勤務できたのですが、疲れが出たのか正月休みの最初2日間は体調悪くて寝込んでいたので、 正月休み中はしっかり休んで疲れを取ろうと思います。

振り返り②: kaggleについて

今年は体調の良い時間をやりくりして3つのコンペに参加し、強いチームメイトと幸運に恵まれたお陰で、いずれもメダルを取ることができました。

金×1、銀×2を取れたのでKaggle Competitions Masterになることができたのですが、自信を持ってMasterを名乗るには実力・経験共に不足しているので、今後も引き続きコンペに参加して鍛えていきたいと思います。

参加したコンペについての振り返りを↓にまとめたので、良かったら見てやってください。 c10000.hatenadiary.com

終わりに・来年に向けて

というわけで、今年はほぼ丸々休職していて、セルフケアに注力した1年でした。

休職というとネガティブなイメージですが、働いていた頃よりも自分と向き合う機会を多く持てたので、むしろいつもよりも実りのある年だったのではないかと思います。(もう一回病気になりたいかと言われるとなりたくないですが…)

来年は今年学んだ事を活かして、心身ともに健康的な生活を目指していきます。あとkaggleで金メダルをもう一個取りたい。

最後に、今年私に関わって下さった全ての皆様に感謝を申し上げます。
来年も引き続きよろしくお願いいたします🙇

*1:会社から与えられた職名は、時期によってデータアナリストだったりデータエンジニアだったりと変更があるのですが、一番長く名乗っていた職名で書いています。