遙かなるマチョジニア

マッチョXエンジニアを目指すブログ

要約 「そもそもマネジメントとは、何をすることなのか?〜マネージャーの役割とは何か? 〜」

田端信太郎さんが語るマネジメント論の要約

www.youtube.com

「マネジメント」とは

生産性をあげるためにボトルネックを把握し、
その改善のために現場の状況をふまえて、
今現場が前提としている制約条件を
トータルで生産性を上げるように
生産要素や経営資源を最適に配分しなおすこと

間違ったマネジメント

世間でよくある例。

人を管理する、指導する、いばる、監視する

大間違い。

コロナで業務の見方を根本的に見直す時期に、 マネージャーや管理職が本質的に何をするのか。

スクショ撮るとか仕事しているか細かく確認するとかのごっこをしている奴がいる。

本当のマネジメント以降に説明する。

レストランの店長で例える

マネジメントは何をINして何をOUTするのか理解していないといけない。

f:id:shuheilocale:20200429151354p:plain

労働生産性を上げるのがマネージャーの仕事

出すべきアウトプットは「おいしくてあっかい朝食をリーズナブルに提供」

より少ないINPUTからより多いOUTPUTをどう引き出すか。

倍の時間働いたから倍の成果出したのは当たり前だし、 人数を倍にしたら売り上げが倍となるのは当たり前。 マネージャーとしての付加価値はない。

労働生産性=アウトプット/インプット

この労働生産性を上げるのがマネージャーの仕事。

以降は、労働生産性をどのようにして上げるか。

ボトルネックに対応する

「リミッティングステップ」

ザ・ゴールでは、「ボトルネック」と呼ばれている。

朝食メニューとして、

  • ゆで卵
  • トースト
  • コーヒー

卵を茹でるのが時間がかかるのであればそれがボトルネックとなる。

客数を増やせば売り上げが増える。そのために何をすればいいか。

茹で卵をアウトプットとすると、生卵がインプット。 生卵を茹でるから、茹で卵になる。その場で茹でるという工程が本当に必要なんだろうか?

あなたの店のウリが何なのか、差別化の厳選が何なのかになっていく。 マーケティングブランディング的にパンであれば、 茹で卵で差別化する必要はないのに、それがボトルネックになっているのであれば 前の日の晩に茹でておくという対応もあり。

お客が望んでいるものと提供したい価値とボトルネックを突き合わせていくことがマネージャーの仕事。

ケースバイケースで調整する

繁盛して人が増えてきた場合、 自分一人では調整する必要がないが、店員を増やしていくと、 どう言う風に役割分担をするか。

一人の店員が一人の客を担当するというやり方もある。 トースターが空くのをまつと行列になる場合がある。 この場合は、トースターの能力がボトルネックになる。

どうすればいいか。

トーストを焼く担当を決めて、トーストをとにかく焼く。 そうすると卵を茹でるペーストトーストを焼くペースが合わない場合は、 トーストばっかり余る。 分業した場合は、全体的な観点から調整するのもマネージャーの仕事。

5人から10人になった場合には指示を出す人間のほうが大事になってくる。

トースターを購入するのもあり、設備投資の話。 マネージャーがそれに気づいて稟議をあげるのも典型的な仕事。

ボトルネックを解消するために必要なリソースをは何か。

文脈に依存してケースバイケースを考えるのがマネージャーの仕事。

1 on 1でボトルネックを発見する

本当のボトルネックを探すところが1 on 1の目的である。 改善の余地があるこを発見する。

OUTPUTを考え直す

本当に先にあげた3点セットが必要なのか?トーストは本当に必要か? 自分たちの提供価値をたまに考えてみるのも本質的なマネージャーの仕事。 戦略自体を見直す。

ボトルネック解消のための研修はあり

研修が大事なのは、社員の知識不足スキル不足が本質的なボトルネックであればそれを解決する手段になるから。 でも実際に多いのは、現場でのボトルネックを解消するべく研修するのではなく 人事の自己満のための研修であるから問題。

おすすめ書籍

田端信太郎さんが1冊選ぶとしたらこれ、 HIGH OUTPUT MANAGEMENT

クリフトンストレングスの結果

クリフトンストレングスの結果がこちら。

f:id:shuheilocale:20200429105359p:plain
ストレングス

2011年のコードがいまだに有効だったのに少し感動したしほっとした。 これでダメだったら、クレームを送るべきか迷ったからだ。

概ね合っていると思う、想像していた結果と似ていたので。 この結果を受けて少し整理すると、 自分は好きなことに対して没頭したい、それもできれば一人でしたい。 残念ながら、相手の個性を尊重はするが、足を引っ張るくらいならいらないと思ってしまう。 自分が達成したいことへの阻害要因になるからである。 かたや、専門スキルを持っていて自分より優れた人には頼りたいと思っている。 メンターのような人間は欲しい。つまり強欲である。 give and giveの時代だが、take and takeの欲があふれている。

でも一応周りに気を使って隠しているのだ。 とりあえずフリーランスがいい気がする。そしてメンターはお金を払ってそういうサービスを利用するのがいいのかしら。

目標整理 2020/04/28

自分がなりたいもの、やりたいことの整理を定期的にする。

ただし、なりたいものがわからない。今年34歳になるというのに、自分がどのような人間になりたいのかは思いつかない。 ただ漠然とITエンジニアとして何かを成し遂げたいというものはある。 基本的に新しい物好きである。浅く広く、つまみ食いを好む。 あとはできれば楽がしたい。 netflixamazon prime videoは最高。 勉強したくない、でも頭良くなりたい。

やりたいこと

さて、直近のやりたいことである。

  • atcoder
  • kaggle
    • コンペ全般で、自分のデータ分析のスキルをあげたいし、コミュニティにも参加したいし、市場価値もあげたい。
  • aws/gcp
    • クラウドの知識がないと恥ずかしくて外に出れない。
  • swift
    • ディープラーニングを実装することができるが、ubuntuマシンでのはなしである。自分の作品を世に広めるためにはやはりスマホへの実装が良いと思っている。
  • オンライン英会話
    • 外国人と英語でカンバセーションできたらかっこいいよね。
  • 副業
    • 明日会社が潰れたり、クビになっても、平然としていられるようなセーフティネットがほしい。

これくらいだ。とりあえずこれくらいだが、欲張り過ぎだとは思っている。 習慣化する必要があるのは、atcoder、kaggle、オンライン英会話かなあ。

とりあえず2011年に買った書籍を読んで自分の才能を見つけようと思う。

2.0出てんじゃん!

コロナの件で浮き彫りになった無能な社長

自分の実体験の話である。

まず当社の特徴。 IT企業であり、技術的に在宅勤務(テレワーク)は可能である。 社長がセキュリティに過剰に反応、以前情報漏洩を起こしたことがあるらしくそれ以降過敏になった。 ただし、その過敏な反応は、「セキュリティをいかに高くするか」ではなく「セキュリティという問題からいかに逃げることができるか」というもの。 つまりオフライン一択である。

具体的なエピソードとしては、ある社員が社長にセキュリティについての考えを質問したところ、

「ネットにつなげたら、必ず情報を抜かれる」

「テレビででやっていた」

「プロに狙われたらおしまい」

「ここでいうプロとは、中国の人民解放軍

という回答であった。

ちなみに、テレビとは、ほこたてである。

news.yahoo.co.jp

そのような会社で、今回のコロナの件にどう対応したか。

まず観点として

  • 人命
  • 企業の存続

がある。そして当社は、2つを両天秤にかけていた、ということ。

当然、在宅勤務(テレワーク)という手段は、上記2点を両立させることが可能である。 しかし、先に述べたように、テレワークは我が社が最も重要視しているセキュリティの条件をクリアすることができておらず、実行不可能であった。

コロナの件で、最優先でのテレワークを提案したところ、 「コロナだからといって、テレワーク前提で考えてはいけない。まずは出社、テレワークでセキュリティ上問題がなければ、テレワーク、しかもこれは暫定対応であり、緊急事態宣言の期間のみである。」 とのことだった。

セキュリティ上の問題がない、というのはつまり、 ネットに繋げたら全てデータは盗まれる前提で、 データを盗まれても問題がないということであり、 ほとんどの業務では実行不可能である。

そして昨日のニュースがこれである。

www3.nhk.or.jp

7割。その数字は当社にとっては果てしなく重い。

ただし、このような事態を含め、今後の働き方改革を想定した上では、 テレワークはより身近になるし、時代の流れを想像することは容易いにもかからず、 それを切り捨てて、オフラインを選択したことは甚だ無能だと感じる。

実際に、今回のコロナの件については、全ての対応が後手後手となり、付け焼き刃的なものである。 コロナに感染する前に、振り回されている現場が過労死してしまうのではないか、という状況である。

もしも、ほんのわずかでもパンデミックのリスクや時代の流れを想定し、対応策を検討していれば、 今回のような杜撰な対応にはなっていなかったはずで、 全ては「ネットに繋がるとプロの情報を盗まれる」という1点の理由でテレワークを考慮されなかったのである。

私自身かなり前、オンライン上での開発を想定したいという提案をしたが、一蹴されたことがあった。 理由は同じである。

リスクとリワードを冷静に考えて、少しでもオンラインに目を向けていたら、 「オンラインで働くことを前提にして」考えていたら、今回のような結果にはなっていなかったはずである。

さて、社長の口癖として「プロ」というのがある。

「プロのエンジニアというのもは〜」

「プロのリーダーというのもの〜」

と、プロのべき論を語るのがとても好きなのである。

また、

「驚きと感動」をスローガンにしている。

実態はただただ、「驚愕」である。

さて、「プロの経営者」と言うのものはどうか? 常に様々なシナリオを想定していなければならないと考える。

コロナの件が話題になった時、

  • 日本では、コロナが流行しなかったら?
  • 日本で流行しても、限定的だったら?
  • 日本で流行して、自粛ムードになったら?
  • 日本で流行して、緊急事態宣言が発動したら?
  • 日本で流行して、在宅勤務を要請されたら?
  • 当社のステークホルダ(及従業員の親族)に感染者がでたら?
  • 当社にコロナ感染者がでたら?
  • 当社のステークホルダ(及従業員の親族に)感染者がでて、死亡したら?
  • 当社にコロナ感染者がでて、死亡したら?

このようなシナリオを考えて、それぞれのシナリオが発生したら即座に舵を切るべきであろう。

当社の社長はどうか?

何が起こっても、方針は変わらない。

「驚きと感動と人民解放軍

果たして今後、社長ひいては当社は変わることができるのであろうか。 目の前のパンデミックから逃避して、人民解放軍と戦う姿はさながらドン・キホーテのようである。

Kaggle本の個人的なメモ

Kaggleで勝つデータ分析の技術

Kaggleで勝つデータ分析の技術

Kaggleで勝つデータ分析の技術

  • Kaggleの公式ブログ No Free Hunchで分析コンペの進め方やソリューションが解説されたインタビュー記事が公開されている。
  • Fβ-scoreっは、F1-scoreからrecallとprecisionのバランスを、recallをどれだけ重視するかを表す係数βによって調整した指標、scikit-learnのmetricsモジュールのfbeta_scoreを用いる

欠損値を指定して取り込む方法

train = pd.read_csv('train.csv', na_values=['', 'NA', -1 , 9999])
  • 標準化はscikit-learnのStandardScalerクラスで行える。
  • 対数変換の一般化、Box-Cox変換
  • 負の値を持つ変数にも適応可能、Yeo-Johnson変換
  • ワイドからロングフォーマットにするには、DataFrameのstackメソッドを使う
  • ロングからワイドフォーマットにするには、DataFrameのpivotメソッドを使う

3.11 時限削減・教師なし学習による特徴量

  • Otto Group Product Classification Challengeでは、t-SNEで得られた特徴量を加えるだけで大きく精度向上に寄与した。

  • 特徴量作成が最も重要で、分析コンペの半分から8割の作業は特徴量作成に費やす

  • ハイパラーパラメータは、変更した時にどのくらい影響があるか時折見ながら、本格的な調整は終盤で行う
  • モデルはGBDTでますは進めていき、タスクの性質によってニューラルネットを検討したり、アンサンブルを考える場合は他のモデルも作成する
  • データやタスクの理解が進むとともに、バリデーションの枠組みも変更することもある
  • モデルの種類・ハイパラーパラメータ・特徴量のセットの組みの大きな枠組みでのモデルと捉えることができる。これを柔軟に入れ替えることのできるコードを書く。

分析コンペ用のクラスやフォルダ構成

  • Modelクラス、Runnerクラスを作り計算を行う。また、UtilクラスやLoggerクラスについても作成する。

Modelクラス xgboostやscikit-learnの各モデルをラップしたクラスであり、学習や予測を行う。Modelクラスを継承し、ModelXgbやModelNNといったクラスを作成する。

Runnerクラス クロスバリデーションなどを含めて学習・予測の一連の流れを行うクラス。データの読み込みもここで対応する。Modelクラスを保持し、学習、予測はModelクラスに実行させる。継承せずに使用するが、データ読み込み処理を変更したい場合など、継承してその部分だけを変更し使用することがある。

Util、Loggerクラス * ユーティリティメソッド * ファイルの入出力なのどのユーティリティメソッド * ログの出力、表示 * 処理のログをファイルとコンソールに出力する。途中で異常終了した時の原因把握や処理にかかる時間を見積もりたいときには実行時刻をつけてログを残しておくと便利。 * 計算結果の出力、表示 * 各モデルのバリデーションスコアをファイルとコンソールに出力し、集計できるようにする

フォルダ構成 コードはcodeとcode-analysisディレクトリにのみ保存する。 input --- train.csv、test.csvなどの入力ファイルを入れるフォルダ code --- 計算用のコードフォルダ code-analysis ---- 分析用コードやjupyter notebookのフォルダ model --- モデルや特徴量を保存するフォルダ submission --- 提出用ファイルを保存するフォルダ

Modelクラス init( run_fold_name, prms) train(tr_x, tr_y, va_x, va_y) predict(te_x) save_model() load_model()

Runnerクラス init(run_name, model_cls, features, prms) run_train_fold(i_fold) run_train_cv() run_predict_cv() run_train_all() run_predict_all()

private method build_model(i_fold) load_x_train() load_y_train() load_x_test() load_index_fold(i_fold)

  • 評価指標によっては各foldのスコアの平均とデータ全体での目的変数と予測値から計算したスコアが一致しない。例えばMAEやloglossではそれらが一致するが、RMSEでは各foldのスコアの平均はデータ全体で計算するより低くなる

  • foldごとに含まれるクラスの割合を等しくすることを層化抽出(stratified sampling)と呼ぶ。

  • まずベースとなるパラメータで学習させる、口にもし簡単に調整を行いたい場合は1-3種類のパラメータとそれzれお2-5個の候補程度でグリッドサーチを行う、本各区的に行う場合はベイズ最適化を行う

  • XGBoot Parametes, Notes on Parameter Tuning

  • Parameters(lightgbmのドキュメント)、Parameter Tuning(lightgbmドキュメント)
  • Complete Guide to Parameter Tuning in XGBoost(Analytics Vidhya)
  • PARAMETERS( Laurae++)
  • CatBoost vs. LightGBM vs. XGBoost( Towards data Science)
  • Santander Product RecommendationのアプローチとXGBoostの小ネタ

xgboostの具体的なパラメータチューニング方法 * 本格的にはhyperoptに任せる * 決定木の数は十分多くして、あーリーストッピングにより制御 * 学習率etaはチューニングでは0.1、提出するときは小さくする * チューニングは時間短縮のため1foldのみ、実際にモデルを作成・予測する際は異なる乱数シードで分割したfold

実際のパラメータ探索範囲(種類、ベース、範囲) eta 0.1 固定 num_round、 - 、十分大きくしてアーリーストピングで最適な決定木の本数を設定 max_depth、 5、 3-9一様分布に従う、1刻み min_child_weight、1.0、0.1-10、対数が一様分布に従う gamma,0.0、1e-8-1.0対数が一様分布に従う colsample_bytree, 0.8, 0.6-0.95、一様分布に従う0.05刻み subsample , 0.8, 0.6-0.95、一様分布に従う0.05刻み alpha 0.0, デフォルト値としておき余裕があれば調整 lambda, 1.0,デフォルト値としておき余裕があれば調整

Kaggle スタートブック

  • light gbm
  • 大きめの_max_binを使え,300
  • 小さめのlearning_lateを使え、0.05
  • 大きめのnum_leavesをつかえ,40

ディープラーニング E資格の合格方法

DLA Deep Learning for ENGINEER 2019 #1 (通称E資格)に合格しました。

f:id:shuheilocale:20190910190932p:plain
合格証書

合格率は67%と比較的高めですが、受験するために修了する必要がある講座である程度ベースアップ&足切りをしていることを考えると、これくらいの合格率で問題ないと思います。

以下、勉強法や感想などを紹介します。

勉強方法

E資格を受験するためには、JDLA認定の講座を受講し、修了する必要があります。 自分が選んだのは、SkillUpAI/です。

www.skillupai.com

理由は、合格者の半数近くが当講座の受講生だったため、実績があるから安心できるかなと思ったからです。 ただし、地方なのでオンライン講座にて、仕事をしているので夜と土日を使って受講しました。

試験1ヶ月前くらいまでは、この講座についていくことだけをしました。 予習動画見て、宿題を解いて、講義動画で復習、 さらに空いた時間に修了試験の問題と提出課題の実施。 この作業が完了したらもう試験まで1ヶ月切るくらいです。

あとは、講座で配布された例題と修了試験問題を何度も解きました。 試験の2週間前くらいからは、上記に加えて講義スライドの要約をしました。 E資格のシラバスを見ながら関連がありそうな箇所をピックアップしてまとめることで、 試験対策+今後の自分用の資料にもなるかなと思って結構真面目に作り込みました。

あわせて、書籍で知識の整理をしています。 以下は役に立った書籍です。

深層学習

深層学習

深層学習

  • 作者: Ian Goodfellow,Yoshua Bengio,Aaron Courville,岩澤有祐,鈴木雅大,中山浩太郎,松尾豊,味曽野雅史,黒滝紘生,保住純,野中尚輝,河野慎,冨山翔司,角田貴大
  • 出版社/メーカー: KADOKAWA
  • 発売日: 2018/03/07
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る

真面目で時間がある人なら、この本1冊だけでいいです。その代わり内容は決して易しくなく、パワーも使います。 自分はサラッとだけ読みました、これを真面目に理解するには試験に間に合いそうにないからです。

これならわかる深層学習入門

上記の深層学習を易しく書いてくれた本、って感じです。ページ数もそこまで多くないし、説明もわかりやすいし、 資格受験者にはぴったしだと思います。

イラストで学ぶディープラーニング

イラストで学ぶ ディープラーニング 改訂第2版 (KS情報科学専門書)

イラストで学ぶ ディープラーニング 改訂第2版 (KS情報科学専門書)

さらに易しい本。講座を受講してる人だとこのくらいの内容は理解してるはず。復習用って感じです。

人工知能プログラミングのための数学がわかる本

人工知能プログラミングのための数学がわかる本

人工知能プログラミングのための数学がわかる本

E資格では、深層学習の他にも、応用数学機械学習の出題もあるので、その対策として。 この本は、応用数学の簡単な例題が載っているので、自信がない人のための入門書としておすすめです。

機械学習のエッセンス

機械学習の対策用です。E資格はpythonコードの穴埋め問題もあるので、この本は貴重だと思います。

技術者のための線形代数

技術者のための線形代数学 大学の基礎数学を本気で学ぶ

技術者のための線形代数学 大学の基礎数学を本気で学ぶ

線形代数苦手なので対策として。

プログラマーのための線形代数

プログラミングのための線形代数

プログラミングのための線形代数

線形代数苦手なので対策として。  

上記で、無事合格することができました。

合格するには

個人の体験踏まえて、下記を真面目にやれば合格できると思います。

  • 講義を真面目に受ける
  • 例題を解きまくる
  • 深層学習を読みふける
  • 応用数学機械学習をある程度勉強する

これは危険

逆にこれで余裕ぶっこいてたら落ちるよっていうの1点紹介します。

  • 例題だけしかしない

講座で配布される例題、ネットの噂では「例題やってたらまず合格する」みたいなこと書いてました。 が、実際そんなことはありません。たしかに例題からそのまま出題される問題もありますが、 全体を通しての難易度はあんな簡単なものじゃないです。 例題くらいの難易度って思ってたら出鼻をくじかれて試験冒頭でメンタル持っていかれます。

苦言

以下、E資格に対する苦言です。

受験コスト高すぎ

E資格の受験料は一般32,400円(税込)、学生21,600円(税込)と、若干高めですし、 何よりも講座が30万近くします。 個人のお財布からはとてもじゃないけど出せる値段じゃないかなと。 本当にE資格保有者を増やしたいのでしょうか。

試験雑すぎ

自分が受けた会場では17インチくらいの小さいモニタでの受験でした。 問題には、論文のコピペ画像のようなものがあり文字が濁ってて これは目が悪い人は読めないんじゃ?って思いました。 また、同じような問題が重複してでてきたり、 最後に前に解いたセクションの問題がまた出てきたり、 こんなの知っててなんの役に立つの?というようなうんちく問題がでたりと、 全体的にお粗末な印象です。 配点がわからないので、ニッチな問題には低い点数しか与えないのかもしれませんが、 受験者からこのような評判が流れると、資格の価値が下がってもったいないかなと思います。 流石に3回目なんだし、もっと丁寧に作ったらどうでしょうか。

結局E資格って意味あるの?

こればかりは、「さぁ・・・」としか言えません。 まだ3回目で知名度は微妙なところだし、持っていて給料が上がるかはその会社次第です。 就職に有利かどうかもわかりません。 個人的に良かったなと思うのは、講義です。 SkillUpAIで配布された資料や講義内容は自分にとってはとても貴重なものでした。 今まで独学だったので、こんなにわかりやすいものなのかと感動しました(回し者では有りません)。 なんとなくの知識だったものがちゃんと理解できるようになったり自分で考えれるようになります。 まあ30万は高いですけど、その価値は十分にあるのかなと。

以上、E資格を受験される方へのお役に立てれば幸いです。

【書評】 科学的に正しい筋トレ 最強の教科書 最新にして最強

科学的根拠をもとにした筋トレ教科書最新号の発刊です。

科学的に正しい筋トレ 最強の教科書

科学的に正しい筋トレ 最強の教科書

もくじ

【序 章】 筋トレに関する7つの「新常識」
【第1章】 これが、科学的に正しい「筋トレ方程式」だ!
【第2章】 これが、科学的に正しい「トレーニング」 だ!
【第3章】 これが、科学的に正しい「タンパク質摂取法」 だ!
【第4章】 これが、科学的に正しい「筋トレの続け方」だ!

リハビリmemoでお馴染みの庵野拓将氏による新著。ブログは前から知っていて、最新の論文を整理して紹介してくれる大変貴重なサイトだったので毎日チェックしていました。記事一つ一つが本当に興味深いトピックで、しかもわかりやすく噛み砕いてくれてる感がひしひしと伝わってくる文面で、とても頭がいい方なんだなと思ってました。そんなブログ記事から抜粋&再構築したのがこの本(だと思います)。

前日紹介した、森拓郎氏の新著は、すべての痩せたい女性のための本だとすれば、この本は、すべてのトレーニーのための筋トレ本と位置づけて問題ないでしょう。科学的な根拠を重要視するのはやはり、再現性が高いからであって、「専門家が言っていた」ことを信じるよりちゃんと実験して得られた結果を受け入れたいものです。この本は最後に引用が山ほど載っています。山本義徳氏の本を彷彿させますね。

shuheilocale.hatenablog.com

メタアナリシス - Wikipedia

このような科学的根拠がある内容というのは筋トレする上での不安要素も消えるし、基礎教養としてすべてのトレーニーが十分に活用できるはずです。

というかこの本、シリーズ化して定期的にアップデートしてほしいです。研究結果は月日が経つと変わる可能性もあるので、定説が覆ることは今後もしょっちゅう起こるかもしれません。そういう意味で「2019年版 科学的に正しい筋トレ」にしてほしかったかなと。あと、ここまで科学的な本はブルーバックスで出したほうが良かったんじゃないかって思います。

とにかく超オススメ!目からうろこが何個も落ちること間違いなし!