0x19f (Shinya Kato) の日報

主にプログラミング関連の話をします

6/22 一生分のバックをした気がする

昨日の夜はOS自作入門とプロジェクト研究でやってる機械学習.

 

OS自作入門』の方は8日目が終わった. マウスが動くようになった. 動きが奇妙なのはなんなんだろう. 妙にたくさん動いたり, 途中から水平方向にしか動かなくなったりする. 自分がどこかでコード書き間違えたのか, そもそもこういうものなのか.

 

機械学習の方はMALSSという支援ツールを使っているので, アルゴリズムの中身とかは一切理解していない状態. そもそものモデルの評価が難しい. 入れ子の交差検証なるものをしているらしい. 外側のループでテスト用のデータセットと訓練用のデータセットに分割, 内側のループで訓練用のデータセットをさらに分割しているらしい. 内側の交差検証はハイパーパラメーターの調整のためのものって認識であってるんだろうか?

Nested versus non-nested cross-validation — scikit-learn 0.18.2 documentation

MALSSの分析レポートを見ると最初にアルゴリズムごとの精度(入れ子式交差検証)が示されていて, その後に各アルゴリズムの詳細が書かれている. この詳細の方にはグリッドサーチの結果としてそれぞれのパラメータでの精度(非入れ子式交差検証)が書かれている. 疑問なのはこのグリッドサーチの結果の精度が非入れ子式交差検証になっていること. これってどういう値なんだろうか?

 

AOJ-ICPC

  • カーテン | Aizu Online Judge [解答]
    座標圧縮っぽいことをする(実際やってることとしては, vectorに全要素を放り込んでソートしてユニークな要素だけを抽出してる). 圧縮してできた格子の各セルについて, (1) カーテンの領域に含まれていない (2) 窓の領域に含まれていることを調べる. (1)は問題なく判定できる. (2)はセルの中心からX軸/Y軸に平行に半直線(向きは正負どちらの方向でもOK)を伸ばして, 多角形の辺と交わる回数を数える. X/Y方向とも奇数回交わっていればそのセルは多角形の中に含まれる. (1)(2)を満たすセルの面積を足しあげれば求める答えになる. セルの数がN^2で各セルについて(1)(2)を満たすかの判定がO(N)でできるので, 計算量はO(N^3).
    とまぁ、こんな感じで解けるのだけれど, 最初は窓の辺とカーテンの辺の交点を求めて...みたいなことをするのかなぁぐらいしか考えつかなかった. 解説を見てなるほど〜といった感じ. 国内予選の本番だったら手元実行にものを言わせて力づくで解くのかなぁ.

  • Matsuzaki Number | Aizu Online Judge [解答]
    素数を列挙してNより大きいP個の素数のペアの和を求めてソートしてP番目を出力する. ペアを列挙するときに重複したペアを数えているのに気づかなくて困ってしまった.

 

朝一にヤマトのお兄さんが来て, 寝ぼけながら荷物を受け取ったもののよくよく考えると配達日時って日曜に変更してなかったっけ?と. 後からもう一度ヤマトのお兄さんが来て「間違えちゃったけど大丈夫でした?」と聞かれたけれど, まぁ受け取れたんで問題ないっす.

日中は自動車学校でバックを使う技能教習を3限分受けたので疲れた. 左右の方向転換と縦列駐車. スケジュール立てた人は僕に恨みでもあるのかと. 縦列駐車とか前と後ろの車が高級車だったら間違いなく諦めますね......