Coursera Machine Learning week1 その1
Week1内容
Machine Learningの定義
コンピュータプログラムが、ある種のタスクTと評価尺度Pにおいて、経験Eから学習するとは、タスクTにおけるその性能をPによって評価した際に、経験Eによってそれが改善されている場合である
教師あり学習
学習内容のデータセットに答え(ラベル)が与えられているもの
- X円で売れた家の面積
- 悪性/良性の腫瘍サイズ
等
回帰:regression
連続値を扱う - 身長 - 金額 - 年齢 などを予測する
分類:Classify
離散値を扱う inputをN種類のoutputに対応付ける(分類)
- ガンのタイプ
- 満足/不満足
など
教師なし学習
学習内容のデータセットに答え(ラベル)が与えられていないもの
Clustering
Googleニュースでは各ニュースサイトが同じ事象を書いた記事を一つにまとめる機能がある。
ネットにニュースが転がっている状態ではラベルは直接ついていない=教師なし学習である
Non-Clustering
正確な定義の説明はWeek1ではなかった。
例:カクテルパーティアルゴリズム
この例の解説がなかなかん凄かった。二つの音源が混じった音声データを個別の音源ごとに分離させた音声データを2つ作る。これがOctaveなら一行のアルゴリズムで実現できる。
Octaveを使う理由
プロトタイプを早く作れるから。実際の事業でもプロトタイプをOctaveで作る例が多いらしい。
単回帰分析(Linear regression with one variable)
の量をもつデータセットから関数を作る
この関数にinput(x)を代入すると、学習したデータセットをもとに 結果を予測できる。
目的関数(Cost function)
単回帰分析の関数のパラメーターの導出に利用。
二条誤差目的関数(Squared error function)
関数が学習セットのにおいて、結果の誤差の2乗が最小になるようなを求める。
他にも目的関数は数種類あるそうだが、単回帰分析の場合はこの関数が一番有効らしい。
学生の時に統計の授業で聞いた気がするが、2乗しているのは単に誤差の符号(+-)を揃えるのに絶対値を求めるより2乗する方が簡単だから、が理由だった気がする *1
*1:2乗することで基本的に正の数になる
さよなら2017年&2018年の目標とか
カレンダーを変える季節になりました。
- タスクを書きすぎてる感じはするけど、まぁ年の初めだけ毎年張り切ってるアレなので温かく見守ってください
- 2017年の振り返りを書こうと思いましたが、書いてる途中に内容を紛失してしまったので、断念。
- 一応1月時点なので増減はあります*1
目指すところ
- 基礎を補強したい
- 低レイヤー
- 言語パラダイム
- 学習習慣の定着
- 自宅で学習できないので
- 機械学習の入門
- モダンな開発の実践(TDD等)
- コードを沢山書く
- 時間を意識する
- 仕事も勉強も成果よりも時間を意識する
- 去年は時間を忘れて本読んでて徹夜とかよくあったので
- 仕事も勉強も成果よりも時間を意識する
Todo
年間で消化したいタスク
- PS4を売る
- 関数型言語に挑戦(Scala,Haskelあたり2,3冊読めればいいかな)
- (着手中)couseraのmachine learningのコースをやる
- デスぺ取得
- ネスペ/セスペ取得
- 1つ以上のOSSプロジェクトへのコントリビューション
- Chrome Extensionを一つ作る(やめてませんよ)
- 英語の本を2冊読む
- インフラ・セキュリティ系のコミュニティ主催の勉強会の参加継続
積読消化・読みたい本
- (読書中)Effective Java 3rd(epub)
- (読書中)プログラマのためのSQL(kindle)
- (読書中)はじめて学ぶソフトウェアのテスト技法(kindle)
- (読書中)テスト駆動開発(epub)
- (挫折中)JavaScriptパターン
- (読書中)JavaScript関数型プログラミング
- ゼロから作るDeepLearning
- (購入済)Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本
- (購入済)これだけでわかる!初歩のUMLモデリング―基礎から各種テクニックまで第一人者が伝授!!
- コンピュータネットワーク
- コンピュータ科学
- コンパイラ・リンカ等の本(未定)
- 30日でできる! OS自作入門
- 次世代シークエンサーDRY解析教本
- XP
WeeklyTodo
毎週の振り返り(週報)とかに使いたい
- Cousera(コースを最低1単元を進める、動画一本、文章1本レベルの単位)
- 毎日コードを書く(まぁスニペットでもなんでもいいんで...)
- 勉強会に出る(毎週はきついかも)
- 毎週1回はoutputを出す(Qiitaにそこそこのボリュームで)
- 早寝早起き(12時まで)
- 読書(購入済みの本は少しづつ進める,study plusとかで時間図るといいかな)
画像は今年と去年のオライリーカレンダー。東京を離れて田舎にいるときに気付きましたが、 表紙の絵は干支だったんですね。あまり正月とかイベントを意識していなかったので去年は気付きませんでした。
*1:ここに健康とか英語の目標をぶち込むかも
Effective Java 3rd に新規追加・削除された項目
- 作者: Joshua Bloch
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2018/01/06
- メディア: ペーパーバック
- この商品を含むブログ (2件) を見る
英語版を買ってTDDの合間に読書中です。(どっちもJavaなのがいいですね) 項目数は + 14 -2 って感じで項目が12個増えて 90になりました。
introductionの節で新規追加された項目がまとめてありますが、項目名まで書かれていなかったので自分でまとめてみました 2ndと見比べてみると、消えてる項目もいくつか見つかりました。
1.7以降の知見が含まれるもの(基本新規追加)
Lambdas(Java 8)
- 42 Prefer lambdas to anonymous classes
- 43 Prefer method references to lambdas
- 44 Favor the use of standard functional interfaces
Streams(java 8)
- 45 Use streams judiciously
- 46 Prefer side-effect-free functions in streams
- 47 Prefer Collection to Stream as a return type
- 48 Use caution when making streams parallel
Optionals(java 8)
- 55 Return optionals judiciously
default method in interface(java 8)
- 21 Design interfaces for posterity
try-with-resources(java 7)
@SafeVarargs(Java 7)
- 32 Combine generics and varargs judiciously
Modules (Java 9)
- 15 Minimize the accessibility of classes and members(新規追加ではなく継続)
introductionで特に紹介はなかったが増えているもの
- 5 Prefer dependency injection to hardwiring resources
- 25 Limit source files to a single top-level class
- 85 Prefer alternatives to Java serialization
消えたもの
- 旧21 Use function objects to represent strategies
- 42に統合された
- 旧73 Avoid thread groups
雑感
技術書の脱kindleは難しい
iOS/macOSのiBooksの出来がかなり良い。KindleのクライアントもiOS版ならそこそこ使えるが、Mac版となるとかなり使いにくい。 また、今後より優れた電子書籍リーダーが出現した際には乗り換えるよう、プラットフォームに縛られないePubで揃えていきたい。
私が知ってる限り、翔泳社と日経以外の出版社は新刊はほぼDRMフリーのepubを売ってくれている。これはかなりありがたいことだと思う。
個人的に購入の優先度は
DRMフリーのepub > リフロー版Kindle > PDF > 固定レイアウトKindle > 紙の本
なので、なるべく脱Kindleを図りたいが、翔泳社はDBの分野が強いので、脱kindleは難しい。
Kindleがdrmフリーのフォーマットを売ってくれると一番ありがたいのだけれども。。。 プラットフォーム作って儲けようって会社だからそれはあり得ないか。
「熊とワルツを」を読んだ
- 作者: トムデマルコ,ティモシーリスター
- 出版社/メーカー: 日経BP社
- 発売日: 2013/09/12
- メディア: Kindle版
- この商品を含むブログ (5件) を見る
リスク管理の古典です。ダンスの本ではありません。
なぜ読んだか
管理側より技術寄りのキャリアを進みたい私が、プロジェクト管理色が強いこの本を読んだ理由を書きたいと思います。
伊藤淳一さんのブログで紹介されていたから
伊藤さんのブログをよく参考にしていますが、もし中学時代の自分に本を薦めるならと題されたエントリーで一般書籍に混じって唯一の技術書として紹介されていたため、前から気になっていました。
別のテスト本でリスク管理について書かれた内容が理解できず、引っかかっていた
- 作者: 高橋寿一
- 出版社/メーカー: 翔泳社
- 発売日: 2014/01/08
- メディア: Kindle版
- この商品を含むブログを見る
メンバーの体調不良や自然災害によるスケジュールの遅延をリスクとして書き出したことを「それはリスクではない」と怒ったエピソードが記されていますが、なぜ体調不良と地震はリスクの一部でないのか腑に落ちませんでした。
そのためリスク管理というものに対して引っ掛かりを感じていました。
Amazonのサイバーマンデーセールで半額だったから
これが1番の理由雨だったりします。
上記のような様々な理由により本書を読むことにしました。
概要
本書の概要については訳者解説のこの1文が的確に表していると思います。
本書は、リスク管理の一部を面白おかしく取り上げた本と考えてはならない。本書で解説している内容は、リスク管理の王道であり、正統派である。リスク管理の基本的な考え方、アプローチ、網羅している技法、用語など、リスク管理のガチガチの専門書と比べて何の遜色もない。これ一冊を読めば、リスク管理のすべてを把握できるといってよい。これで、リスク管理の基本は学習できたと自信をもっていただきたい。
訳者解説より
リスク管理の王道を行く1冊ということですね。
リスク管理とは
私が本書から読み取ったリスク管理を以下にまとめます
それぞれリスク= 望まない結果の原因となるもの*1 について以下のアクションを行う
- リスク発見:ブレーンストーミング&選別
- エクスポージャー分析:実現する確率と影響を数値化、移行*2指標の定義
- 危機対応計画:リスクが実現したときの対応シナリオを計画する
- 軽減:危機対応措置の実施、移行前に取るべき対策の選定
- 継続的な移行監視
なお、管理するリスクからコアリスクが漏れていないことを確認する。 コアリスクとはソフトウェア開発の歴史上、トラブルの頻度が高いものを 経験的に網羅したもの。
- 内在的なスケジュールの欠陥
- 要求の増大
- 人員の離脱
- 仕様の崩壊
- 生産性の低迷
新しく知ったこと
ナノパーセント日
ベストエフォートでの納品日のこと、納品可能になる可能性を累積でグラフに表すと、初めて0%出なくなる日が来るはずです。この日をナノパーセント日と呼びます。
この日付を基準に、各リスクが移行する確率や移行時の遅れなどを期待値にして計算し、納品できる可能性を累積で表したグラフを書くことができます。
ここまでリスクが整理できていると、リスクのシミュレーションを元に現実的な納品可能日が確率的に可視化できます。
詳しくは書きませんが、ちゃんとしたプロジェクト管理はここまでしっかり見積もるのか、と少し感心しました。
価値も可視化する必要がある
なぜリスクを受け入れるか、というとその先にある価値を手に入れるためです。「これから作るシステムがどの程度重要か」という点はリスクと同じ解像度で可視化しておく必要があります。でないと、リスクを犯す理由を説明できなくなるからです。
価値はリスクを相殺する
潜在価値が高ければ重大なリスクでもとる価値がある。潜在価値が低いのなら、たいていのリスクはとるべきではない。
21章より
価値が低いとデスマーチになりがち
どうしても納期に間に合わせないといけないからデスマーチになる、ではなくて、大して価値のないものを作っているから人が追加してもらえない、 という視点でデスマーチを見ています。
全体を通しての感想
- 前半は面白かったので1日で50%ほど読むことができたが、後半で読むペースが落ちた。私の経験不足のせいだと思う。
- どうやら、臭いものに蓋をするのは日本特有ということではなく、アメリカでもそうらしい。
- 現場では対処できないリスクはリストから外すような空気・圧力がかかる。封印されたリスクは移行時に再び向き合うことになる。そうならないためにリスク管理が必要。
疑問・わからなかったこと
- 私の経験不足が原因で「そんなのアリ?」と思う箇所が何点もありました。
- どうしても間に合わない場合は段階的に納品する、という方法が紹介されていましたが、一般的にこういうことが許されるのかどうかわからない。
- 自分が作っているものの価値
- 日頃から全く意識していませんでした。
- 派遣とか委託で中抜きが何度も入ると、結局いくらでシステムを作っているのかわからない。
アジャイル開発
本書はウォーターフォール的なマネジメントを前提に書かれていますが、
工期が1年のシステムだと、1年前に欲しかったシステムしか作れない、だから仕様変更のための余裕は必ず必要と書かれています。
仕様変更は起きるのが当たり前、という態度が見れます。 備える、備えないの前に、それを吸収できないプロセス自体どうなんだ?と思いました。
アジャイル/XPのノウハウが成熟してきた今日にもし本書が書かれるならどういう記述になるのか気になるところです。
ちなみに本書がアジャイルの入門として進めていた本がこちらです
- 作者: ケントベック,シンシアアンドレス,Kent Beck,Cynthia Andres,角征典
- 出版社/メーカー: オーム社
- 発売日: 2015/06/26
- メディア: 単行本
- この商品を含むブログ (6件) を見る
逸話(雑学)
気送管
著者のデマルコがフランスの中央市場の経理システムをシステム化したエピソードが掲載されていました。システム化する前は領収書を気送管と言われる管の中を風で飛ばして経理情報の集約をしていたそうです。
にわかには信じがたいのですが、昔はこんなものを使っていたのですね。
デンバー国際空港の自動手荷物処理システム
あとがきによるとソフトウェア工学の論文で非常によく取り上げられるマネージメントの失敗例だそうです。
教養として知っておくといいことがあるかもしれません。。。
https://ja.wikipedia.org/wiki/デンバー国際空港
おまけ:なぜ「体調不良」と「震災」はリスクではないのか
体調不良
本書の中に答えはありませんでしたが、ググったら以下のようにありました。
メンバーの病欠は常に発生するリスクであり、PMはそれを想定して、従来からある程度の予想を立ててスケジュールに余裕を持たせているのであれば、あえてリスクとして管理する必要はありません。
「新版プロジェクトマネジメント標準 PMBOK入門」より
- 作者: 広兼修
- 出版社/メーカー: オーム社
- 発売日: 2010/01/26
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 23回
- この商品を含むブログ (10件) を見る
本書の内容に即して考えれば、コアリスクの
- 人員の離脱
- 生産性の低迷
あたりで管理するから、個別のリスクとしてあげなくて良い、ということでしょうか。
震災*3
7章で解説されています
万一発生した場合、プロジェクトどころではなくなるから。
H29年ネットワークスペシャリスト雑感
個人の覚書なので読む価値はないです。
試験結果
落ちました。
- 午前1:免除
- 午前2:68点
- 午後1:38点
- 午後2:採点対象外
午前2
ここで勉強しました
ネットワークスペシャリスト過去問道場|ネットワークスペシャリスト.com
このサービス、ただなのにものすごくクォリティが高いと思う。
こんな感じで他の学習者の中での分布みたいなのも無料で見れる。
試験自体ですが、毎年のことだけど、基本的に過去問の使いまし。 IPAの試験を受けるたびに覚え直している、アーランの計算やポアソン分布とかが今回は覚えてなかったのでわからず、とても悔しい思いをしました。
上に貼った画像でわかると思いますが、 こんな私が一番ボリュームゾーンある5段にランクしてしまっているので、平均的な受験者は多分こんなもんだと思う
午後1
対策はとりあえず過去問2年分解いただけ・・・こんなんで受かるわけないですよね。
メールスペシャリスト試験とか言われてばかにされていた頃とは打って変わって*1メール関連の問題は一切出されませんでした。メールにかけて対策したひと残念。
午後2
の内、1問の選択でした。
無線LANの方を選びました。 まぁ午後1で落ちてるんで何やっても無駄なんですけどね。
落ちた言い訳など
技術検証が高コスト
デスぺならpostgressインストールして動かすだけで十分だけど、ネスペの学習領域を実践しようとすると金がかかる。高機能なルーターが中古で2万弱とかきつい。*2多分インフラ系の案件に回れれば個人で購入できない機材を触って経験値をあげることもできるのだろうけれでも。
仕事に関係ない
モチベーションを保つのがきつい。Wifiなどの日頃から生活で関わりのある箇所は勉強しがいがあるけど、VLANとかメールサーバーの設定とか多分一生やらないと思うしモチベーション保つのがきつい。
周りに相談できる人がいない
インフラエンジニアは別の職種だし、社内・現場にいないし手探りで学んでいかないといけない。これは受験前にほとんど意識できていなかった。
ところでデータベースに関しては。。。
- 技術検証がタダでできる
- 仕事に直結
- 周りに相談できる人が居まくる
四月のデータベーススペシャリストは落ちる要素ありませんね😁*3
総括
- 全体的に勉強不足
- 午前2の勉強は誰でもできる。
- 良いサイトがあるので誰でも回数こなすだけで6割は超えると思う。
- 午後の勉強法がわからない。
- VLANとかVRRPとか個々の技術的な要素は学習してどうにかなると思うけど、それぞれが一緒に動いたときの挙動を考えろ、と言われると頭がパニックになる。
- 多分過去問を解き疑問点をストックするのが大事
- ストックした疑問点を日頃から意識しながら経験者と会話したり、技術書を乱読するのがいいかも?
- 試験に特化した勉強は辛い。自分には無理。
- インフラ系のスキルを上げつつ試験にも合格というスタイルが理想。
- かなり贅沢で無駄な勉強方法だと思う
- 本業が全く関係のない職業なのできついかも・・・
- インフラ系のスキルを上げつつ試験にも合格というスタイルが理想。
使った教材など
受かったわけではないけど、何かの参考に。全て私が悪いのです。
- 作者: Gene
- 出版社/メーカー: 翔泳社
- 発売日: 2012/04/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 竹下隆史,村山公保,荒井透,苅田幸雄
- 出版社/メーカー: オーム社
- 発売日: 2012/02/25
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 34回
- この商品を含むブログ (37件) を見る
ネスペの基礎力 -プラス20点の午後対策 (情報処理技術者試験)
- 作者: 左門至峰,平田賀一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/05/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
アカマイ 知られざるインターネットの巨人 (角川EPUB選書)
- 作者: 小川晃通
- 出版社/メーカー: KADOKAWA / メディアファクトリー
- 発売日: 2014/08/11
- メディア: Kindle版
- この商品を含むブログ (5件) を見る
来年の対策
受験者のブログのリンクなど
勝手にまとめました(追加予定)
午後問題を解説してくれるサイトは少ないので貴重。
ゼロからはじめるネットワーク自信ニキ – ねっとわーくじしんにきになりたい。
去年どのやつだけど、午前1免除なしの状態から1発合格。かなりすごいと思う。 勉強方法も合格にフォーカスしていて、捨てるところ取りに行くところをしっかり計画立てて勉強されている。
「第12回 セキュリティ共有勉強会」に参加
テーマはルーター。 各発表の概要と感想を書きます。グレーな内容は控えます。
DNSの設定
- 可視化
- 手書きで権威、キャッシュ、外部からアクセスできる範囲がわかるように整理されて入れば良い
- 共通化が重要
- 設定が共有(共通化)できる端末を買う
- 多少値が張ってもその価値はアリ
- 設定が共有(共通化)できる端末を買う
- 冗長化
DNSに関してはネスぺの午前で聞かれる程度の知識*1しかないので、新しく知ることばかりだった。例えば、著名なDNSサーバーのソフトは?と聞かれても一つも知らない。ちなみにBIND,Unbound,などがあるらしい。BINDのシェアが高く、そこを狙った攻撃も多いらしい。
私も過去にDNSが死んだのか、IPアドレスをブラウザのURLに打ち込んで運用で回避(笑)した経験がある。
可視化については、教えられたIPアドレスにtracerouteを打ちまくってネットワーク図を作る、ということを自主的にしたことがある。 もちろんtcp echoのreplayを返さないように設定しているノードの情報は取れないが、これがネットワークを触る権限がない自分ができる精一杯の範囲です。。。
Amazon Echoは常時録音している
Amazon Echoは「アレクサ、XXXして!」と声をかけると、 適当なアクション(天気の確認やタイマーのセット)をしてくれるパーソナルアシスタント。
「アレクサ」がトリガーになり、なんらかの音声コマンドを実行してくれる。
だがEchoはトリガーになるワード「アレクサ」を発音していない間も、常に音声データを声紋がわかる以上の音質で収集している。 wiresharkでMITM実演しようとされていたが、機器の調子が悪く肝心のアレクサがネットに繋がらなかった。
事例
アマゾンが録り貯めた音声データを警察に提出した www.gizmodo.jp
そういえばこの事例はRebuildで聞いたことがある。
感想
にわかには信じがたいが、すでに事例があるので、Echoが音声データを録り溜めているのは確実だろう。
トリガー部分の検出はローカルでできるかもしれないが、コマンド部分の自然言語処理はディバイスの性能上、ローカルではできないらしい。 だから音声データはサーバー側に送って解析する必要がある。
個人的には「アレクサ」の後の数十秒間以外は送信する必要ないのでは?と思うが。
世界中のカスタマーの生活音を録音し続けて保存できるような盗聴インフラはすごいと思うけど、それを保存するようなストレージって用意できるのか?
圧縮はしているのかもしれないが、警察から、こいつの何日ぶんの録音ファイルはよ、って催促されて出せるような形で録音しているなら相当すごい気がする。
攻撃の影響は広がる
詳細は書かないが、誰もが知っているサービスがDDOS攻撃を受けていたため、そこと同じインフラを利用していた発表者のメール環境などが死んだ、という話。事例として具体的すぎるので詳しくは書かない。
Anna Senpai逮捕
名前を知らなかったが、Mirai(Iotのbotnet構築ワーム)の作者がついに逮捕されたらしい。
飛び入りLT
デフォルトの管理パスワードで放置されているルーターが結構ある。
ちゃんとした業者から買いましょう。という指摘。
POSのセキュリティ問題
世間で使われているPOSのシステムの大部分はサポートの切れた Windows XP Embeddedであり、セキュリティリスクがある、との話。
トークはもう一個あったが内容がグレーなので書かない。
ほか
雑談や質疑応答時に気になった内容についてまとめます。
スマートフォンのセキュリティソフトはあまり役に立たない
DL時にハッシュをパターンファイルと比較するだけ。悪意のある動きの検出にはルート権限が必要なため、あまり役に立たないらしい。*2
「クローズドネットワーク」という言葉を過信してはいけない。
従業員が勝手に設定をいじったり、ネットワークに接続できる機器を無断で導入する事例などが紹介された。セキュリティの強度は一番弱いところで決まるが、行動力があるリテラシーのない人は非常に危険。
UPnPは脆弱性の元。無効化するのが基本。
らしいです(詳細不明)
現場の環境が原因でネットワークが繋がらない、という現象は現職の方も苦労されている
- 加湿器
- 電波を遮断する素材
- 従業員・客・掃除のおばちゃんがルーターの電源を勝手に抜く
- LANケーブルを服掛けに使う
等。人が絡む部分はどうしようもない。
低スペPCの現場の話
自分のところだけだと思っていたら、低スペPCを使わされる環境は結構あるらしい。 個人的には作業効率云々よりも、モチベーションが下がるのでやめてほしい。
全体の感想
今回もかなり面白かった。
自宅で貰い物のルーターをいじって遊んでいるが、わからないことが多いので、ルータの知見を広げるために参加したが、ルーターにまつわる話はそこまで多くなかった気がする...