アウトプット記録

いろんなことをアウトプットします

今年買ったキーボード7選

f:id:ma110ry:20211202232313p:plain

この記事は、キーボード #2 Advent Calendar 2021 の3日目の記事です。

2日目の記事は alg さんの「2021年の自キ活ふりかえり」でした。

SU120による自作に加えてArtisanキーキャップまで作られたということで、参考になる方もいらっしゃるのではないでしょうか。そのモチベーションと行動力に脱帽です。

さて、そんな私ですが、2021年に自作キーボードの世界に足を踏み入れ、様々なキーボードを購入してきました。今回はいい機会なので、その購入したものを紹介できればと思います。設計ノウハウ等はございませんので、あくまで読み物程度にしていただければ幸いです。

あまり厳密にテーマは決めずに徒然と書いていこうかと思いますが、沼にハマってない人からすれば「お前の腕は2本しかないのにどうしてそんなにいっぱいキーボードを買うんだ?」と言われかねないので、なぜそのキーボードを買ったのか/欲しくなったのか、ということは意識して書いてみようかと思います。

※ 2021/12/04 15:00 追記 基盤の名前を間違えていたので修正しました。 (旧) DZ65 → (新) DZ60

Dazen0

f:id:ma110ry:20211202233733j:plain
Dazen0 かんせいしたすがた

これは一応買ったときのことを記事にまとめています。

ma110ry.hatenablog.com

そこをみると、

ということで、やってみようと思い立ったものの、はんだ付けの記憶は学生の遠い記憶。キースイッチもどれを選べばいいかわからない状況(赤茶青黒なら赤が好きぐらいのレベル感)だったので、まずはマクロパッドを作ることにしました。

ということらしいですね。ビルドログも残そうと写真も撮ってありましたが、完全に放置しちゃっていますね。。。作業自体はすんなりと終わり、キースイッチのお試し、という観点では非常に役に立ちました。一方で、自分にはマクロパッドはあまり必要ないのかもとも感じたキーボードキットです。

キーボードに限らず、自分に何が必要で必要じゃないか、を知るためにも色んなものを買う必要がありますね。えぇ。

7sPlus

上記の記事で、JISplit89やNKNL_JPがほしいと言っていましたが、JIS配列に対応するキーキャップはあまり存在しません。印字の一致を諦めればなんとでもなりますが、JIS配列でなければいけないということもなかったので、ANSIでもいいかなと色々物色していました。そんなときにひょんなことから7sPlusを購入させていただけることになり、初の自作キーボードはサリチル酸さんの7sPlusになりました。

当時思っていた自分に必要なポイントとしては、

  • 分割キーボード
  • ソケット対応
  • アローキー
  • ファンクション列

ということだったので、7sPlusはバッチリ対応していたというわけですね。ちなみにそもそもなぜ自作キーボードに手を出したかというのは、以下の理由です

  • 机がそこまで広くないので、手書きでメモを取ろうとすると窮屈な体勢になる
  • 分離キーボードを使えば真ん中にメモ帳を置いてメモができるのでは?
  • 既製品はあまりなく自作するのがトレンド

作成においてはLEDテープのはんだ付けに少々苦労しましたが、それ以外は大きなトラブルもなく、手間ひまかけて作ったキーボードが動いた感動は代えがたいものがあります。

しばらく使っていましたが、真ん中にメモをおいて使う狙いはTRRSケーブルの取り回しが微妙にやりづらく、あまりしっくりとは来ませんでした。一方で分割型の形状を生かして、椅子のアームレストに置きながら打鍵できるのは非常に打ちやすく、身体への負担も大きく軽減されました。配列も一般的なキーボードから大きく違うところはなく移行コストも低いかなと思いました。更に親指部分もいくつかキーがあるので、自分好みにカスタマイズできるのも使いやすい点かなと思います。

とはいえ使ってみると色々改善したいなと思う点もありました。特に感じたのが打ち心地です。自分は配列に関してはあまり不満はなかったのですが、打鍵感や打鍵音はどうしても気になります。遊舎工房でTofuケースのキーボードを軽く触ったときも7sPlusよりキモチイイと感じたので、金属ケースの一体型に興味を持つようになりました。キー数に関しては大いに越したことはありませんが、ファンクション列は無くてもそこまで問題ないかなと気づけたのもこのキーボードを使ってみてわかったことですね。

完成したのが2021年1月頃ですね。

最初のキースイッチはSlient Alpacaでした

DZ60 + Tofu Case → Bezel Case

後述のIKKI68やCorneliusの購入を決めたものの、GBはすぐに手に入らないという欠点があります。一体型を試してみたいという気持ちを抑えきれなくなったので、すぐ購入できるものを色々検討しました。そんな話を「自キ温泉街案内所」で相談したところ、当時サリチル酸さんがDZ60の汎用ケースを改良して打鍵感を向上させていたのもあり、DZ60はどうかというアドバイスをいただきました。確かにみんな持ってるし1枚位どのご家庭に合ってもいいものだと思い、DZ60とtofuのセットを購入したのが、2021年4月でした。

そんなわけで手に入れたDZ60 with Tofu ですが、やはりアルミ一体型の重量で、そこそこの打鍵感でした。悪くないけど、めちゃくちゃいいってわけでもなく、普通…という身も蓋もない感想だったように記憶しています。ただ、プレートに2層アクリルを使ってみたり、フォームを入れてみたりと色々試してみて、その都度打鍵感や打鍵音が変わっていくので、こうした創意工夫ができるのは大変楽しい体験でした。

さて、そんなDZ60基盤ですが、今はサリチル酸さん作成のBezelケースに乗っています。これは「自キ温泉街案内所」内でケースのアイディアから図面起こし・試作の流れをずっと見ていいて知らず識らずに愛着が湧いて欲しくなったので、即購入でした。何よりベージュの色合いが大変素晴らしく、見た目のポイントも高かったのが購買欲をそそられました。

各種こだわりが詰まった紹介記事はこちら

salicylic-acid3.hatenablog.com

そんなBezelですが、2kgもあるその重量のお陰で、非常に安定した打鍵ができました。tofuでこんなものかと思っていましたが、基盤をそっくり載せ替えたときの打鍵感の違いに思わず笑ってしまったのを覚えています。スイッチは当初Feker like kiwiを載せていましたが、自分にはイマイチで、アクキンスイッチに替えたところ大変スムーズで好みの打鍵感に仕上がったので、しばらくはこれがメインのキーボードでした。

ファーストインプレッションはこんなこと言ってますね。。

GPK60-46A

後述のCorneliusの到着が見えてきた7月半ば頃、もっといろんなスイッチを試したい気持ちが湧いてきました。DZ60 with Bezel はアクキンで満足、7sPlusはキー数が多い+サンドイッチなのでやや億劫、ということもあり、キー数少なめで付け替えができそうなものを探していました。そんななか、余っているtofuを活用できそうなキットがいくつかあったので、親指の数やらを踏まえてGPK60-46Aを購入してみました。

ただ、こちらは組んで満足しちゃったので、あまり使っていません。。。

Cornelius

ちょうど自分が沼に入ったタイミングで販売が告知されたハイエンドキーボードCorneliusです。こちらは当初買う予定はなく、Corneの作者さんが作ったすごいキーボードなんだ、ぐらいの気持ちでした。キー数が少ないのがネックで、うーんと悩んでいたところ、遊舎工房さんのGBが一瞬で終わってしまったので、縁がなかったと諦めたのが3月7日の出来事でした。

しかし翌週訪れる転機

f:id:ma110ry:20211202161923p:plain
沼に足を踏み入れた瞬間(赤部分は関係ない話なのでマスキングしています)

たまたま近くに来る機会があったので、遊舎工房さんにCorneliusを触りに行ったら、あまりの打鍵感の良さに感動を覚え、その話を「自キ温泉街案内所」でつぶやきました。すると、海外サイトではまだ買えるとの悪魔の囁きアドバイスを頂きました。

最後の最後で迷ってましたが、一緒に買うという方がいたので、ええいままよという思いで買ってしまいました。ちょうど5ヶ月の着弾でしたが、待った甲斐がある最高の打鍵感でした。あのときの感動再び、です。

配列にとまどうところはありつつも、打ってて気持ちがいい、楽しいと感じさせてくれる唯一無二のキーボードです。もはやこれは道具というより娯楽アイテムや楽器に近いのでは?と勝手に思っています。

ただ、やっぱり数字列がないことがネックで、普段遣いは別のキーボードが多いのが現状です。。もうちょっと使ってあげたいですね。スイッチも気合を入れて作ったのですが、アクチュエーションポイントのせいか、誤打が多くなってしまっているので、交換しようかなとは思っています。。

IKKI68 Aurora

7sPlusを購入して1ヶ月ほど使っていたころ、SMKiJのチャンネルを見てみると、どうも射出形成ケースが最近のトレンドという話が流れてきました。一体型を使ってみたいという気持ちと分割スペースに対応しているというのに惹かれ、購入を決めました。

最初はハイプロのキーキャップ(MT3 Cyber)を使っていたのですが、こちらの相性が個人的にあんまりで、最初は使っていなかったのですが、キーキャップを載せ替えて一気に好きになったキーボードです。

DZ65の配列に慣れたのでアローキーの位置に戸惑いますが、やはりこれが一番シンプルで使いやすいなあという65%配列ですね。

Meridian

自作キーボードの世界に足を踏み入れて、Discordの過去ログを見ていると時たま暗号のようなフレーズが出てきます。

「ポはいいぞ」「ポ再販してくれないかな」「ポ ホギィ」

(コメントは想像ですので、特別な意図はありません)

どうもこれはai03さんが設計したPolarisキーボードのようです。そこから興味を持ちai03さん設計のキーボードを調べてみると、その美しさと打鍵感の感想にたいへん興味を惹かれました。しかしほしいときには買えないのが自作キーボードの世界。買えない悲しみでハンカチをかみ続け、枕を濡らしていました。そんなとき流れてきたのが、ai03さんが設計したMeridianのR2のお知らせ。

実は自作キーボードの世界に足を踏み入れた2021年1月にR1があったのですが、そのときははんだ付けでアローキーもない配列なんで打てっこしないやと思ってスルーしたのですが、もうそんな自分はいません。幾多の購入を乗り越えお財布の紐はゆるゆる、海外通販も何のその、はんだ付けもソケットの存在を知った自分には怖いものはありません。

f:id:ma110ry:20211202162310p:plain
QKK(急に、キーボードが、来たので)

ネックになっていた配列ですが、右下を無理やりアローキーに対応することで解決しました。あまり右下のモディファイア使わないのでヨシ!です。

おわりに

キーボードキットのビルドガイドには、だいたいキーキャップとキースイッチは別途用意してくださいとあるように、今年散財したのはキーボードキットやケースだけではありません。この記事をまとめるにあたって、今年の購入金額をまとめたところ、なかなかな金額になってしまいました。薄々感づいてはいましたが数字として見せられると我ながらドン引きです。来年はできるだけ控えたいと思っています。えぇ。

読み返してみても、なぜ腕が2本なのにこんなにたくさん買っているのかはわかりませんね。とはいえ振り返ってみると、体験してみたいという気持ちが大きいように思いました。みんながいいと言っているものはどういいのか?自分のモチベーションに繋がるのか?そういったことはやはり体験してみないとわかりません。自分なりの End Game を目指してこれからも適度に散財できればなと思います。

最後に、いつも沼に引き入れてくださるdiscordサーバー「Self-Made Keyboards in Japan」と「自キ温泉街案内所」の運営の方々・参加者の方々、そして数々の素晴らしいキーボードを設計してくださる設計者やデザイナーの方々に大きな感謝をして、終わりにしたいと思います。

この記事はIKKI68 Aurora w/ Gateron G pro white switchで書きました。

『入門 サイバーセキュリティ 理論と実験』感想

TwitterのTLで流れてきて気になっていたこちらの本ですが、読者モニターに応募したら当選したので、コロナ社様より提供いただきました。

読者モニターとして、一通り読ませていただいたので感想をまとめます。

筆者スペック

  • 理系大卒
  • 大学時代の研究テーマは暗号関連の研究
  • 現在は情報セキュリティ関連のお仕事

感想概要

  • 情報セキュリティに関する内容がコンパクトかつ網羅的にまとまっており、特定の層にとっては非常に刺さる内容
  • 特に「2.3 セキュリティ対策に向けて」は全読者に理解してほしい
  • 広く浅くではあるので、ここから興味がある分野を深堀りしていくのが良い

本書の想定読者 *1

  • 理工系の大学・大学院生
  • ICT(information and communication technology)システムの構築・運用に携わる方々

本書は上記の2者が主な想定読者とされています。特に前者の理工系の大学・大学院生に対しては非常に参考になる書籍だと感じました。情報セキュリティの知識として最低限知っておきたい情報がコンパクトに纏まっており、12章の章立ても授業やゼミの輪講等の活用が期待できそうです。ちなみに前提知識は必要ない形で設計されているように感じましたが、ネットワーク周りの知識があるとより理解が進むかと思います。(暗号技術に関する数学的準備は詳細にまとめられているがネットワークセキュリティに関するネットワーク関連の知識はやや点在しているように感じたため)

一方で、後者の「ICTシステムの構築・運用に携わる方々」には少し注意が必要だと感じました。前述の通り、最低限知っておきたい知識をつけるために本書は必要十分だとは思いますが、業務への活用という点にはやや疑問が残ります。例えば非情報系の新卒社員を対象とする研修の参考書籍であるならば非常に有効だとは思いますが、既に何らかのシステムに関わっている人がこの書籍から業務に使える知識を求めるのは遠回りになるかと思います(必ずしも間違いとは言えませんが)。したがって、(特に想定読者の後者に該当する方は)本書の目次や内容を踏まえて、本書にどんなことを期待するかを明確にした上で読まれることをオススメします。

本書で書いてあること

  • サイバーセキュリティの重要性、全体像
  • サイバーセキュリティの各話題に対する理論的な仕組みやバックグラウンド
  • 上記を踏まえたブロックチェーンそのものやブロックチェーンセキュリティの知識

本書に書いてないこと

  • 今すぐ使える情報セキュリティのTips
  • CTFで活用できるテクニック
  • 所属する組織や携わるシステムのセキュリティをかんたんに向上させる方法

参考になったポイント

自分が一番唸った内容が「2.3 セキュリティ対策に向けて」節です。ここは本当に情報システムに関わる全ての人に読んでほしいと思います。サイバー攻撃の高度化に伴い、情報セキュリティの重要性が声高に叫ばれるようになりました。限界や対策の考え方も徐々に広まってきているかもしれませんが、情報セキュリティを学んだことがない方にとっては馴染みのない概念だと思います。いわゆる形骸化したセキュリティ対策や無駄なコストもこの誤解や知識不足からくるものなのではないでしょうか。

セキュリティ対策を行うときには、優先度があり、限界があり、コストもあるため、それらを考慮して限られた範囲の中で具体的に何ができるかをしっかりと検討する必要がある。

と本書では語っています。全くそのとおりです。アンチセキュリティソフトを入れれば良い、社員教育をしっかりやっておけばよい、高機能なFWを導入すれば良い…と様々な特効薬を求めますが、それが本当に必要なのか?我社のチョークポイントはどこで、そこが本当に守れているのか?が不明瞭なままだと無駄なコストを払うだけで、実際には全然守れていないことにもなりかねません。この考えを正しく理解するだけでも本書の価値はあると思います。

その他には、「8. ネットワーク侵入防御」「9. 統計的不正アクセス検知」の流れは非常に面白いと感じました。AIやディープラーニングは独り歩きしがちな言葉ですが、それが現実的に落とし込まれている(活用されている)ことを知ることは重要だと思います。データ分析を主にされている方はスパムメールの例でおなじみかと思います。

各章の感想

各章で気になったことをつらつらと書いていきます

1章

権限奪取の一つのやり方としてバッファオーバーフローが挙げられており、それ自体は特に違和感ありませんが、「1.3.2 バッファオーバーフロー」の説明ではその点もう少し補足があっても良いかなと思いました。

DoS攻撃DDoS攻撃だけでもいろいろやり方がありますが、それがないのはページ数の関係でしょうかね。内容は必要十分書いてあるので、致し方なし。

2章

2.1や2.2情報処理安全確保支援士の勉強をするとまず最初に書いてある内容かと思いますが、誰もが知っておきたい内容です。2.3節は前述の通りですが、「2.5 ケルクホフスの原理」*2も重要なことが書かれていますね。

3章

いわゆる初学者向けの情報セキュリティ書籍にはここまでの内容は書かれていないはずなので、その点でも貴重な内容かと思います。「3.5 情報量とエントロピー」まで書かれているのは流石だなと。

4章

学生時代に暗号関連の研究をやっていたので、高機能暗号や耐量子暗号に触れられなかったのは寂しいところです。

6章

「7pay」の不正ログイン時に二段階認証が話題に上がりましたが、似た言葉に「二要素認証」があります。「6.3 認証の強化」節でスペース取って説明されているので正しく理解できそう。

www.itmedia.co.jp

11,12章

内容について言うことはあまりないのですが、やはり位置づけに少し違和感を感じます。ブロックチェーンやそれのセキュリティを理解するために情報セキュリティの知識は必要だという考えは理解できます。

一方で本書で学べる範囲は、ブロックチェーン理解のために必要な知識を大きく上回っています。そのため、ブロックチェーンを学びたい読者にとっては情報量が多いと感じますし、情報セキュリティを学びたい読者にとってはブロックチェーンの内容はやや冗長だと感じました。気になるのは情報セキュリティ+ブロックチェーンを広く学びたい読者へは有用ですが、それがどれだけいるのか?という点です。

目的を明確にといったのはこの点で、広く学びたい方にとっては重要ですが、ブロックチェーンを学びたい、実践的な情報セキュリティを知りたい、方にとってはギャップが生まれてしまうかなと思いました。

全体を通して

Python実装があるのはいいなと思いましたが、Web上にコードが無いのが気になりました。写経も一つの手段と言われればそれまでですが、記載されている実装例にはRSA暗号のnや秘密分散のシェアもあるので、サポートページなりGitHubなりでソースコードがDLできる仕組みがあるととっつきやすいかなと感じます。

各章の感想でこれもあったらな~を色々書きましたが、本書を読んで気になったところを深めていく(自分の必要な知識を更に取得してく)ことができればよさそうです。そのための下地としての基礎知識はこれ一冊で学習できると思うので、情報セキュリティ初学者が「完全に理解した」*3の本として非常に役立つかなと思います。

Dozen0と必要なものを購入したログ

  • 机がそこまで広くないので、手書きでメモを取ろうとすると窮屈な体勢になる
  • 分離キーボードを使えば真ん中にメモ帳を置いてメモができるのでは?
  • 既製品はあまりなく自作するのがトレンド

ということで、やってみようと思い立ったものの、はんだ付けの記憶は学生の遠い記憶。キースイッチもどれを選べばいいかわからない状況(赤茶青黒なら赤が好きぐらいのレベル感)だったので、まずはマクロパッドを作ることにしました。

  • ある程度キースイッチがほしい(マクロパッドとしても使いたい)
  • 練習のためにも表面実装ダイオードがよい
  • ソケット対応がよい

という条件からDozenを購入することとし、キースイッチは通販だと5~10個単位だったので、実際にお店で試して購入してきました。

購入品

Dozen0

f:id:ma110ry:20201227173936j:plain
Dozen0キット

yushakobo.jp

12キーの自作マクロパッドキットです。表面実装ダイオード、ソケット対応、12キーと自分の条件にピッタリあったのがこれでした。

ロータリエンコーダ対応のものとかケース付きのものとかも迷いましたが、ソケット対応があまりなさそうだったので、こちらで。

キーキャップ

Object.Garage – Resin Mountain

f:id:ma110ry:20201227173931j:plain
Resin Mountain

yushakobo.jp

遊舎工房さん通販では売り切りだったものの、店頭に1点だけ残っていたため購入。

手触りといい、幻想的な見た目といい、満足度が高いです。

DSA無刻印

f:id:ma110ry:20201227173936j:plain
DSAキーキャップたち

yushakobo.jp

スイッチがある程度見えたほうが良いかなと思ってクリアタイプを14個購入。

だったのだが、購入時に数え間違いで15個の値段になってしまい、遊舎工房カラーをもう一色購入。結果的に遊舎工房カラーも偶数になったのでこれはこれでよかった。

電子部品君キーキャップ

この子結構好きなので購入。

スイッチ

テスターがあったので、たくさん試してから選びました。長時間触っててすみません。

f:id:ma110ry:20201227173934j:plain
購入したキースイッチ

Gateron

yushakobo.jp

言わずもがななGateronシリーズ。基準となるべく、リニアタクタイルクリッキーで赤茶青を購入。黒は重い、黄色は中途半端、と感じたので見送り。

Tealio v2

yushakobo.jp

テスターを押すとiPadに商品説明が出るのですが、そちらで一番人気のリニア軸、とあったので選出。確かにクセがなくてちょうどいい感じがする。

Zealio V2

かのぺかそ氏がオススメしていたので購入。

「青軸」「茶軸」だけじゃない 自作キーボードで多様な進化を遂げた「互換キースイッチ」たちとその先にある改造の“沼” (2/3) - ITmedia NEWS

一番軽い62gにした。

これ以降は店員さんに色々とアドバイス貰いながら選びました。店員さんありがとうございました。

Alpaca(通常+サイレント)

yushakobo.jp

yushakobo.jp

テスターで色々試した結果、やはりタクタイルよりリニアだなーと感じたので、リニアでおすすめないですか?と聞いたところ提案されたのがこちら。いろいろ試した結果、今の所これが一番の本命です。

これも含めて全部一個ずつ買ってみましたが、あれこれ試さなくてもSilent Alpacaでいいんじゃないか、という気がしている。

Kailh Box

yushakobo.jp

yushakobo.jp

ブレがないとの謳い文句(テスターの商品説明)の通り、真っ直ぐで安定感のある押し心地だったでので、無難に赤(なぜRedProにしたかは忘れた…)と静音タイプのピンクを購入。

白軸は一番うるさいの下さいのリクエストでオススメしてもらった記憶。(更におすすめあったようですが在庫切れでした。。)

NovelKeys x Kailh Pro Heavys Sage

yushakobo.jp

基本的にはリニア軸(である程度軽め)が好きなことが判明したのですが、レイヤ切り替えにクリッキータイプを使いたいので、その候補として購入。押し間違えを防ぐという意味ではある程度重くてもいいのでは?とのアドバイスをもらって比較的重めなクリッキーとしてこちらを購入。

ボタンを押している感が感じられるのでこれはこれでいい感じ。

Novelkeys X kailh Blueberry swicthes

yushakobo.jp

おそらくあと1個どうしようとなって、タクタイルでおすすめありますか?と聞いてオススメされたのがこれだった記憶。やたら可愛い名前なのが印象的。

工具類

salicylic-acid3.hatenablog.com

サリチル酸さんリスペクトなので上記記事を大いに参考して購入。現在到着待ちです。特段特別なものは買っていないので割愛(ハンダごてはクリアタイプを買いました。なぜって?男子はみんなスケルトンが好きじゃないんですか?)

その他

家に帰って改めてビルドガイドを見ると、ProMicroとコンスルーを買い忘れたことに気づきました。遊舎工房さんの通販で購入。

今後

たくさんのキースイッチの出会いもあり、テスターで色々試した結果自分の好みも判明してとてもワクワクしています。

分割キーボードはNKNL_JPを狙ってはいますが、ソケット未対応+キレイに作るのハード、とのことで悩んでいます。モディファイアキーにクリッキータイプをつけるにしても、どのキーにつけるかまでは決まってないので、はじめはソケット対応のほうが無難な気がしています。

(65%(独立アローキー有り)でJIS対応分割キーボードという自分の条件にピッタリ合う)

そう考えると、JISplit89が一番初めには無難な気がしています。移行コストもあまり高くないので、レイヤーやキースイッチの具合を試した上で、ステップアップするなり考えたほうがベターかなと…。

余談

購入後店員さんと少しお話させていただいて、今後の作成予定は?と聞いたら作っちゃおうかな…と言っていたので、やはり行き着くところはそこなのか、と感じました。

あとは一体型も結構あり、アルミ削り出しはやっぱいいなぁ~とも思いましたが、なかなか購入には至らなさそう…。

この記事はTex Shinobiで書きました。

Coursera の 機械学習入門

タイトルにある通り、Courseraの機械学習入門コースをやってました。色んな所でよいとは言われていたものの、英語であること、ビデオ講義にあまりいい印象がなかったことから避けていましたが、流石にやってみるかと思い立ち一気に終わらせました。

とはいえ、結構古いコースであることも事実で、プログラミング教材もMATLAB/Octaveでやるものだったので、それはほぼスキップして、講義の内容を理解するところに重きをおいて学習しました。

ちなみに課金してないので、証明書はなしです。(購入してもいいんですが、プログラミング講義はほとんどやっていない+別に必要な場面がない、ので今のところ購入予定はありません)

参考にしたもの

この方のまとめは参考になりました。各回のまとめを読んでなんとなく理解、ビデオを見ながらメモ、最後に相互に見返して再確認、とするとだいぶ頭に入ってきましたね。

qiita.com

あとどこかで並行してやるといいとあったこの本をようやく買いました。この本だけだと、理解が少し難しいところもあるかと思いますが、このコースと組み合わせることで、だいぶ理解しやすい感じがしました。 直感的な部分をCourseraでやって、詳細をこっちでやる、みたいな。コードもPythonなので、よいかなと。

感想

終わったあとの感想メモはこんな感じでした。

  • おすすめされているだけあって、説明はとてもわかりやすかった
  • まとめもたくさんあるが、やはり自分で聞くほうが頭に入る
  • 基礎の基礎、としてこれを一回通して見ておけば今後の学習がだいぶやりやすくなりそう
  • 単に機械学習アルゴリズムの説明にとどまらず、どうデバッグすべきか?どんな作業で改善できるか?という点も強調して説明があったのは非常に良かった
  • 英語は聞き取りやすい、とはいえ、これで英語の勉強をしよう、というのはちょっとチガウかな。。。とおもった
    • 日本語字幕サマサマであった
    • というか、理解出来ない英語を頑張ってやるくらいなら、別な教材なりでやったほうが良いのでは?という感じ
  • プログラミング教材は真面目にやっていないので、なんとも言えない、が全く役に立たないこともないかなと思った
    • 表記自体はかなり直感的だし、実装についても、講義で習ったアルゴリズムを実装する、ものなので思考力が問われるものでもないので、整理して理解するという意味では意外といいかもしれない
    • ただ、やっぱりOctaveの表記を覚えたところで、、、と思ってしまうので、これをやるくらいならPythonで改めて勉強するなり、補完したほうが良いかなと思った

ただ、このコースが終わったからと言って、何ができる、ということではないと思うので、これを足がかりに今後の学習をすすめていきたいなと。 GW中はお出かけできないので、DLコースをやろうと考えています。

『Python実践データ分析100本ノック』やりました

2月半ばから末にかけて、やりました。

さくっと手を動かす感じならよさげです。

筆者スペック

  • 理系大卒
  • Pythonは半年程度業務でやった程度
  • データ分析・機械学習はnumpy、pandasの使い方をなんとなく知っている程度

本の内容

公式ページ

Python実践データ分析100本ノック - 秀和システム あなたの学びをサポート

データ分析の現場にあって入門書にないもの――それは、「汚いデータ」(ダーティデータ)です。本書は、データ分析の現場では、どんなデータに出会い、どのような問題が生じ、どう対応すればよいのかというノウハウを解説します。事前の加工(視覚化)から機械学習最適化問題まで、100本ノックをこなして、ビジネス現場で即戦力になれる「応用力」を身につけましょう! Pandas、Numpy、Matplotlibなど10個のライブラリを練習します。

データ分析を業務でどう使うか?どういうデータが有るのか?に重きをおいた入門書、という位置づけかと考えています。

概要

  • データ分析は可憐なものではなく泥臭い作業が殆ど

  • どうスコアを上げるか、ではなく、どんなデータをどう扱ってどこに着目するか、の大切さを学べる本です

  • 具体的な理論やアルゴリズムの技術はこの本の範囲外です

  • サクッと手を動かす入門書としてはとっかかりとしてよいのではないでしょうか。ここから好きな領域を学んで更に深堀していく、のがよいかと

章別の感想

1章

データ分析の基礎、という感じ。データ分析をかじった人なら一回くらいはやったことがあるんじゃないでしょうか。

キーワード:データの読み込み、結合、集計、matplotlibで可視化

2章

現場でありがちな「汚い」データを確認して加工する。欠損値の補完はデータを抜く、平均で埋める、とかはあるが、変わらないものだったら他のデータから補完する、という手も使える。(同じ商品単価を利用する)

2つのデータをJOINする際には違う列名でも結合できる、と。途中でデータを出力して、そこから再び分析を再開ができます。

ちなみに、こんなエラーが出るようになりました

D:\Program Files\Anaconda3\lib\site-packages\pandas\core\[indexing.py:189](http://indexing.py:189/): SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: [http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy](http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy)
self._setitem_with_indexer(indexer, value)

pandasのSettingWithCopyWarningを理解する (1/3) - 子供の落書き帳 Renaissance

調べると結構出てくるようだ。iloc[]を使っているからかな?

キーワード:データの揺れ、クレンジング、ダンプ

3章

1,2章の復習+データ活用するための着眼点、といった感じ。

集計したデータに対して、どんな特徴があるのか、どんな傾向があるのか、を把握するためにどこに着目してどう集計すべきか、がまとまっていました。

キーワード:レフトジョイン、ジョインキー

4章

これまで加工してきたデータに基づいて、クラスタリングと線形回帰を実施しました。この章でようやく世間がイメージするデータ分析に近くなってきた印象です。

ここでのポイントとしては、

現場では、精度の高いブラックボックスのようなモデルより、精度が低くても説明可能なモデルのほうが使われることも多い

だと思いました。コンペでは多少理由がわからなくても良い結果が出ることを求めるのに対し(あくまでイメージですが)、現場ではただいい結果が出るよりは、この数値やデータに大きな影響がある、を伝えてあげることが重要なのではないでしょうか。

直感的にあの数値が影響しそう、を客観的なデータ分析で伝えてあげる、がデータサイエンティストの役目なのではないでしょうか。

キーワード:クラスタリング、K-means、主成分分析、線形回帰、LinearRegression、説明変数、目的変数、過学習、回帰予測モデル

5章

最終的には決定木を用いて、求める結果に対して予測するモデルを生成します。

ただ、決定木を使う部分は章の後半であり、やっていることも正直アルゴリズムを使って、パラメータをいじる程度です。

真骨頂としては前半部のデータの加工の流れかなと。本文中にも、

「データ分析は、データ加工が8割」とよく言われますが、実際にこのように手を動かしてみると実感できるかと思います。

とあるように、いかに使いやすいようにデータを加工できるか、がポイントであり、この本で重視している点かなと。

キーワード:カテゴリカル変数、ダミー変数化、決定木

6章

最適化問題とよくキーワードの具体的な流れや課題設定の流れを確認できました。ただ、ネットワーク可視化は小規模なのであまり有用性を感じなかったというか、それで?と思ってしまいました。

(これまでこういった手の内容を知っていなかった、というのもありますが。)

キーワード:ネットワーク可視化、NetworkX、最適化問題、目的関数、制約条件

7章

6章の輸送最適化問題を最適化計算アルゴリズムを使って解きました。

その上で、その妥当性を「あの手この手で」で確認する作業でした。

何を調査するか、確認すべきかは、現場によって異なります。最も重要なことは、結果を鵜呑みにせず、常に疑う姿勢を持って現場の業務改善に望むことです。

キーワード:pulp、ortoolpy、線形最適化

8章

この章は面白かったですね。人間関係のつながりをネットワーク的に可視化。その上で、口コミで広がっていく様子まで可視化しました。

そうしたシミュレーションを定義してやってみる、のはわかりますが、この章では実データからシミュレーションで使えるパラメータを取り出す、ことをやっていました。

「ノック78:シミュレーションのために実データからパラメータを推定しよう」は実際のデータから必要なパラメータを推測していました。この手法が他のデータではどうするか、他のパラメータではどうするか?は結構骨が折れました。しかし、ここが現場では一番の肝になりそうな部分かなと。

9章

ここからは発展編として打って変わって画像識別です。

環境構築で結構詰まって進みが悪かったです。バージョンが悪いのかなんなのか全然終わらず・・・

python-opencvでQt plugin "cocoa"が見つからないというエラー - Qiita

人型を取得するアルゴリズムを使って動画上の人の数を取得しました。結果としてはわかりやすかったですが、ノイズもあり、なかなか簡単にはいかないなと。

画像識別の流れは把握できますが、解説がサラッとしすぎているので、不完全燃焼感がありました。。。

キーワード:OpenCVHOG特徴量、Dlib

10章

アンケートデータをもとに、形態素解析によってデータ分析、最終的には類似するアンケート結果の集計まで行いました。

こちらもざっくりと概要を掴む、という感じでしたが、なかなか面白い感じでした。

キーワード:正規表現形態素解析MeCab、類似文書の検索

全体を通しての感想

「おわりに」の文章の中で以下の一文が印象に残りました。

それぞれの現場で働く担当者さんとの対話を行うなかで、より良い解を見つけていき、必要であればその都度技術を学びながら解決していく姿が、真のデータサイエンティストの姿であると言えます。

データサイエンス、は一見華麗なように見えますが、実際業務に活かす場合には泥臭い作業がほとんどだと思います。

現場の課題はなにか?理想はどこか?そのギャップはどこか?ギャップを表すためにはどうするか?ギャップを埋めるためには何が必要か?データ分析でできるか?必要なデータはあるか?などなど・・・。

そういったことを解決してようやく、さあ分析してみようか、となるはずです。(もっとも、この本の例題のように、データがあるからなんかわかることない?ということも往々にしてありそうですが。)

データサイエンティストがきれいな仕事ではなく泥臭いものだ、ということがよくわかる本でした。

伊沢拓司『勉強大全』感想

読みました。勉強記録のために始めたブログがただの読書記録になっている。。。

勉強大全 ひとりひとりにフィットする1からの勉強法

勉強大全 ひとりひとりにフィットする1からの勉強法

読むきっかけ

  • 伊沢拓司が割と好きだった
  • 受験以外でも役に立つらしく、うまく知識をみにつけるための力をつけたかった

気になったポイント

  • ホントのところ「本番で点数を取る」なんてのは、人生ベースで見ると大したことではありません。 むしろ大事なのはもうひとつの目的「目標となる大学に合格すること」、そしてその先にある「その大学で自分が何をするか」です。
  • 半ば強制的に壁が立ちはだかり、それをどう攻略するかを考えなければいけない「受験」という制度は、いつか必要になる自己分析の機会を無理矢理にでも創ってくれる、という点で価値がある。僕はそう考えています。
  • 「勉強法」とは「最短の努力で合格にたどり着くためのベクトル」のことです。
    1. 合格のためには勉強法も努力量も必要
    2. 勉強法の方向性が合っていないと、余分な努力が必要
    3. 勉強法の方向性が合っていても、努力が足りなければ合格できない
    4. 勉強法は目標との距離感を測りつつ常に見直し続けるもの
    5. 目指す目標によって、求められる勉強法は変わってくる
  • まずは、等身大の自分を確認し、すこしだけ背伸びしてみる。背伸びが板についてきたら、もう少し高く。それを繰り返し、できる範囲を少しずつ広げていった先に、成長した自分があるはずです。
  • 受験は、リスクです。人生におけるいくつもの選択肢を消し、大学に行って身を立てようというリスクを負う行為です。 決して、安全に人生を進めるための行為ではありません。消えていった選択肢のことを考え、あなたが他のことをせずに捻出した時間のことを考えた時、今進めようとしている人生の一大プロジェクトの重みを感じませんか?

感想

単なる勉強テクニックに流れるのではなく、そもそもなぜ受験するのか?からきちんと語られているのがすごく好印象で腑に落ちる説明でした。確かに今後の人生を大きく左右する出来事にはほかなりません。しかし、この時代、大学に入ったところで何も与えられませんし、なにか特別なことでもありません。(2010年代において大学の進学率は50%超で推移しています)

なのになぜ受験するのか?世間体?親からの期待?将来のため?その答えはもちろんなんだっていいはずです。しかしなにより大切なのは本人が納得して受験に取り組むこと。でないといくら勉強法を語ったところで身につかないし、役に立ちません。

「受験はリスク」とまで言う筆者ですが、同時に「受験も悪くないよ」とも言っています。これはそのとおりだと感じました。自分も振り返ってみても辛いことのほうが多かったような気がしますが、今となってはいい思い出です。(まぁ、自分の場合は受験そのものが役に立った、というよりはその先の大学生活が役に立った、というほうが正しいですが。。。)

勉強法を合格にたどり着くベクトル、と例えていましたが、これは勉強だけではなく他のことにも言えると感じました。

例えば仕事だって何らかの成果(アウトプットとも言いかえられるでしょう)を出すためには適切な方向に適切な努力が必要となります。方向がずれていれば無駄な時間や労力がかかり、いくら効率的にやっても単純にマンパワーが必要なときだってあります。一方で、間違っていたとしてもメンバーとうまく連携が取れていれば多少の修正は聞きますし、上司やクライアントによって求められるものは千差万別です。

単純に他人と比較するのではなく、あくまで自分の立ち位置、能力を見据えて、今日よりも明日、明日よりも明後日、と地に足のついた成長が大切だとも語られる本書は辛く感じてしまう受験生活を一緒になって支えてくれるバイブルになる、そう感じました。

後半はより具体的な勉強法になっていたので、ひとまずは割愛。さすがにもう国語の勉強法はそこまで重要じゃないので。。。

いやー面白かったですね。もう受験なんていらないような大人が読んでも学びがあるんじゃないかと思いました。