概要
年寄りなりに日々学んでいることを書きます。
若い世代の方々が技術習得に熱くなっている姿に触発されてます。フロント・Web系はいろいろアリすぎて学習が追いつかないので自分の興味のある分野に特化して鍛錬してます。
ちなみに組織論とかその手の話は一切ありません
自己紹介
- もうすぐ50才(見た目は「そうなの?」と言われるものの進み行く老眼には勝てず)
- 昔は基盤を、今はなぜか業務チーム、業務コア以外全般を。
- しばらく前はLPIC、Java、Oracle
- 最近は統計、Pythonが中心(ただし業務とは全く関係なし)
- 近々、データ分析コンペにも取り組む予定です(ぜひ一緒にやりましょう)
統計検定やPythonの社内教育(学習サポート)を繰り返しご提案しています。いずれ取り上げていただければいいのですけどね。
http://www.toukei-kentei.jp/
https://www.pythonic-exam.com/exam
ここ1年の振り返り
テーマは機械学習・深層学習にしているわけですがあるものを使うだけではなく自分で何かを生み出せるようになりたいのですよね。何が必要か考え大きく4つかなと考えてます。
独学が中心なのでなんとなく読んで実装して満足してしまいがちなのですが大抵はまだまだ理解不足。合わせて資格試験も取るようにして練度を上げるようにしています。
(会社から学習サポートがあるとおすすめの方法にできるのですが、、、この分野は「自腹」です。)
1.数学を根底とした基礎力アップ
趣味で数学もやっていたので機械学習・深層学習に必要となる「微分・偏微分・代数」は問題なし。数理統計は「あやふやで気持ち悪い」を理由に避けていた思い出がありますが、改めて独学で学びました。数年前に統計検定2級と統計専門調査士の資格を取得しています。現在は統計検定1級をめざして学習中です。
http://www.toukei-kentei.jp/
演習が重要なので読むだけでなく手を動かして問題を解いてます。通勤時では無理なので始業前とか自宅で。今は時間を設定せず解いていますが「実務」を考えると短時間で膨大な量を解けるようになりたいところ。試験を受けてみるとわかりますが全然時間が足りません、すなわち本業でやっている方々はこの量をこなしているということ。。。
区分 | 書籍名 | 一言 | リンク |
---|---|---|---|
統計 | 現代数理統計学の基礎 | 淡々と演習中 | https://www.amazon.co.jp/dp/4320111664 |
統計 | 数理統計学演習1 | 淡々と演習中 | https://www.amazon.co.jp/dp/4563008095 |
統計 | 数理統計学演習2 | 淡々と演習中 | https://www.amazon.co.jp/dp/4563008109 |
機械学習 | 初めてのパターン学習 | 斜め読みせず、証明問題を解く | https://www.amazon.co.jp/dp/4627849710 |
機械学習 | 統計的学習の基礎(英語版:PDF) | はじパタを読んでから、辞書的に使う | https://web.stanford.edu/~hastie/ElemStatLearn//download.html |
圏論 | 圏論の歩き方 | 抽象度高い。。。。 | https://www.amazon.co.jp/dp/4535787204 |
これから統計を学びたいという方にはこちらをお勧めします。
完全独習 統計学入門
https://www.amazon.co.jp/dp/4535787204
##2.python実装力
言語仕様理解と実装量がテーマになります。
会社には事例も余りありませんでしたので独学。なんとなく読んだだけでは不足しますので写経と資格試験にて基礎力習得を行いました。ただしこの資格試験合格水準になればデータ分析が自在にできるという代物ではありません、まだまだ足りません。
Python 3 エンジニア認定基礎試験
https://www.pythonic-exam.com/exam/basic
Python 3 エンジニア認定データ分析試験
https://www.pythonic-exam.com/exam/analyist
(β試験開催時に取得しました、来年本試験開催になります)
区分 | 書籍名 | 一言 | リンク |
---|---|---|---|
python | 入門 Python 3 | まずはここから | https://www.amazon.co.jp/dp/4873117380 |
python | Pythonデータサイエンスハンドブック | numpy/pandasを使いこなす | https://www.amazon.co.jp//dp/4873118417/ |
python | Effective Python | みんな大好きEffectiveシリーズ | https://www.amazon.co.jp/dp/4873117569 |
この水準まで上がれば後は機械学習・深層学習をテーマに写経する・問題を解くの繰り返しをやってます。
区分 | 書籍名 | 一言 | リンク |
---|---|---|---|
機械学習 | ゼロから作るDeep Learning | フレームワークに頼らず内部の実装基礎を。偏微分・連鎖律が出てきます。 | https://www.amazon.co.jp/dp/4873117585 |
機械学習 | 前処理大全 | SQL,R,Pythonを駆使したデータ整備技術。参考になる書き方多い。 | https://www.amazon.co.jp/dp/4873118689 |
機械学習 | 機械学習のための特徴量エンジニアリング | モデル性能向上に必須技術として。特徴量生成はこうやるのか。。。 | https://www.amazon.co.jp/dp/4873118689 |
機械学習 | Python機械学習クックブック | 要素のバイブルとして | https://www.amazon.co.jp/dp/4873118670 |
機械学習 | あたらしい機械学習の教科書 | 数式に抵抗ない方にはおすすめ | https://www.amazon.co.jp/dp/B078767Y56/ |
kaggle | Kaggleで勝つデータ分析の技術 | ガチ勢の凄さを感じました、がんばります。 | https://www.amazon.co.jp/dp/4297108437 |
kaggle | 作ってわかる! アンサンブル学習アルゴリズム入門 | kaggle必須スキルの1つとして。弱いものも総動員するんだと | https://www.amazon.co.jp/dp/4863542801 |
機械学習(仕掛中) | PyTorchによる発展ディープラーニング | pytorchに切替えて学習中 | https://www.amazon.co.jp/dp/4839970254 |
機械学習(仕掛中) | ベイズ推論による機械学習入門 | これから読みます | https://www.amazon.co.jp/dp/4061538322 |
数理最適化(仕掛中) | Pythonによる数理最適化入門 | 機械学習を持ち出さずとも数理最適化で対処できることも多いハズだし、機械学習の部品として利用もある | https://www.amazon.co.jp/dp/4254128959 |
機械学習(予定) | 達人データサイエンティストによる理論と実践 | 改めて第2版が欲しい(入手未済) | https://www.amazon.co.jp/dp/B07BF5QZ41 |
その他、ガチ勢のサイトを参考にさせてもらっております。
そして「はじパタ」や「現代数理統計の基礎」による学習のありがたさがこの段階で実感できます。
##3.アルゴリズム考案
書く・動いた、これでOKというわけには行かず。計算量が大量になる機械学習においても効率の良いアルゴリズム鍛錬が必要だし、理解・使いこなせるアルゴリズムも増やしていく必要があります。もちろん理論も必要だしひらめきも必要になります。
競技プログラミングコンテストサイト「AtCoder」
https://atcoder.jp/?lang=ja
毎週土曜日開催、問題文印刷ページがありますので出力した物を持ち運びちょっとした隙間時間を使って鍛錬してます。。。
##4.業務での+α
自分が業務チームに異動となるちょっと前くらいから「基盤の自動保守化」や「クラウド利用」が話題になり、人を介さないことによるコスト削減・ミス軽減などが提唱されている時期でした。たしかに・・・と思うところもあり学習を初めた頃でした。
では基盤チームに比べて業務チームはCIといった取り組みが浸透していたかというと。。。大きな差はなく・・・もちろんmaven+jenkinsによるCIはありましたが部分的な自動化まででした。
ということでせっかく自動化をやり始めたところで、Excelと管理台帳による手作業管理に戻るのは辛かったので様々な管理・手作業をPythonとJenkinsを使って自動実行化(夜中にスケジュールして朝にはすべて完了)していきました。
この改善タスクの過程でPythonを実践で磨けたのだろうと思います。目先のだるいタスクがJenkins様が全部やってくれるようになるとプチ達成感もあります。振り返ってみると結構な数の小粒のツールを書いてました。
- pandas
- numpy
- グラフ作成
- データ編集
- pythonでのExcelの扱い
- pythonとRedmine連携
- OSとの連携
- Postgresとの連携
- つまづきやすい問題対処ノウハウ
- bash(awk/sed/find/grep)とのテキスト編集連携
- 正規表現
そして「脱Excelマクロ」も実現しました。もう2度とマクロは書かないと誓うことに。
(マクロは人が起動しないと、そして高負荷・長時間マクロで端末占拠。。。もう戻れない)
手作業→Jenkinsとなったことで時間捻出ができプラスαの事もやれる余力が出て、良い循環に繋がっているかなと思います。最近は開発運営上で何かしら問題を発見するとだいたいは当日中に対策を作って人の手を介さない運用をスタートしてる感じですね。突貫で作ることもあるので雑なコードもあり、そのうちリファクタリングもやろうと思ってます。
PythonとJenkinsで「自前RPA」作っちゃった状態ですね。。。
なおここは外部サイトということもあり、社内事情を具体的に書くと問題がありそうなので興味のある方は個別にお問い合わせください。
#今後
まだまだ道半ばではありますがようやくデータコンペに挑む準備ができたかなと思います。かなり回り道をした1年でしたがきっとどこかで磨いた基礎力が活きてくる局面を期待してます。
来年は
データ分析コンペ参加やガチセミナーにも参加してやれることを広げられたらいいかなと思ってます。学生時代に専門で学んできた人がいるならぜひ一緒にやりましょう。
https://www.kaggle.com/
https://signate.jp/competitions
最近の興味
- 因果推論抜きに物事の関係は安易に語れないなと感じる日々。
- 業務チームには居るが具体的な分析テーマがもっと欲しいところ。。。ならば趣味も兼ねてセイバーメトリックスから学ぶことに。特徴量指標生み出しのヒントがありそう。
- 自宅環境はnotebookからvscodeに切り替えました。捗る(notebookデフォルトサポート)。ちなみに会社ではvimerです(プラグインなしの素で使い倒す)。
- 自転車、ブルベ(200km,400km)参加
区分 | 書籍名 | 一言 | リンク |
---|---|---|---|
因果推論 | 岩波データサイエンス vol.3 | 特集:因果推論――実世界のデータから因果を読む | https://www.iwanami.co.jp/book/b243764.html |
特徴量 | デルタベースボールリポート | 特徴量作成のトレーニングとして、趣味の野球を通じて | https://deltagraphs.co.jp/ |