継続力

IT系サラリーマンが、書籍や講座から学んだこと、効果があった勉強方法を紹介します。

【Coursera】「Machine Learning(機械学習) サマリ」〜この授業を通じて得られるものを知りたい〜

長かったMachine Learning(機械学習)を完了することができたので、「授業全体を通じて学んだこと」、「どういう点がオススメなのか」を紹介したいと思います。

これから、Machine Learning(機械学習)を受講しようとしている方の背中を押せたら幸いです。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 9」〜レコメンデーションシステムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 10」〜ビッグデータを使った機械学習を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 11」〜画像解析アルゴリズムを学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

ja.coursera.org


授業を通じて得られたこと

大きく分けて二つありました。

機械学習に対する理解度向上

これが、この授業を受ける主目的ですよね。
この授業で、

を理解することできました。

この授業を受けることで、機械学習を専門にしていない人の中では、自分はかなり詳しい方かな」と思えるぐらいのレベルにはなれます。
(アンドリュー・エン(Andrew Ng)氏曰く、この授業の受講者は、シリコンバレー機械学習を生業として大金を稼いでいるエンジニアよりも機械学習が詳しいレベルになれているようです)

世の中的には、DX(デジタルトランスフォーメーション)の流行で、より高度なIT技術が求められるようになってきているので、その勉強の手始めとして、この授業はオススメです。

なお、ディープラーニングの話題が出てこなかったのは残念でしたが、ディープラーニングについては別の専門授業が用意されているので、そっちを受けろって言うことなんでしょうね。

自己肯定感の向上

全11週もの授業をやりきったことで、自分の継続力にかなり自信を持つことができました。
また、英語で授業を受けたことで、「海外の大学に留学してもやっていけるかな」という自信を持つことができました。

機械学習自体の知識の向上以外にも、「自己肯定感の向上」のような副次的な効果もあるので、是非この授業の受講をおすすめします。

 

授業の所要時間と難易度

所要時間

所要時間の目安は54時間と記載されていますが、プログラミングに苦戦するともっと時間が掛かります。
私は70時間ほど掛かったと思います。

もう少し詳しく見ていくと、以下の特徴があります。

  • 全部で11週に分かれていて、第9週までは平均6時間程度、第10週目、11週目はそれぞれ1時間程度で終わります。
  • 各週、1回5問程度の確認テストがあり、80%以上正解しないと合格できません。
  • プログラミングの課題が8つほど有ります。
    各回の目安時間は3時間となっていますが、MATLAB/Octaveの操作になれていないと、もっと時間が掛かると思います。
    なお、「メニューのResources>Tutorials>Programming Txercise Tutorials」にプログラミングのヒントがあるので、活用することをおすすめします。
    (自分はこのヒントがあることに気づくのがだいぶ遅く、時間を無駄にしました。。。)

 

難易度

行列演算が多く登場するので、慣れていないと難しく感じると思います。
理系学生なら、大学1年生レベルの数学ができれば、十分理解できるレベルです。

ただ、他の人のブログを見てみると、高校生や文系の方もこの授業を履修しているので、理系じゃないとできないというレベルではないと思います。
一番大事なのは、全11週もあるので、根気かな。。。

 

授業の概要

Week1~Week7 機械学習の定義と教師あり学習

機械学習の定義
この授業で扱う機械学習は、教師あり学習と、教師なし学習
(この授業では扱いませんが、他に強化学習もあります)
 
インプットとアウトプットの関係性が分かっているデータを教師データという。
教師あり学習では、この教師データを使って、機械に学習させる。
教師あり学習は、回帰分析と分類に分けられる。
 
・ 回帰分析
教師データからインプットとアウトプットの関係性を学び、未知の条件における結果を予測する。
 
例)
不動産の土地の広さと価格の関係性を学び、未知の条件(特定の土地の広さ)での価格を予測。
 
 回帰分析では、教師データにうまくフィットするような関数を導出する。
 この関数を導出するためのアルゴリズムには、最急降下法等がある。
 
・分類
教師データから、インプットデータのカテゴリ分けの傾向を学び、 新たなインプットデータがどのカテゴリに属するかを予測する。
 
例)スパムメールの振り分け。
 
分類問題は、ロジスティック関数で解く。
関数が異なるだけで、最適化の方法は回帰分析と基本的には同じ。
複雑な多項非線形回帰はニューラルネットワークを使って解く。
また、局所最適解に陥らない分類アルゴリズムSVMサポートベクターマシン)がある。
 

Week8~Week9 教師なし学習

教師データを使わずに、データの構造を明らかにする。
代表的な例は、クラスタリング(データを機能やカテゴリ等に分けて構造化)。
 
例)google ニュース。あらゆるニュースサイトから情報を収集し、分類ごとに整理して表示している。
                
教師なし学習アルゴリズムには、K-means法がある。
また、PCAによる次元削除により、データ圧縮やデータの視覚化ができる。
さらにエンジン等の異常検知アルゴリズム教師なし学習の1種。
 

Week10~Week11 実用的なテクニック

  • ビッグデータを扱う場合、全トレーニングデータを使うと学習に時間が掛かりすぎてしまうため、Stochastic gradient descent(確率的勾配降下法)やMini-batch gradient descentを使う。
  • 機械学習アプリケーションの性能改善を行う際は、天井分析により、最も改善効果が大きい箇所を特定して、性能改善に取り組んだほうが良い。


まとめ

機械学習について、こんなに体系的に良く纏まった授業が、実際に大学に行くのに比べ非常に安価(証明書が不要であれば無料)で受けられて、本当に凄いと思います。
機械学習」に対する漠然とした不安を払拭してくれる凄い授業です。

掛けた時間に見合った成果が得られる授業ですので、多くの方に是非受けて欲しいと思います。

ja.coursera.org

【Coursera】「Machine Learning(機械学習) Week 11」〜画像解析アルゴリズムを学びたい〜

長かったMachine Learning(機械学習)の講義も遂に最終回です。

最後は具体的な機械学習アプリケーションの例として、画像解析アルゴリズムを学びます。
併せて、機械学習アプリケーションの精度向上のテクニックも学べます。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 9」〜レコメンデーションシステムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 10」〜ビッグデータを使った機械学習を学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

 

講義の概要

「Week 11」では、以下の内容が、約1時間程度で学べます。

  • 画像解析アルゴリズム
  • 機械学習アプリケーションの精度向上のテクニック
  • 授業のサマリとアンドリュー・エン(Andrew Ng)氏の熱いメッセージ

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

<画像解析アルゴリズム
■Problem Description and Pipeline

  • OCRの処理の流れを説明。
  • OCRは、画像中で文字がある箇所を特定
    →文字を分割
    →何の文字か認識
    という流れで処理する。
  • どのステップも重要なので、各ステップ毎に開発チームが分かれている場合が多い。


■Sliding Windows

  • 教師あり学習により、歩行者認識する流れを説明。
  • 歩行者が含まれる写真と、歩行者が含まれない写真を教師データとして学習させる。
  • 画像中の歩行者を認識する際は、判別用のウインドウを少しずつスライドさせ、画像全体を検索する。
  • 画像中の文字認識も同じ流れで処理する。
  • ウインドウをスライドさせ、画像中のどの部分に文字が存在するかを探索
    →文字が含まれる箇所を細かく探索し、1文字ずつに分割する
    →何の文字かを認識


機械学習アプリケーションの精度向上のテクニック>

■Getting Lots of Data and Artificial Data

  • 人工データ合成により、1パターンの実データを、複数パターンのデータに増幅する。
  • 大量のデータを用意する方法には、人工データ合成、手動、クラウド上のデータを利用するといった方法がある。
    今の10倍のデータを準備するのに必要なコストを考える必要がある。


■Ceiling Analysis: What Part of the Pipeline to Work on Next

  • パイプラインのどの部分の改善に一番時間を使うべきかを分析する天井分析(Ceiling Analysis)を説明。
  • 天井分析の例として、文字認識の例と、顔認識の例を説明。
  • どの部分の改善に時間をかけるかを見極めてから改善に取り組まないと、システム全体の精度改善には効果がない箇所に時間を使ってしまい、時間を無駄にする可能性がある。


<授業のサマリとアンドリュー・エン(Andrew Ng)氏の熱いメッセージ>
■Summary and Thank You

 

どういう人におすすめか

自動運転や文字認識等、様々な用途で使われる画像解析アルゴリズムを学ぶことができます。
また、機械学習アプリケーションの開発プロジェクトを効率的に進めるためのテクニックも学ぶことができます。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org

【Coursera】「Machine Learning(機械学習) Week 10」〜ビッグデータを使った機械学習を学びたい〜

前回までは、トレーニングデータを全て使った最適化アルゴリズムを学んできました。

一方、ビッグデータを使う場合、全トレーニングデータを使うと時間が掛かりすぎてしまいます。
では、どうすれば良いか?というのが、今回のテーマです。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 9」〜レコメンデーションシステムを学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

 

講義の概要

「Week 10」では、以下の内容が、約1時間程度で学べます。

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

ビッグデータを使った機械学習
■Learning With Large Datasets


■Stochastic Gradient Descent

  • Batch gradient descentだと時間が掛かりすぎる時に使う最適化アルゴリズムとしてStochastic gradient descent(確率的勾配降下法)を説明。
  • 確率的勾配降下法では、Batch gradient descentとは違い、常に収束に向かうわけではなく、発散と収束を繰り返してグローバルミニマムに収束していく。


■Mini-Batch Gradient Descent

  • Batch gradient descentでは各ループ毎に全てのデータセットを使う。
  • Stochastic gradient descent(確率的勾配降下法)では各ループ毎に1つのデータセットを使う。
  • Mini-batch gradient descentでは各ループ毎にb個(10個程度)のデータセットを使う。


■Stochastic Gradient Descent Convergence

  • 収束の確認方法と学習率の選び方について説明。

 

<オンライン学習とMap Reduce>
■Online Learning

  • オンラインサービスでの機械学習として、配送サービスの配送料金の最適化の例、商品検索結果の最適化の例を紹介。


■Map Reduce and Data Parallelism

  • 機械学習においてデータ量が多すぎると、1台のPCで捌ききれないという問題点がある。
  • この問題を解決する方法として、Map-reduceを紹介。
  • Map-reduceでは、トレーニングデータを分割して複数のPCで処理した後に、結果を取りまとめる。
    これにより並列処理が可能になる。

 

どういう人におすすめか

実務で機械学習を使う場合、大抵はビッグデータを使うことになるはずです。
そうした時に、どうすれば実用に耐えうるスピードが出せるかを知ることができる良い授業だと思います。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org

【Coursera】「Machine Learning(機械学習) Week 9」〜レコメンデーションシステムを学びたい〜

前回までに、教師あり学習教師なし学習アルゴリズムについて学んできました。

今回は毛色が変わり、エンジン不具合の検知等に使われる異常検知アルゴリズムや、映画のレコメンデーションシステムについて学びます。
かなり実用的な内容です。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

 

講義の概要

「Week 9」では、以下の内容が、約6時間程度で学べます。

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

<異常検知アルゴリズム

■Problem Motivation

  • Anomaly detection(異常検出)の例として、飛行機エンジンの異常検出やデータセンターのコンピュータのモニタリングの例を紹介。

 

■Gaussian Distribution

  • 異常検知にはガウシアン分布を使う。
  • ガウシアン分布の中心点μ、標準偏差σの求め方を説明。

 

■Algorithm

  • 異常検知のアルゴリズムを説明。
  • 異常検知に使えそうな説明変数を選ぶ
    →ガウシアン分布の中心点、標準偏差を求める
    →新しいデータxのガウシアン分布上の値を求める
    閾値より小さければ異常と見なす

 

■Developing and Evaluating an Anomaly Detection System

  • 異常検知アルゴリズムの評価で使うデータは、異常データが少ない偏りのあるデータであることが多いので、正答率ではなく、F値により評価する。

 

■Anomaly Detection vs. Supervised Learning

  • 異常検知アルゴリズム教師あり学習アルゴリズムを比較。
  • 異常検知は、異常データが少ない場合や、異常データに共通的な特徴がない場合に有効。
    不正利用検知、製造業、データセンターの機械のモニタリング等に使われる。
  • 教師あり学習は、異常データ数と正常データ数が共に多い場合、データの傾向を学ぶのに十分なデータがある場合に有効。
    スパムフィルタ、天気予報、癌の予測等に使われる。

 

■Choosing What Features to Use

  • 異常検知アルゴリズムへの入力データが非ガウシアン分布の場合は、ガウシアン分布になるように変換する。
  • 正常データと異常データで異常検知アルゴリズムの算出結果に大きな差異が見られない場合は、説明変数を増やすべき。

 

■Multivariate Gaussian Distribution

  • 多変量ガウシアン分布について説明。

 

■Anomaly Detection using the Multivariate Gaussian Distribution

  • 多変量ガウシアン分布を使った異常検知アルゴリズムについて説明。
  • 元のガウシアン分布を使った場合は、異常を検出するための説明変数は手動で作る必要がある。
    ただし、計算量は少なく済み、トレーニングデータも少なくて良い。
  • 多変量ガウシアン分布を使う場合は、自動で説明変数間の相関関係を検出する。
    ただし、計算量が多い。また、トレーニングデータが説明変数よりも多い必要がある。

 

<レコメンデーションシステムのアルゴリズム

■Problem Formulation

  • レコメンデーションシステムの例として、映画の評価予測を説明。
  • 映画の評価データでは、全てのユーザが全ての映画を見ているわけではないため、見ていない映画の評価は?として表現する。

 

■Content Based Recommendations

  • レコメンデーションシステムの目的関数と最急降下法による最適化について説明。


■Collaborative Filtering

  • 協調フィルタリングアルゴリズムについて説明。
  • 映画の種類毎のパラメータxと、映画の評価予測モデルのパラメータθを定義。
  • xからθを予測
    →θからxを予測
    →再度xからθを予測
    と繰り返す。

 

■Collaborative Filtering Algorithm

  • 協調フィルタリングの目的関数について説明。
  • x,θを小さなランダム値で初期化
    →目的関数を最急降下法等で最適化する
    →最適化後のパラメータを使用して映画の評価を予測する。

 

■Vectorization: Low Rank Matrix Factorization

 

■Implementational Detail: Mean Normalization

  • 平均正規化を使ったレコメンデーションシステムアルゴリズムを説明。

 

どういう人におすすめか

アマゾンプライム等の動画サービスのおすすめ動画はどうやって選んでいるんだろう」と疑問を抱えた人が、具体的なアルゴリズムを知ることができる良い授業だと思います。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org

【書評】日経コンピュータ 2020年6月11日号 〜勘定系の新常態 さらば重厚長大〜

表紙は、「勘定系の新常態 さらば重厚長大」です。

表紙の通り、これからの勘定系システム開発で標準となる技術、開発手法等が紹介されていました。
本書を読むと、「最新のトレンドを勉強しないとまずい。。。」と感じると思います。 


数ある記事の中から、私が印象に残ったテーマを紹介します。

 

 

印象に残ったテーマ① 既存システムの効率化により、攻めのIT投資の元手を確保

佐川急便を含むSGホールディングスが、年数百億円を費やしていたITの維持管理コストを4割ほど圧縮し、浮いたお金を攻めのIT投資に回している記事が紹介されていました。
また、メガバンクにおいては年間のITコストが1000億にも達し、その7~8割を守りのIT領域に費やしているために、攻めのIT投資が十分に出来ていないという記事が紹介されていました。

これらの記事から、複数の業態において、攻めのITを重視する傾向が強まっており、守りのITコストを如何に早く下げられるかが重要な局面になってきていることが分かります。

そのためには、従来の密結合のアーキテクチャをマイクロサービスにより疎結合にするスキル、クラウド移行するスキルが求められます。
これからの世の中でトレンドとなるスキルを身につける重要性を感じました。

 

印象に残ったテーマ② 内製化によるデジタル変革への対応

SGホールディングス三菱UFJフィナンシャルグループが、ベンダーに任せきりになっていたシステム開発を、自分たちの手に戻すために、IT部門社員にコーディングを習得させようとしているという記事が紹介されていました。
ITに詳しくないとデジタル技術を最大限活用したビジネスの推進は難しいと思うため、非常に良い取り組みだと感じました。

一方、システムベンダーからすると、自分たちの担当範囲が減ってしまうため、やり辛くなるリスクがあるかと思います。
こうした情勢の変化をうまく捉えて、システムベンダー側の収益力を落とさないための施策が求められていると感じました。

 

印象に残ったテーマ③ 銀行勘定系開発へのニューノーマルの適用

勘定系システムのこれからのニューノーマルな姿として、「マイクロサービス」、「パブリッククラウド」、「アジャイル」、「内製化」、「顧客情報のリアルタイム分析」が紹介されていました。
どれも、今までの常識とはかけ離れています。

特にアジャイル開発は銀行勘定系のような大規模システムには向かないと思っていましたが、システムのマイクロサービス化により、システムを疎結合にすることでアジャイルが適用しやすくなるのでしょう。
何にせよ、IT技術者に求められるスキルが大きく変わろうとしているので、取り残されないように勉強が必要だと感じました。
 

まとめ

コロナによりあらゆる業界の常識が変わりつつある世の中ですが、本書を通じてIT業界はとりわけ変化のスピードが速いと感じました。
他にも、非常に勉強になることが書いてあるので、ぜひ読んでみてください。

【Coursera】「Machine Learning(機械学習) Week 8」〜教師なし学習を学びたい〜

前回までは、教師あり学習アルゴリズムについて学んできました。

今回はついに、教師なし学習アルゴリズムについて学びます。
また、データ圧縮の仕組みについても学べます。

<過去の記事>

【Coursera】「Machine Learning(機械学習) Week 1」〜機械学習の種類を学びたい〜 - 継続力 
【Coursera】「Machine Learning(機械学習) Week 2」〜複雑なケースでの回帰分析を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 3」〜分類の具体的なアルゴリズムを学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 4」〜ニューラルネットワークの概要を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 5」〜ニューラルネットワークの実装方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 6」〜機械学習アルゴリズムの評価方法を学びたい〜 - 継続力
【Coursera】「Machine Learning(機械学習) Week 7」〜サポートベクターマシン(SVM)を学びたい〜 - 継続力


講師

アンドリュー・エン(Andrew Ng)氏です。
人工知能研究の第一人者であり、Google Brainの共同設立者、 Baiduの元副社長兼チーフサイエンティスト、スタンフォード大学の教授という凄い経歴の持ち主です。 

 

講義の概要

「Week 8」では、以下の内容が、約5時間程度で学べます。

ja.coursera.org


講義の内訳

講義の内訳は以下の通りです。

 

<K-Means法によるクラスタリング
■Unsupervised Learning: Introduction


■K-Means Algorithm


■Optimization Objective

  • K-means法の目的関数を説明。

 

■Random Initialization

  • K-means法のクラスター重心点の初期化方法を説明。
  • ローカルミニマムへの収束を回避する方法を説明。


■Choosing the Number of Clusters

  • クラスター数Kの選び方を説明
  • クラスター数Kを決めるための、Elbow methodについて説明。
  • クラスター数Kを増やせば、目的関数はどんどん小さくなるはずだが、ローカルミニマムに陥っていると、クラスター数Kを増やした場合に目的関数が大きくなることがある。
    この場合は、再度クラスターの重心点を初期化し、再計算すべき。

 

<PCA(Principal Component Analysis)アルゴリズムによる次元削除>
■Motivation I: Data Compression

  • データ圧縮の手法として、次元削除の方法を説明。


■Motivation II: Visualization

  • 高次元のデータを低次元(二次元、三次元)のデータに変換し、視覚化する方法を説明。


■Principal Component Analysis Problem Formulation

  • PCA(Principal Component Analysis)でできること、アルゴリズムを説明。
  • PCAでは、すべてのデータセットに対する距離の合計が最小になるようなベクトルを算出する。


■Principal Component Analysis Algorithm

  • 共分散行列を算出→共分散行列の固有ベクトルを算出→k次元に削減したい場合、元のデータセットに「固有ベクトルの先頭からk個のベクトルを抽出した行列」を掛けて、次元削減を行う。


■Reconstruction from Compressed Representation

  • 圧縮データから元のデータを復元する方法を説明。


■Choosing the Number of Principal Components

  • データを何次元まで圧縮していいかの目安を説明。
    圧縮したことによるデータの欠損率が1%(=99%の情報が残っている)を目安とする。
  • svd関数のアウトプット(S:正方行列)を使うと、欠損率を簡単に計算できる。


■Advice for Applying PCA

  • 教師あり学習のインプットデータの次元数をPCAで削減することで、教師あり学習をスピードアップできる。
  • PCAで次元削減することで、データ圧縮によりデータ量を減らしたり、機械学習をスピードアップできる。
    また、高次元データの視覚化ができる。
  • PCAを使うべきではない例を紹介。

 

どういう人におすすめか

教師なし学習はどうやってやるのだろうか?」、「データ圧縮ってどうやってるのだろうか?」という疑問を抱えた人が、具体的なアルゴリズムを学べる良い授業だと思います。
「Andrew Ng」氏の説明はとても分かりやすいため、是非動画を見てみてください。

ja.coursera.org

【書評】日経コンピュータ 2020年5月28日号 〜ゼロトラストネットワーク〜

表紙は、「ゼロトラストネットワーク VPN不要、全社員テレワークの切り札」です。

VPNの次世代のセキュリティ確保施策として、「ゼロトラストネットワーク」が紹介されていました。
ゼロトラストの他にも、IT技術の進歩はめまぐるしいものがあると感じさせられる記事が多く紹介されていました。

数ある記事の中から、私が印象に残ったテーマを紹介します。

 

 

印象に残ったテーマ① VPNシンクライアント端末はもう古い!これからはゼロトラストネットワークの時代

コロナによるテレワーク利用率の急増で、VPNの利用負荷が問題になっているという記事が紹介されていました。
この対策として、従来のVPNシンクライアント端末によるセキュリティ確保ではなく、ゼロトラストネットワークの考え方に基づいたセキュリティ確保が注目を集めているようです。

この記事を読むまでは、VPNでセキュリティを確保するのが最強だと思っていたのですが、昨今の標的型メールによる従業員アカウントの乗っ取り等により、もはやVPNもセキュリティ面で盤石とは言えない状況となっているようです。

このため、全てを信頼しない(ゼロトラスト)の考え方に基づき、VPNも含めたすべてのネットワークからのアクセスを信頼せずに、サービス利用の都度、ユーザの属性や端末の情報等をチェックするようなセキュリティ対策が今後は主流になるようです。

一昔前は万能と思っていたサービスが、いつのまにか万能ではなくなってしまっていることに衝撃を受けました。
最新トレンドにアンテナを張る必要性を改めて痛感しました。

 

印象に残ったテーマ② サッポロホールディングスのDX

サッポロホールディングスが従来担当者ごとにExcelを使って行っていた商品供給の計画を、システム化するという記事が紹介されていました。
「業務・システムの標準化」を行った後に、更なる「機械化、自動化」を目指し、サプライチェーンの最適化を実現していくようです。

この記事を通じて、こういった最適化の取り組みは5年以上もかかる取り組みであるため、如何に早期に着手できるかが鍵になると思いました。
現時点で次世代に向けた仕込みを開始していない企業は、早期に手を打たないと、競合他社との差が開く一方になってしまいそうです。 

印象に残ったテーマ③ コロナによるパラダイムシフト

前号に引き続き、コロナ関連の記事がいくつか紹介されていました。
特に、感染拡大防止を目的とした、「料理の非対面受け渡しサービス」や、日本経済団体連合会経団連)の中西宏明会長の「コロナ後に、いい知恵を出せた企業にはチャンスがある」という発言が印象的でした。

前号に引き続き、アフターコロナのパラダイムを予測し、様々なチャレンジを行うことが求められていると感じました。

 

まとめ

セキュリティ分野を始め、IT技術は日進月歩だと感じさせられました。
他にも、非常に勉強になることが書いてあるので、ぜひ読んでみてください。