学習する天然ニューラルネット

主に機械学習に関する覚書や情報の整理。競プロ水色→Kaggle Master→?

Visual Studio Code 等のアプリで command + [ (open bracket) がmacOSに吸われるニッチなバグの解決

  • 状況
  • 直し方
  • 先人たちの記録と解決しない事象
  • 推測される原因
  • ついでに発見したバグ

状況

Macを初期化して再セットアップしたら、VSCodecommand + [ (open bracket, left bracketとも) が効かなくなった。 プログラミングしているときにこのショートカットを多用しているのでめちゃくちゃ困る。indentができなくなった!しかもshift + command + [のようなショートカットもすべて効かなくて困った。タブ移動もできねぇ〜〜〜〜! しかもよくよく確かめるとElectron製のアプリ全般で効かなくなってる。これは最悪である(一部は反応するけど意図した挙動でないことになった)。

もし、これを読んでいるあなたもお困りならば次に進もう。 自分の知る限り一番シンプルな解決策をここで提供する。

このバグが起こりうる環境等については後で述べる。

直し方

以下のショートカットをなにか別のものに変えた後、OSを再起動する。

システム環境設定->キーボード->ショートカット->キーボード->次のウインドウを操作対象にする

デフォルトでは以下のようになっているはずなので、⌘@から適当なもの(例えば ⌘` )に変える。(無効化しても良いかも。未検証。)

変更すべき設定欄

続きを読む

クリックレートやコンバージョンレートといった二項母集団の母比率の信頼区間 精密法のPython実装

  • 前提
    • データ
    • 求めたいもの
  • 実装
  • 確認

前提

本記事ではクリックレート(CTR)やコンバージョンレート(CVR)といった二項母集団の母比率について信頼区間を計算するPython実装を与える。データ数が少ない状況においてはCTRやCVRだけではなく、その不確実性も考慮し比較、議論するのが望ましい。 二項母集団の母比率の信頼区間の算出方法は近似法がメジャーであるが、データ数が少ない状況においては誤差が大きくなる。ここでは精密法を用いて算出する。

本記事で求めるものを厳密に定式化するなら以下のようになる。

ベルヌーイ分布に従う確率変数がXn個存在する。X0,1のいずれかを実現値として取る。

X_1, ... ,X_n  \overset{i.i.d.}{\sim} Be(p)

現実で例えれば、広告を見た人がn人いて、それぞれの人について広告を見たら1、広告を見てなければ0ということに対応する。広告を見る確率はpである。

次に広告を見た人数をS_nとする。S_nも確率変数であり二項分布に従う。

S_n=\sum_{i=1}^{n} X_i \ \ (S_n \sim \mathcal{B}(n,p))

S_nの実現値をsとする。

データ

n回試行してs回成功した(n回表示してs回クリックされた)。

求めたいもの

\hat{p}(=\frac{s}{n})の信頼区間の上限と下限 (信頼係数 1-\varepsilon )

続きを読む

病気に備える保険にはいつ加入すべきか? 罹患の累積確率と許容リスクから考える

  • 背景
  • 早速結論
  • なぜ保証内容と加入タイミングを考えるのか
  • 何を保証すべきか?
  • いつから保険に加入すべきか?
  • further investigation is required
  • まとめ

背景

保険には入っておいたほうが良いとは聞くが、商品は膨大で何を保証すべきか、いつ入ればいいのかなど考えることは多い。

本記事では自分のメモの意味合いも含めて、

  1. 何を保証すべきか?
  2. いつ入ればいいのか?

を検討していく。

そもそものきっかけは、節税のために行った保険の契約だった。

ちなみに節税のために契約した保険とは、明治安田生命じぶんの積立という商品である。 詳しくはリンク先を参照していただきたいが、実質ただの貯金である。貯金をしながら一般の生命保険料控除で税金が安くなるという税制の穴を突いたような商品である。

ただ、契約をするには対面で生保レディーの話を聞く必要があり、ここで他の保険にも入ってもらうことが明治安田生命の真の目的である。(この商品だけ買われると多分倒産する)

そういうわけで、「じぶんの積立」だけ入るのも居心地が悪く、ちゃんと保険について検討してみようと思った次第である。 特に男性の60%が一生のうちにがんにかかる、なんて言われると他人事ではすまない。

早速結論

自分の場合は

という結論になった。 以下では、この結論に至った理由を説明していく。

続きを読む

intel macbookでスリープ中に電源が切れる問題とその解決方法

  • 概要
  • エラーメッセージ
  • 解決方法
  • 参考

概要

Intel CPUのMacbook proの電源を切った覚えがないのに、蓋を開けると電源の付く音が流れることが数回発生した。しかも決まって前回は異常終了したという警告。

そこで原因を調べ、暫定的な解決法をここにメモをする。日本語では情報が出なかったので誰かの助けになれば嬉しい。

(ちなみにIntel macの15,16インチモデルばかりに発生している様子だった。)

エラーメッセージ

自分の環境では以下のようなエラーメッセージが発生していた。

Sleep transition timed out after 180 seconds while creating hibernation file or while calling rootDomain's clients about upcoming rootDomain's state changes. と、あるようにスリープ中に異常が起きているようだ。

続きを読む

iDeCoを使用する上での注意点 ~利益を最大にするために~

概要

本記事では以下の内容について述べている。自分のメモ代わりの意味合いが大きいが、興味のある方はぜひご付き合いください。

  • iDeCoの概要
  • iDeCoのデメリット
  • 会社員はどう活用すべきか

(いろいろケーススタディなども行ったがごちゃごちゃして主張が不透明になったので没にした...)

iDeCoとは

個人型年金制度で、以下のメリットがよく主張される。

  1. 所得税と住民税が安くなる
  2. 運用期間中の利益は非課税

1のメリットが特に注目される。例えば、年収700万の会社員がiDeCoを利用して月1.2万の積立を行った場合、年に4.32万の税金の節約になる(1.2×12×(所得税20%+住民税10%))。年収や積立金額が変わらずにiDeCoを38年間(22~60歳)使うとすると、合計で164.16万円の節税となる。

2については運用利益がまるまる次の投資に使えるというメリットである(通常は約20%の税金を差し引かれる)。

シミュレーションなどを細かくしたい方のために楽天証券のリンクを置いておく。

個人型確定拠出年金:iDeCo(イデコ) | 楽天証券

iDeCoのデメリット

一方デメリットについてはまとまっている情報がないように感じる。自分が調べた限りのデメリットを以下に羅列する。

  1. 60歳まで引き出せない (家計が急変したときにリスク)
  2. 受取時には税金が発生する (退職所得 or 雑所得扱い)
  3. 口座に係る手数料が高額 (最低でも年2000円以上かかる)

1のデメリットはよく紹介されている。

2のデメリットは注目され始めたが、税制が複雑なため人によってかかる税金の額が大きく異なる。シミュレーションなどの登場が待たれる(誰も作らなかったら自分が作るまである)。 特に退職所得として受け取るときに注意が必要である。

参考までに記事を紹介する

これは有料記事 イデコ税負担、周知不足 退職金で控除枠使い切る恐れ: 日本経済新聞

こっちは無料 スタートiDeCo(3)2つの受け取り方 税負担額の比較が肝心: 日本経済新聞

3のデメリットを紹介する記事はあまりで見つからなかった。 積立金額がそのまま運用されるのではなく、それなりに高い手数料(年2000円以上)を引かれるのだ(もちろん投資信託を買えば信託報酬の費用も追加でかかる)。買付手数料0円の投資信託が流行りのこのご時世には高い費用である。さらにはiDeCoで積み立てた金額を取り崩すときにも一回につき440円の手数料が発生する。月1の年金として貰う場合は年に5280円の手数料が発生することになる。(といえ相対的に手数料はやり取りする金額に対して小さな割合なので極端に損につながることは少ないとも思う。)

手数料の一覧はこれにまとまっている いくらかかる? なぜかかる? 確定拠出年金の手数料 | りそな銀行 確定拠出年金

会社員はどう活用すべきか

  • 余裕がないうちはやらない
    • まずは当分の生活資金を貯める
    • その後の余裕資金は積み立てNISAに回す
    • それでも余裕があったらiDeCo
  • 金を突っ込むなら限度ギリギリ(12000円/月)まで
    • 相対的に管理手数料が安くなるので
  • 受取時は一時金として退職控除枠ギリギリまでうけとり、残りは年金で。年金は年1回で受け取る。
    • 大手の場合、退職金で退職所得控除の枠を使い切ってしまう可能性が高い。そのときに控除の適応されない大金を受け取ってしまうと累進課税によって高額な税金が発生しがち。年金として貰う場合でも多すぎると所得税が多くなってくるので注意。
  • 節税効果を過信しすぎるな
    • お得になった税金(積立金額で得した所得/住民税+運用利益に本来かかるはずの20%分)の半額ぐらいは受取時に払うことになると見積もっておこう(めちゃくちゃ人によって差があるけど)。

追記

なんでこういうのって書いたあとに発見するんでしょうかね。 自分のよりよくまとまってました。

horrorxzombi.com

気になるのはiDeCoを用いた場合に損をする場合があるのか、という疑問点だ。損することはほぼない。ただし本記事やリンク先で述べたようなデメリットが積み重なり、思ったより得した金額が小さかったというようなことはあるだろう。損する場合だが、例えば、22歳に1年だけiDeCoを用いてその後転職し、60歳までiDeCoに積み立てられない場合は口座管理手数料が節税効果を上回るので損をする。

このような状況以外でiDeCoを使用しても損をすることは基本的にないだろう。ただし、節税効果が思ったよりも大きくないのも把握しておくべきだ。その上で60歳まで引き出せないリスクを取れるのか自分と相談しようと思う。

さらに追記 (2021/05/30)

めっちゃわかりやすくまとめてるサイトを見つけてしまった。すごく長いが一読の価値あり。

manelite.jp

人生最後のキーボードを購入 Ultimate Hacking Keyboard (UHK 60 v1)

  • Ultimate Hacking Keyboard とは
  • 一週間使ってみた感想
    • 打鍵感について
    • 独自機能について
    • 静音化
  • 注文してから届くまで
    • 注文方法
    • 届くまで
  • 開封から設定まで
  • 最後に

Ultimate Hacking Keyboard とは

最近購入した最高のキーボード。もうほかのキーボードは買わないと思う。 これ。 ultimatehackingkeyboard.com

ハンガリーにある会社が製造している。

サイトに行けば商品の特徴の紹介はしてくれるが、軽く書き出すと以下である。

  • HHKBを分割キーボードにしたような感じ(分割でなくても使用可能)
  • 自作キーボードのような機能をハードウェア側でサポートしている。例えばキーの配置変更やレイヤー機能などである
  • 拡張モジュールによって、トラック(ボール|ポイント|パッド)などを追加することが可能

本記事では、"1週間使ってみた感想"、"注文してから届くまで"、"開封から設定まで"の順番について書こうと思う。

続きを読む

AtCoderでCythonの力を開放する魔術詠唱

概要

以下のformatをPythonで提出すればいい

mycode = r'''
# distutils: language=c++
# cython: language_level=3, boundscheck=False, wraparound=False, cdivision=True
{ここにcythonのコードを書く}
'''

import sys
import os
if sys.argv[-1] == 'ONLINE_JUDGE':  # コンパイル時
    with open('mycode.pyx', 'w') as f:
        f.write(mycode)
    os.system('cythonize -i -3 -b mycode.pyx')

import mycode
  • 概要
  • AtCoderにおけるCython提出の弱点
  • 解決方法
  • 性能評価
    • Pythonの回答
    • Cythonの回答
  • まとめ
  • 参考文献
続きを読む