わくわく計算ライフ

ゲーマーによる節約生活。はじまります。

この上なく雑に始めるディープラーニング① - 導入編 -

近年ではそっち方面で無くても聞くことが増えたディープラーニング
これをこの上なく雑に始めようという解説をしてみます。

この上も無く雑に始められるようにするためになるべくシンプルに書きます。   故に後から見ると「それはないだろ」って項目も出てくると思うので、まぁ扱ってみて気に入ったらちゃんとした資料で勉強していただければと思います。

1. ディープラーニングって何ぞ?

最近AI, AIってニュースで聞くときはディープラーニングが使われていることが多いです。
比較的新しい世代の技術でいろんな意味で凄いのが特徴です。

  • 精度が凄い
  • 計算にかかる時間が凄い
  • ゆえに使うコンピューターも凄い
  • めちゃくちゃ多量のデータを突っ込まなきゃならんのが凄い

とかいろいろです。
おとぎ話的に言うと、コンピューターに問題と正解のセットを多量に投げつけて学習させることで、賢くし高い精度を出すことができる手法です。
コンピューターが勉強をすることで教えていない問題に対してもかなり高い精度で回答してくれるようになります(出来ないやつもあるけど)。

まぁ、エンジニアの皆さんは偉い人からこのおとぎ話を現実の世界に持ち込まれて苦労するんですけどね…。

2. なぜそんな凄いものを雑に紹介するのか

性能は凄いけど、多量の学習用データが必要だしうまく学習させるにもノウハウや数学力がいる技術ですが、なぜか今回は超雑に解説します。
なぜなら、超雑に扱っても解けてしまう問題も存在するからです。

自動車で例えると、別に普通に運転する分には教習所で習う程度のことが分かっていれば走れますし、エンジンとかパワーウィンドウとかが動いている仕組みや原理を知らなくて良いってのと話は同じです。
もちろん、F1のレースで勝つぞ!みたいな話になると、特殊なドライビングテクニックを習得しなければならないし、メンテナンスも日々の洗車やオイル交換程度の話ではダメで各パーツの特性や構造を深く理解している必要があります。

近所のスーパーに買い物に行くのに、F1カーを使わないように、ディープラーニングもある程度小規模で気軽な問題に対しては最低限の交通ルールみたいなものを守れば雑にあつかっても動くんです。
なんか頭のいい人たちが難しい話しているからって使わないのは、競輪を見て「うわぁ…自転車難しそう。ママチャリ買うのやめよ...。」みたいなことなんですよ。
というわけで、限りなくわからない状態でどこまで使えるかを試しに紹介したいというのが今回のモチベーションです。

3. 今回のターゲット読者

今回のターゲット読者としては以下を想定します。

  • OS: Windows
    MacLinuxの人は意識高いしほっといても何とかなるので対象外です。うん。
    お前のMacはスタバで開いて周りを威圧するためだけのツールじゃないだろ?
    あと、職場であんまり環境がきれいにそろっていないWindowsでAIをやれという無茶ぶりの悲しみを知っているからです。
  • プログラミング知識: ほとんどなくてOK
    最初の方はプログラミングしない予定なので殆どなくても読めるようにしておきます。
    何等かのプログラミング言語でfor文とかif文書いたことある~ぐらいで読めるように目指します。
    Python知っていればなお良しですが、知らなくても構いません。
  • 数学知識: 四則演算ができて、簡単な確率の計算ができるぐらい
    10回くじ引いて、3回あたるなら当たる確率は 3/10=30%! ぐらいの話しかしないです。
  • PC : 今回はそこそこ新しめなCPU。4コア8スレッドでメモリ8GBぐらいは積んでてほしい
    なるべく軽いサンプルを用意するつもりです。
    また、えらいひとに「会社でやってみせて」って言われた時のために今回はクラウド使いません!

4. 次回予告

次回!この上なく雑に始めるディープラーニング② - Neural Network Console 編-
ちょっとマシン負荷高いかもしれないけど、プログラム無しでぽちぽちブロック置いて使えるGUIツールだ!
しかもSony様だ日本企業だ。
有料プランもあるよ。 お楽しみに。

朝活の正体見破ったり!

PRML読もうとしてたんですが、他に勉強しなければならない要素が増えたので一旦置いてあります。
読み切る意思はあるけど、最近Udemyとかで統計学のハンズオン講習とかを受講していてそちらを先にしようかと思ってます。

最近、日ベースでの学習効率を上げるために生活を朝方に切り替えたので、考え方・効果などについて整理したいと思います。
参考になれば幸いです。

1. 生活時間帯比較

前提なのですが、あくまで私がいわゆる日勤の業態をとっているので朝活という形になっていますが、夜勤の方などは時間をずらして考えていただくと良いでしょう。

f:id:savaki:20211121110058p:plain
生活時間帯の変更

この図は起床時間を開始で書いています。
各項目は多少時間にぶれがあるので足しても24時間ぴったしにはなっていないです。大体です。
朝に2,3時間活動していますが、出勤時間は基本変わらないので基本的に以前より3時間ほど就寝時間-起床時間が早くなっています。

リモートワークおじになり、殆どの日で通勤が不要になり1日のフリータイムが5時間以上取れるようになったのですが、時間の使い方がうまく行っていないと感じ今回の変更を適用しました。

2.フリータイムの分割

今回の生活時間帯変更で、時間活用の観点でおそらく最も効果が大きいと感じられたのがコレ。
巷でよく言われる「朝は誰にも邪魔されない!」とかは、邪魔なやつからは距離を取れよと思っているので個人的には圏外です。
最初に言っておく。フリーな時間が5,6時間連続してると人間どうなるのかということなんですが…

大抵持て余します

これを解決したのがフリータイムの分割です。以下に効果を説明します。

2.1. 良いコンディションで時間を使える

人間の集中力はそんなにもたないので、連続5時間とか活動すると後半の2時間あたりパフォーマンスが大分落ちます。
これは勉強するにしても遊ぶにしてもそうです。しっかり時間を使うには休憩を挟んだ方がが良い。
ここで、フリータイムを分割する休憩の代わりに、人類最強の休憩である睡眠を挟んでいるのが今回のタイムテーブルのポイントです。
従来は、労働後の疲労した体と魂で5時間ぐらいだらだらやっていたのが、

帰宅後の時間では「まぁ2時間程度なら。」と頑張れるし
起床後は回復しているので問題なく時間を消化できる

これにより無駄に時間を使わなくて済みます。

2.2. 損切リスクの低減

労働完了後に体調が良く無かったり結構疲れていた場合は、従来は夜のフリータイムが丸々つぶれていました。
しかし、朝と夜にフリータイムを分割することでこのリスクを半分に低減できます。
夜のフリータイムを休憩にあてつつ回復し、翌朝のフリータイムまでには復活することで半分は活動時間を残すことができます。
投資で良く言うところの、卵は一つの籠に盛るなってやつですね。

2.3. 起床プレッシャーの低減

最近は目覚まし時計を使わずに起きています。
出勤時間に対して十分早い時間に起きているので多少寝過ごしても問題ないし、起きれない様なら体調が悪いということなのでそのまま寝ればいい。
目覚ましの音で起きると、寝覚めが良くないので「遅刻しないように起きなければ」というプレッシャーが大幅になくなったことで良く寝れるようになった気がします。

3. 気軽にはじめるには

ここまで読んで「自由時間分割を始めたい!」と思った人向けに、挫折しづらい始め方を紹介しておきます。

3.1. まず寝る

人類、当然なのですが寝ないと起きれません。
起床時間から早めていくと、睡眠時間が短くなる期間ができてしまうので、就寝を早めるのがmustです。
ここができれば4割は成功している感じです。

初めは起きれないと思うんですが、「現代人大抵睡眠時間足りてない」のでそのせいだと思います。

3.2. 自由時間中に目的を持った活動を必ず取り込む

意外と起床後に時間を作っても初めは「なにやりゃいいんだ」ってなることがあるので、あらかじめやりたいことをリストアップするなりして、時間の大小は気にせず消化してください。
リストアップするのは「観ようと思ってた映画を観る」「積んでるディアゴスティーニを崩す」とかでも良い。無為に過ごさなければ意識なんて高くなくて良いんだよ!(バン!)
意識的に時間を作り、その中でやりたいことを消化したという成功体験を積むのが大事。

ふむ「成功体験!」とか書くと、胡散臭いセミナーみたいでいいですね。

もちろん、体調が悪い時は二度寝しましょう。

3.3. 2週間は日記をつける

継続の為には、継続しているかどうかを客観的に観察するのが一番。
ちなみにNG行動は「続けてなかったら注意してくれ、と人に頼む」。
人間は弱いので「ちぇ。分ったよ...うるせぇな(ボソッ」ってなる、感じ悪い。こういう大事なところは自分で責任を取らないといろいろ失う。
2週間ぐらい続くと、睡眠が調整される効果とも合わせてなんか活動意欲が出るのであとはモチベなんとかなるでしょう。

3.4. 私にもできるかな...

知るか!
自分に出来るかどうかはやらねーとわかんねーし、個人ごとに事情は違うし、何にでも効く銀の弾丸はこの世には実在しねーんだよ!
そのまま「誰も助けてくれない…」ってボヤキながら地面でも舐めてろ!
できるかどうかじゃなくて、やりたいかやりたくないかで決めろ!

うろ覚えの平均値/中央値

なんかちょくちょく出てくるので、正確なところが不安にならないように、整理しておきまっしょい。
どちらも概念的には「真ん中らへん」を意味しますが細かいところが結構違うので。

1. 平均値

定義は、

すべてのサンプルの値を合計し、それをサンプル総数で割ったもの

数式で書くと N個のサンプルの値がそれぞれ x_kである場合の平均値は

 \displaystyle avg = \frac{1}{N} \sum_{k=1}^N x_k

特徴としては、割り算があることから往々にて値は実数になります。
また、平均値ぴったりの人というのは案外居ません。

よく「一般的な年収の範囲を見るのに平均値を使うな!」ってオコな方が居ますが、値がめちゃくちゃでかい人(もしくは小さい)人が居るとその人が平均に対する寄与が大きくなってうまく真ん中らへんを表せないことが起きます。
具体的には、日本だと年収350万~400万ぐらいの人が多いのですが、中に超大企業の取締役や会社を何個も持っているような方だと30億とかの日ともいます。
30億もあると良くいる年収のレンジの人々のざっくり800倍から1000倍程度になってしまうので大分影響力デカいです。

ちなみに国税庁のところにおいてある統計は平均値を使っていますが「給与所得者の」平均となっています。
いわゆる給与で数億もらっている人は殆ど居ないので、概ね給与所得者でありボリュームゾーンであるサラリーマンの実態を図るのには良い値と言えそうです。
給与が3,000万ぐらいの人は金融業界だといたりしますが、さすがに億越えはあんまり給与所得者では居ないので、これだけでも「普通じゃない人」を計算の対象から除外しています。

平均値が良く使われるのは、物理現象とかとリンクしていること(重心とか)と計算が簡単というとこでしょうか。

2. 中央値

平均値と比べると一気にうろ覚え度が高くなる代表値。
文章でざっくり書くと「大きさの順で並べたときのちょうど真ん中の順位の値」なんですが

  • そもそも並べないと中央値がわからない
  • 簡単な数式で書けない
  • 実は2パターンある

と、微妙にメンドクサイのです。以下に説明していきます。

サンプル数 Nが奇数の場合 :
これは素直。ざっくりの文章の通り、大きい順(または小さい順)に並べて真ん中の順位のサンプルの値を取り出せば終わり。
N=5なら3番目、7なら4番目、  N=2n + 1 なら n番目の値を取ってくれば良い。
サンプルの中に必ず含まれる値であることが大きな特徴と言えるでしょう。

サンプル数 Nが偶数の場合 :
偶数のケースでは順位的に最も中央に近い2個のサンプルの値の平均値が中央値となります。
例えば、4個あった場合は並べ変えたあとの2番目と3番目の平均値となります。
中央に近い2個のサンプルの値が同一であるということが多いのですが、これが異なる場合。
例えば、1, 2, 3, 4と値があった場合は2と3の平均である2.5が中央値になり、これはサンプル中には存在しない値となります。
ちなみにこのケースの場合だけは「中央値を下回るのサンプルが半分を占める」こととなります。
中央値がサンプル中に存在する値である場合は、中央値と同じ値のサンプルが少なくとも2個存在することになるので中央値を下回るサンプルは必ず半分未満となります。  

整数のデータの集計に対して「中央値が整数なのはおかしい!」っていう人がたまにいますが、あの人たちは平均値と勘違いしているのではなくサンプル数が偶数かつ、たまたま中央に最も近い2つの値が違うケースをわざわざデータを並べて確認してくれている丁寧な人々なんですよ!(白目)

3. まとめ

語感だけで、結構適当に扱われている平均値/中央値(特に中央値)、うろ覚えだと明日刺されるのはあなたかもしれない(大げさ)。

楽天モバイルキャリア決済使うかの検討

リリースされたけどSPUが特に美味しくないなーってので放置していたサービスですが、気になる点があったので見直すことに。

1. サービス概要

GooglePlayの利用料を、楽天モバイルの請求に乗っけて支払えるサービス。
他の通信キャリアでも良くあるやつですね。

他社との違いとしては、

  • 楽天モバイルは利用料金をポイント(期間限定ポイントも含む)で支払い可能
  • 月2,000円以上の利用でSPUで+0.5%還元率up

辺りが特徴でしょうか。

2. 既存のGooglePlay料金支払い法

現状利用している支払い方法がギフトコードを購入し、Google Playアカウントにチャージしての支払い。

event.rakuten.co.jp

楽天市場のショップでの買い物扱いになるので、

  • SPU適用
  • 1,000円以上購入で買い回りの対象に(+1%)
  • その他の楽天市場のキャンペーンの適用(0, 5の日他)

自分の場合はSPUが基本7%ぐらいで、買い回り+1%, 0,5の日+2%で10%還元ぐらいが基本な感じです。
サブスクが平均で月2,000円を上回っているのでこれが毎月の基本な感じです。
ふるさと納税する月とかに多少寄せたりして調整することはあります。

これだけ見ると、キャリア決済のうま味ってこのSPUでのバックを捨てて+0.5%。
買い回りを考慮すると-0.5%なんであんまりうま味無いなーってのが基本だと思います。

仮にポイントで支払った場合はこの差がカード決済でのみ適用されるSPU分縮まりますが、逆転はしません。

3.キャンペーンを適用する

期間未定ですが、2020年8月から以下のキャンペーンが実施されています。

network.mobile.rakuten.co.jp

このキャンペーンを適用するとモバイルキャリア決済分の10%、期間限定ポイントが返ってきます。
先ほどの例と比べて遜色ない還元率です。
また、ポイント支払いで考えると従来の支払い法に対して還元率が逆転します。

期間限定ポイントが余ってる!という人はYoutube Premiumなどのサブスクをモバイルキャリア決済にするのもアリ。
キャンペーン期間は今のところ未定なので、いつの間にか終わっていた…みたいなケースには注意が必要ですが。

4. 結論

今のキャンペーンやってる間は期間限定ポイントの消化には使っても良いかもねー。

これから始めるレバーレス生活2021

おじベントカレンダー2日目。
今年はいろんなところからレバーレスコントローラも出てきたし、カワノプロをはじめ大会で成果を上げるユーザーも出るようになってきました。
なので、「使ってみようかな?」と思っている人の為に何番煎じか分らんけれどまとめてみたいと思います。

1. そもそもレバーレスって何?

あ、帰っていいっすよ??

というのもアレなので一応説明すると。
アーケードコントローラーというゲームコントローラーの一種です。
ストリートファイターV等の格闘ゲーム界隈で良く使われます。

格闘ゲーム界隈でユーザーが多いアーケードスティックと比較するのが分かりやすいと思います。

アーケードスティックはその名の通り、左側にそそり立つ棒を上下左右に倒すことで、上下左右の入力が行えるコントローラーです。
一般にレバーレスといわれているコントローラーはこのスティックの部分が4つの独立したボタンになっています。

最も有名なのがhitbox社のhitboxですね。 HIT BOXwww.hitboxarcade.com 今\$249.99か...前\$199.99だった気がする…covid絡みで部品調達とかに障害が出ているのかも…あ、ついでに円安だ…。

f:id:savaki:20211202211015p:plain
hitbox

図中左方の4つの赤いボタンが上下左右に対応しますが、3つ並んでいるボタンが左から順に「左」「下」「右」となっており、少し離れた下にあるボタンが「上」という一風変わった配置になっています。
ちなみに、右下とかは右と下のボタンを同時に押すことで入力できますのでご心配なく。

レバーレスの構造とかテクニック等に関してはここで離すと長くなってしまうので他所に譲りますが、ぱっと思いつくだけでもスティックで、下から上や左から右などの反対側の入力をする場合はスティックを大きく動かす操作は時間が掛かりますが、レバーレスだと左右のボタンにそれぞれ指を置いておいて、押すボタンを切り替えるだけなので素早く入力ができそう!みたいなのは想像できるかと思います。

格闘ゲームのントローラーの種類の中では今までは、「スティックかパッドか?」とう感じでしたがそこに第3の選択肢と言って良いぐらいの存在感でレバーレスコントローラーが入ってきました。

2. 何台もってるん?

hitbox社のhitboxを2台と、QuanbaDroneを自分で改造して作ったモノが1台の合計3台持ってます。
全部でコントローラーだけの総額で約8万円位ですね。
(アト、カイゾウヒヨウガヨンマンクライカカッテルケドナイショダヨ!)

ちなみに3台の内訳ですが、1P用2P用。なんか改造したかった。というごく普通の理由です。

3. 使ってて良いところは?

3.1. プレイフィールが良い

音がスティックよりは静かでいいですね。
あと、プレイしていてコントローラー自体がずれないところとか。
hitbox特有の苦手項目があるものの、おおむねパッドとスティックの良いところ取りみたいな感じで使えます。

3.2. 可搬性が良い

スティックと違ってでっぱりが無く、パーツが軽いので鞄などにも収まりやすく遠征が楽です。
あいにく、最近は遠征しづらい情勢なのはアレですが。

3.3. メンテナンス性が良い

全部ボタンなので、当然ですがボタンのメンテナンス方法だけ覚えればメンテナンスできます。
また、特定の方向の利きが悪くなったとしてもその方向のボタンだけ換えればいいので簡単です。
他にも、スティック1個より方向ボタン4個の方が安いので経済的とかもある。

4. 使ってて良くないところは?

4.1. 初期費用が高い

買うなら筐体がしっかりしたものの方が良いです。
しかし、先述のhitboxなどは今輸入すると輸送費込みで4万近くは覚悟する必要があります。
国内販売も品切れが多く高騰しています。
一方で、自作すると費用が2万程度には抑えられますが、工作得意でないとちょっと大変かもってのがあります。

4.2. 左手が慣れるのに時間がかかる

パッドやスティックで使うことの少ない左手薬指はかなりの鬼門となっているようです。
楽器をやる人は比較的スムーズみたいな話を聞きますが、大正琴はあんまり関係なかった気がするぜ!

4.3. 上下左右に動く系のゲームは感覚的に慣れづらい

上ボタンが下にあるので、画面上を上下左右に動くゲームは感覚を合わせづらいです。
慣れの問題ではありますが。
シューティングゲームとかが特にそうですね。

5. ぶっちゃけベストBuyは?

自分で持ってないのでちょっと言いづらいところはあるものの。 AFGさんのところで製作していただくのが良いのではと思っています。

afg-con.stores.jp

価格は4万円ほどしますが、現在hitboxの値段が様々な要因で上がっているので差がなくなっていることと。
何よりボタンが多いのが良いです。

hitboxは実は、L3, R3, Touch Pad Resetが標準ではついてなくて、自分で改造しないとつけられないんですよ。
しかも、アルミ筐体なので穴開けるの結構大変でした。(アルミ筐体自体は丈夫でカッコいいから良いんだけどね…)
この辺のボタンが無いとですね、トレモが捗らないのである方が絶対良いです。ていうか、hitboxもそろそろデフォでつけてほしい。

ちなみに自分でつけたい人は以下を参考にしてください。
「hitboxのデザインがcoolでいいんじゃぁああ!」って人は頑張ってドリドリしましょう。

docs.google.com

6. 困ったらここを見よう!

日本メインのDiscordサーバ「LEVERLESSLAB」があります。

discord.gg

すべてが置いてあるのでグランドラインを目指してください。
リンクは7日で切れますが、Twitterで叫べば竜神丸みたいにだれか出てきて招待してくれるでしょ。

今更だけどPythonを勧める

ディープラーニングが2016年ぐらいに国内企業でも流行り出してから一気に拡がった感のあるPython
日常的に使ってる身としては「使い方を間違えなければ便利な言語」という認識です。
開発のスキマを埋める感じで使ってます。
利用者としてPythonの良いところ悪いところを紹介していきたいと思います。

1. どんだけ使ってるの?

業務では大体5年ぐらい書いてる。
プロトタイピングと機械学習が多い感じ。
プロトタイプ作った後企画がぽしゃる時が多いと、本番コード書かないので業務のPython率が上がるという悲しみが発生する。

2. ライブラリ(パッケージ)が超絶豊富

万事においてライブラリが豊富です。
余りにライブラリが豊富過ぎて自分の存在価値に疑問を覚えることもしばしば。
ある意味完璧主義で何も作れないマンには向かないかもしれん。

適切なパッケージ(ググれば大体出てくる)を導入すれば、ちょっとしたことなら50行程度でできます。
400行も書けば大したものができます。
例として今まで自分で作ってきたものの中からいくつか挙げてみる

  • FX業者から価格のデータをリアルタイムに取得して売買判断をする
  • ディープラーニングハンバーガーの画像を分類する
  • ラズパイでLチカする
  • Outlookのメールを自動生成する
  • Excelのファイルを読んだり生成したりする
  • グラフを書く
  • PDFからデータを抽出する
  • 画面の変化を検出して音声を再生する
  • ファイルを良い感じにリネームする

他にもありますがキャッチー(?)なところではこんなとこです。
ライブラリが他分野に渡って豊富ということは、仮に今やってることに興味がなくなっても他の分野でもPythonを使える可能性が高いのでそういう意味では損失が低い言語と言えるでしょう。

3. 少人数向き

良い点としては少ない人数でもそれなりに動くものが作れる。
悪い点としては記法が(特にアクセス指定子)が緩すぎるので、モラルの低いメンバーがいると地獄の様な実装が発生する。
ので、メンバーを管理教育できる範囲の少人数で使うのが良いと思ってる。

4. プロトタイピング向き

ライブラリ豊富で「とりあえずこんな感じ~」で短納期で動くものが見せられる。
そして、偉い人に勘違いされる。
作ったものを簡単に弄られたくないので、製品としてはコンパイル言語使いたいですよねって気持ちで一杯。
オススメの開発フローとしては

  • Pythonでプロトタイピングしながら短期で設計を詰める
    ⇒短期でイメージを見せることで、ふわふわな仕様を固めるたたき台にする& 偉い人をときめかせる。
  • 設計が固まったら別の言語で最終成果物は実装
    ⇒これによりリファクタリングも行える。

これをやる上で必ず守らなければいけないのは2点

  • 「最初っから、製品向けの言語で組めば?」って意見をねじ伏せる
    ⇒「プロトはPythonのが圧倒的に速くつくれるし。その分、設計変更も何度も試せるから…」とか言って押し切ってください。
  • 「もうPythonで製品出せば良くね?」って意見をねじ伏せる
    自社サーバのバックエンドで動く製品以外はこれは辞めといた方が良い。
    パフォーマンスは出ないし、コードの隠蔽もメンドクサイ。

脚が重くなりがちな、初期検討を高速プロトで回して、言語を変えることでリファクタリングを強制し品質をキープする流れが理想です。
そのための方便なら何でもつかうわ。

5. くっそ遅い

豊富なライブラリはインターフェースの向こう側がC++とかなので結構速いですが、Python自体の部分はかなり遅いです。
特にfor文は遅いと感じます。
これが、高度な最終製品に使えない理由の一つでもあります。

6. 機械学習デファクトスタンダード

DeepLearningをはじめ、機械学習デファクトスタンダート研究言語です。
最新の論文は大体PytorchかTensorflowでコードが出るので、そのまま使いたいのであればPythonです。
そして、組み込みなどの場合はC++とかから推論モデルを実行できるようにするためポーティングする作業が発生する。
めんどい of めんどい。

7. 年収高いの?

古来の中小企業レベルだと、言われたことをPythonで作るだけでも、結構年収高くなると思います。

ただし、Pythonというか機械学習界隈での「言われたこと」って

なんか、先端のDeepLearningで人間以上の性能でお願い

みたいなやつなんで、要するにめっちゃ上流工程できる必要あるので「そりゃ、給料高くなるわ...」ってやつです。
しかも、結構推論モデルが意図通り(ただし、意図の仕様は大体出てこない)動いてるか証明して!みたいな注文も飛んでくるので、確率・統計の知識とかちゃんとしたデータ整理とかプログラム以外の仕事が多いです。
偉い人の中に何でも機械学習入れたいマンが居ると、その人を止めるための資料とかいう、結構不毛な資料を頑張って作る工数とかも発生します。
ただ、この辺ができる人は大体くいっぱぐれないので、確率統計や数学知識とセットでご飯食べる言語としては良いと思います。

テック系の若い会社だと、開発や研究関係はみんなPython使えますが、あくまで道具でメインはそれより上の数学力や企画・設計能力での話になりますしね。
そういう意味では、年収高い人が使っていることが多い言語であるけど、Python使っているからという理由では年収は高くならない、というのが正解っぽい。

数学もやれ。

8. 数学勉強用ツールとして優秀

書籍での勉強だとイメージつかめなくても、Pythonで手軽に試してみてイメージを掴みながら学習ができるし、応用例もやたら転がっているので、これが理解できれば作れるものが増える!と感じられる。
学習の障壁を低くし、モチベーションを保ちやすい言語だと思う。

9. サボりツールとして優秀

日報の自動生成とか、決まったフォーマットのExcelを自動で埋めるとか、面倒なルーチンをパパっとやらせるのには便利ですね。
特にWindowsコマンドプロンプトPowerShellがイマイチなんで…。
文字列処理が得意なのもあって、多量のファイルリネームとかもお手のものです。

いつでもトンカツを食えるようになるまでを計算する

美味しんぼ」の有名エピソードである、

いいかい学生さん、
トンカツをな、
トンカツをいつでも
食えるくらいになりなよ。

これ、どのぐらいなんかね?と思ったので計算することにしました。

1. 目標の具体化

庶民なのでトンカツ=ちょっといい食事ということにします。
考えもなしに頑張るのは無駄に疲弊したり、余力失う可能性があるので、まずは具体的に試算といきましょう。

1.1. 対象となるトンカツの価格

先述のエピソードでは高級店という感じではないので、普通の定食屋を中心に価格を確認しました。
2021年11月現在で、チェーン店でいくつか抜粋します。

No 参考店舗 メニュー 価格(税込み)
1 新宿さぼてん 熟成三元麦豚ロースかつ御膳 1350
2 かつや ロースかつ定食 759
3 OKストア ロースかつ重 329

さぼてんはリーズナブルながらもちゃんとしたトンカツ専門店ですが、ご時世で定食1500円切ってるのは頑張りを感じる。
次に、庶民と言えばかつや。大分安いですね。店舗内の座席の集積度とかで下げているんでしょう。
最後は、スーパーで弁当買ったらどうなの?ということで都内で安いと評判のOKストアのロースかつ重をピックアップ。

3の選択肢を選ぶとほぼ何もせんでも良いっぽい…?ってなったのでここではある程度良い飯ということでさぼてんをターゲットに計算していこうと思います。

ソウシナイトハナシオワッチャウシネ。

ということで、一食1,350円をどうやって捻出するかを考えていきます。

1.2. 「いつでも」って?

365日3食トンカツはヤバいので、ここは週1食ぐらいに控えておきましょう。
いつでもトンカツを食えるようになりなよって言っときながらも、実際に3食毎日食いに来たらドン引き確実。そんなもんです。
栄養バランス悪くて医療費増えるのもアレですし…あくまで健康的に食べられる範囲ということで。

2. リソースの把握

学生さんに向けて話しているということで、20代の食費の平均を参照します。
低所得域の話するときに「金持ちが平均を引き上げるので中央値を使え!」って怒られることはありますが、億万長者のうち20代が占める割合は低いので全国民対象の場合よりは影響少ないのでは?ということで平均値でやっていきます。

ざっくりネットで調べた感じ20代の平均食費が45,000円/月(外食込み)とのこと。
30日で割ると平均1,500円/日、1日3食換算で500円/食 という計算になりますね。
20代の時には自炊そこそこしながら地方で生きてた身からすると、案外みんな金かけてるのねって感想。
そしてOKのロースかつ重(329円)で満足できる人はトンカツを食うことで食費が節約になるというバグが発生している
30,000円/月で計算した場合でも1食平均333円なので、やはりバグでは???

トンカツをキメる行為は通常の食事の代替なので、平均的な1食の食費に対するプラスアルファ分をどこから持ってくるのかというのが今回の争点です。

3. 実現方法

実現方法はいくつかありますので、提案します。
時間のスケール別に考えてみたので、自分に合う方法を模索していきましょう。

3.1. 週ベースで考える

1週間単位で考えると。 週7日 x 3食 = 21食中の1食をトンカツに置換する場合、
トンカツの置換コスト  1350 - 500 = 850 を残りの20食で割ると、  850 / 20 = 42.5(円/食) 削れば良いということになります。
これぐらいだと、以下の様な方法で実現可能でしょう。

3.1.1. 自炊する

そこそこの回数をこなす必要はありますが自炊すると平均で-50円/食は結構いけます。
米を炊くだけでも結構違いが出るもんです。

総務省の小売物価統計調査によると、米200g分の価格は43円程度で、水道光熱費考えるとざっくり50円と見積れます。
たとえば、吉野家のテイクアウトで牛丼と牛皿の値段の差は100円です。
牛丼並盛のご飯は250gなので、小食で200gでもいいやって人は米を炊くことで 店舗で牛丼を食べるより 100-50=50円 店浮きます。
店と同じ250g欲しいという人はご飯代を1.25倍して  100 - (50 \times 1.25) = 37.5円 浮く計算。
250gにしても364.5円なので、設定のアベレージに対して135.5円浮いています。
 135.5 / 42.5 > 3.18 なので、先ほどの設定平均ノルマに対してこれだけで3回分抑えられます。
このように手抜き外食 [テイクアウト] x [飯は炊く] のコンボで費用を抑えられます。
自炊継続のコツは完璧を求めないことと、作ったものは小分けに冷凍して、一度で食わないようにすること。
あとは、ランチでおにぎり3つ位なら200~250円程度で作れるので、これだけでも平均から250円浮きます。
まとめて作って冷凍しておくのでもイケます。

3.1.2. 食事を減らす

ギャグっぽいですが、週1ぐらいで断食した方が体調良くなるって人もいるので結構真面目です。
週で2食抜けばクリアです。
現代日本は気を抜くと喰い過ぎになるので、多少食事量を減らすのは全然アリです。
食費削減と医療費削減の効果があります。

3.2. 月ベースで考える

週1つまり月4.5回ほどトンカツ置換すると 850 \times 4.5 = 3,825円 が必要になります。

3.2.1. 昇給を狙う

手取りで3,825円上げるとすると、税引き前で5,000円程度昇給(=年収+6万円)すれば実現可能ということです。
資格取得で+5,000円/月程度してくれる会社なら資格取得もアリでしょう。
いつでもトンカツを食えるようになるとはまさにこのことでは?
しかし、初任給から年収+6万円程度で満足するのはちょっと志低い気もする。

3.2.2. 通信費の見直し

総務省通信利用動向調査(世帯編)によれば、スマートフォンの大手のプランを契約している人と格安系を契約している人の間で月の費用が3,000円程離れている。
よって、大手キャリアで6,000円~7,000円程度の金額で契約している人は、通信品質が許容できるならば3,000円程度の格安業者に乗りけることで、週1トンカツ置換の実現に限りなく近づく。
後は米を炊くぐらいで良いのではないのだろうか。

3.3. 年ベースで考える

1年52週。つまり、年間52トンカツ置換に必要な費用は
 850 \times 52 = 44,200 円 これを1年で節約するか、獲得する方法について考える。

3.3.1. 金融資産から資産所得を得る

一般的に全世界株インデックス投資信託等の中長期で安定してリターンが出る商品の平均リターンは5%/年程度。
税金を20%引かれて4%程度が残る。
ここから逆算するとざっくりで110万円程度の金融資産があれば、週1トンカツ置換が可能となる見積となる。
まぁもちろん元本保証ではないのがアレですが…。
 1105000 / 1350 \simeq 818
1生週1トンカツ置換のお値段は818トンカツ(約16年分)…置換で考えると1300トンカツ置換(約25年分)。
ん、冷静に考えると年率4%の利回りで1年で必要な金を得ようとしたらそりゃ金額が何であれ 100 / 4 = 25年分になるよな。
無駄な計算をした。

株主優待券とかはどうか調べてみましたが、配当+優待券の利回りが4%を超えるところは殆どなく(あんまり利回り高いところは、経営が怪しくて株価が下がっている場合が多いので手を出しづらい)、今回は候補から外れました。
利回り高いところ、貴金属とか旅行券とか比較的リッチマンが使うならお得みたいなところばかりだったので…。

4. 結論

週1トンカツ程度の幸せなら、自炊と通信費見直しが一番楽そうな感じ。
できれば頑張ってお給料上げたいですね。
あとは、週1トンカツのうち月1回をOKのロースかつ重で我慢すると月に必要な金額が1,000円程下がるのでそれも手ではないかなと思いました。