データ分析学習記録(仮)

データサイエンス・AI・Web・エンジニアのキャリアについて

4月の振り返りと5月の目標

4月の振り返り

やったこと

機械学習

最近、機械学習アルゴリズムを人に説明することの難しさを知り、 まずは自分でアルゴリズムについてよく理解できていないとダメだよねということで、決定木を自分で実装してみました。 よく使われるアルゴリズムなので簡単に実装できるかと思っていたのですが、 再帰的にNodeを実装したりpruningのアルゴリズムが分からなかったり

Kaggle

4月公開されたKaggleのLearnページLearn | Kaggleが非常によくできており、 Machine LearningとRを学びました。

あと、現在開催中のコンペに参加してみました。 TalkingData AdTracking Fraud Detection Challenge | Kaggle 今の所いい結果は出せていないですけど、データの取得から結果の出力までの一連の流れは掴んでおきたいです。

R

Kaggleのカーネルを読むために始めました。 今月は環境構築とStanでMCMCを少し。個人的にはPyMCよりこっちの方が好き

ビッグデータ

業務だとGBのデータしか触れる機会はないのでMongoDBで十分なのですが、いい加減独学で何かやろうかと。 HadoopとSparkで迷いましたが、Sparkの方を先に勉強しようと思います。

この本はCRISP-DMに沿ったデータ分析のフローを実践しており、 データの前処理からモデル評価までを1つのフローで行うアーキテクチャの構築方法が書かれていました。 設計次第で分析の試行回数を稼げるということなので、実務やKaggleにも活かせそうな内容ですね。

アプリケーションエンジニアのためのApache Spark入門

アプリケーションエンジニアのためのApache Spark入門

セキュリティ

情報処理安全確保支援士の勉強をした。 勉強内容はWebサーバへの証明書導入だったり、Webアプリケーション開発の際のCSRF対策だったり以外と実務に生きていますね。 今後は、社内インフラや業務プロセス改善へ向けてフィードバックしていきたいです。

Web開発

久々にアプリケーションの開発の仕事がありました。 サーバーサイドはbottleによる簡単なコントローラの実装で問題ないのですが、 フロントサイドではVue.jsが使われていて、かなり困る。 WebpackやVuex、Vue routerの使い方を学びトイモデルを実装しました。

読書

主にロジカルシンキングとデータ分析プロジェクトの進め方に関する本を読みました。

ジムへ通う

先月の徹夜で体力不足を実感したので、ジムへ通うことに。 室内で走るのは以外に気持ちよく無理なく続けられそう

5月の目標

ディープラーニングやる以前に統計学の基礎が足りていないと実感しているので 頻度統計学->ベイズ統計学->機械学習->ディープラーニング->強化学習の優先順位で勉強していこうと思います。

やりたいこと(優先度順)

Kaggle

Apache Sparkを利用してKaggleのコンペに参加しようかと思います。

R

友人のおすすめ本

グラフィックスのためのRプログラミング

グラフィックスのためのRプログラミング

可視化の文法?が分かるようになるらしいです。

機械学習

この本に書かれている内容は自分で実装できるようにしておきたいです

はじめてのパターン認識

はじめてのパターン認識

決定木のあとはboostingとバギングを実装する予定です。

資格

6月に受ける予定の資格試験の勉強

  • 統計検定準1級
  • TOEIC 900

情報処理安全確保支援士(登録セキスペ)を受験したので反省等

本日(4/15)は高度情報処理試験の実施日だった。久々に受けた資格試験で反省も多かったので忘れないうちに反省等を残しておこうと思います。

 

  • 受験のきっかけ

普段の業務に顧客の機密データを扱っていることもあり、会社でもセキュリティを重視するよう最近よく言われます。ただ、セキュリティを守るとはどのようなことなのか、個人の業務にどのように反映させれば良いのか自分なりに納得した上で対策はしたかったので、試験を通じて一度体系的に勉強してみることにしました。

 

  • 対策

試験対策の期間は1週間ほどで、以下の書籍を読んで過去問を2年分(試験4回分)解いきました。普段の業務にかぶる部分も多いこと、以前取得したネットワークスペシャリストと被る範囲が多いことから1週間で十分との判断でしたが、セキュリティ攻撃・対策で覚えなければいけない事項が思ったより多く、参考書のの愛用を十分消化仕切れませんでした。

  • 利用した参考書
情報処理教科書 情報処理安全確保支援士 2018年版

情報処理教科書 情報処理安全確保支援士 2018年版

 

かなり詳細に書かれた参考書だが、全ては読みきれなかった。後半の午後試験対策を重点に勉強した。 

 

絶対わかる情報処理安全確保支援士 2018年春版

絶対わかる情報処理安全確保支援士 2018年春版

 

過去問1回分を詳細に開設した内容。ネットワークスペシャリスト試験でも同様の参考書が役に立ったと思ったので、今回も利用した。本当はもう何回分か読むべきだろう。 

 

 持ち運びに便利なので、電車等で利用した。後半の問題と回答の事例集は点数だけ取りたいなら役に立つと思う。

 

  • 試験の感想

午後2試験で出てきたDom-based XSSは初めて聞いたレベルで、やはり付け焼き刃の対策なのでかなり知識不足に感じましたが、文章読解力だけでほとんど回答はできました。あとネットワークの構成を考えるような問題は少なめで、ネットワークスペシャリストと比べて時間もだいぶ余りました。IPAは知識の有る無しより、問題文から状況を把握して正しく対策を建てられるかを重視しているかもしれません。

 

証明書の発行等は実務でも行なっているので、セキュリティにどう有効なのか確認するいい機会になりました。

また、久々にネットワークを勉強して、復習にもなったので合否に関係なくインフラの勉強は続けていこうと思います。

ただ当分はK集中的にKaggleやろうかという気分です。

Vue.jsにおける親子関係

フロントエンドの作成にVue.jsを使い始めたのですが、コンポーネントの使い方について少し悩んだので簡単にメモ

Vue.jsの親子関係

結果

  • item1
  • item2
  • item3

処理の流れ

  1. 2行目, v-for内のitemsに対して親(app)からデータ(items)が渡る
  2. 2行目, :child=‘item'によって親のitemsの要素itemと子(child)内で宣言したprops(childという名前)が紐づく
  3. props子コンポーネントのテンプレート内で親のデータを利用を(child.name)といった形で利用可能になる
  4. 以上の処理をitemsについて繰り返し、テンプレートを作成

機械学習や関数型についても少しづつ書いていきたい