【徹底的に解説!】人工知能・機械学習エンジニア養成講座(初級編~統計学から数字認識まで~)
4.3 (296 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,289 students enrolled

【徹底的に解説!】人工知能・機械学習エンジニア養成講座(初級編~統計学から数字認識まで~)

単回帰分析・ロジスティック回帰分析・ニューラルネットワークの学習を通じ、機械学習の考え方を学びましょう。最後は手書きの数字を認識する(画像認識の)アルゴリズムをpythonで実装します。AI・機械学習エンジニアになりたい方にお勧めです。
4.3 (296 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,289 students enrolled
Created by 大橋 亮太
Last updated 5/2020
Japanese
Current price: $114.99 Original price: $164.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15.5 hours on-demand video
  • 6 articles
  • 4 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 機械学習を学ぶ上で大切となる【機械学習の考え方】を身につけることができます。
  • 手書きの数字を推測するアルゴリズムをPythonを使って一から実装することができるようになります。
  • 3つのアルゴリズムを関連付けながら学習をすることで、機械学習の基本的な考え方が理解できるようになります。
  • Pythonを使って、一からアルゴリズムを実装することができるようになります。
  • 機械学習で使うデータの特徴や性質を、統計学の知識をもとに学ぶことができます。
  • 尤度の考え方を用いたアルゴリズムの実装方法について学ぶことができます。
  • 微分と機械学習との関係について理解することができます。
  • 確率・統計の基本的な知識を身につけることができるようになります。
Course content
Expand all 158 lectures 15:43:19
+ はじめに
8 lectures 40:18

まとまった時間を取ることが難しい方向けの講義の進め方についてご紹介しています。

Preview 05:18

本講義でお伝えしない内容と、その背景についてお伝えしています。

Preview 07:57

本講座を受講して頂くことで実現できることについて詳しくお伝えしています。

Preview 06:03

講義の対象者のイメージについてお伝えしています。

Preview 05:15

全体的な講義の構成についてお伝えしています。

Preview 03:08

この講義を受講することで達成できることを簡潔にお伝えしています。

Preview 02:58

本講座の活用方法(具体的な進め方のイメージ)について解説しています。

効率的な講義の進め方
03:23

本講座で使用するanacondaのインストール方法についてお伝えしています。

anacondaのインストール
06:16
+ 機械学習とは
7 lectures 41:42

そもそも機械学習とは何なのかという点について具体例と共にお伝えしています。

機械学習とは
06:41

先人による機械学習の定義とその内容について解説しています。

機械学習の定義 その1
06:45

機械学習における「学習」の意味について、イメージを使って説明しています。

Preview 02:47

エンジニアの観点・イメージから機械学習とは何なのかという点について説明しています。

Preview 05:23

機械学習の勉強を進めていく中で陥りがちな罠について説明しています。

機械学習の罠と進め方
07:37

機械学習の全体像について具体例を用いて説明しています。

機械学習の全体の進め方のイメージ
04:52

人工知能、AIと機械学習の違いについて具体例を用いて説明しています。

人工知能と機械学習の違い
07:37
+ 単回帰分析
33 lectures 02:50:37

単回帰分析で学習する内容について説明しています。

はじめに
01:45

回帰の語源について説明しています。

Preview 05:55

単回帰分析における学習とは何なのかという点について具体例を使って説明しています。

Preview 04:57

単回帰分析の進め方について簡単に説明しています。

分析の流れ
01:06

入力データの特徴について、統計学の考え方を用いて説明しています。

インプットデータの特徴と、データの見方
09:56

アウトプットデータの特徴について、統計学の考え方を用いて説明しています。

アウトプットデータの特徴
01:50

分析の具体的な進め方について説明しています。

どう分析していくかを考える
02:38

最小二乗法の定義について説明しています。

最小二乗法の定義
04:07

最小二乗法のイメージについて、グラフを使って説明しています。

Preview 07:07

残差の計算方法について説明しています。

残差の具体的な計算
06:48

誤差関数の求め方について具体的な数字を使って説明しています。

Preview 07:51

最急降下法の定義と、具体的な数字を用いた計算方法について説明しています。

最急降下法の定義と具体的な計算
08:22

尤度を使った分析方法について説明しています。また、誤差が正規分布に従うということがどういうことかという点について説明しています。

尤度を使った分析の概要、誤差が正規分布に従うとは?
06:28

尤度関数の求め方について説明しています。

Preview 08:55

一般的な関数と尤度関数の極値を取る値について説明しています。

対数と極値
01:52

外れ値を扱う方法について説明しています。

外れ値の扱い
02:35

データを正規化する方法について説明しています。

正規化とは
11:08

正規化したデータを元に戻す方法について説明しています。

正規化したデータを元に戻す方法
06:00
実装① 前提条件の確認
07:02
実装③ 最急降下法
06:28
実装④ 繰り返しで導関数を完成させる
04:21
実装⑤ インプットデータの取り込み
06:33
実装⑥ トレーニング回数の設定
03:41
実装⑦ 入力データのあてはめ、モデルの完成
07:06
実装⑧ モデルの検証
06:14
実装⑨ グラフの描画による検証
05:36
ソースコード
00:04
演習1 データの正規化をしてみよう
00:40
回答1 インプットデータの正規化
04:48
回答2 実装への反映とコードの検証・修正
03:58
回答3 正規化した直線を元に戻す
05:24
(参考)入力データの正規化を一般的な書き方で表現する
06:12
+ ロジスティック回帰分析
27 lectures 02:28:45

ロジスティック回帰分析で説明する内容についてお伝えしています。

はじめに
02:10

単回帰分析の限界とロジスティック回帰分析との関係についてお伝えしています。

Preview 11:25

オッズ・発症率とは何なのかという点について説明しています。

Preview 05:31

オッズ比について説明しています。

オッズ比
02:13

詳細にカテゴリー分けして分析することの限界についてお伝えしています。

Preview 05:36

モデルの構築方法について一般的な観点から説明しています。

どうやってモデルを構築するか
02:58

リスクの相乗モデルについて説明しています。

Preview 09:28

リスクの相乗モデルからシグモイド関数を導出する方法について説明しています。

モデルの構築(シグモイド関数の導出)
09:55

両辺の対数を取ることの是非について説明しています。

対数を取ることの是非
03:47

シグモイド関数の方と特徴について説明しています。

シグモイド関数を用いた具体的な確率の計算
03:05

シグモイド関数に具体的な数字を当てはめて確率の計算をしています。

Preview 04:53

メールのスパム判定とロジスティック回帰分析の関係について説明しています。

Preview 03:32

機械学習による分析の進め方について説明しています。

どう分析していくかを考える
03:53

ロジスティック回帰分析における尤度関数の求め方について説明しています。

ロジスティック回帰分析における尤度関数
11:45

具体的な数字を入れて尤度関数の計算をしています。

Preview 07:54

大数尤度関数と導関数の求め方について説明しています。

対数尤度関数の導関数の導出
08:02

尤度関数の形と単調増加関数について説明しています。

尤度関数の形と単調増加関数のメリット
09:36
実装① 前提条件の確認
03:57
実装② 導関数と最急降下法
07:15
実装③ シグモイド関数
01:58
実装④ インプットデータの取り込み
03:01
実装⑤ トレーニング回数、初期重みの設定とコードの調整
04:32
実装⑦ グラフの描画による検証
09:02
ソースコード
00:04
演習2尤度をグラフに表示してみよう
00:31
回答1 尤度関数とグラフの実装
05:44
回答2 αを変化させることによるグラフの変化の考察
06:58
+ ニューラルネットワーク その1
23 lectures 02:14:53
はじめに
04:28

ニューラルネットワークを使って実現したいことについて説明しています。

問題提起
02:14

ロジスティック回帰分析による分類の限界について説明しています。

ロジスティック回帰分析の限界
03:33

ニューラルネットワークとロジスティック回帰分析の関係について説明しています。

ニューラルネットワークとロジスティック回帰分析の関係
07:35

具体的な数字を使ってニューラルネットワークによる分類について説明しています。

具体的な数字を使ったニューラルネットワークの計算
12:30

活性化関数の概要について説明しています。

活性化関数について
03:30

ニューラルネットワークにおけるモデルの構築方法について説明しています。

Preview 02:54

ニューラルネットワークにおける誤差関数の考え方について説明しています。

Preview 12:01

バックプロパゲーション(誤差逆伝搬法)について説明しています。

バックプロパゲーション(誤差逆伝搬法)
16:27

ニューラルネットワークにおける一般的な重みの数え方について説明しています。

(参考)一般的な重みの数え方
04:45
実装① 前提条件の確認
09:50
実装② フォワードプロパゲーション(各関数の実装)
04:41
実装③ 誤差の変化率と最急降下法
10:18
実装④ インプットデータの取り込み
05:18
実装⑤ コードの調整
03:10
実装⑥ 初期重み・繰り返し回数の設定
04:45
実装⑦ コードの実行と検証
05:02
実装⑧ モデル修正の考え方
05:45
ソースコード
00:04
演習3 活性化関数を変更してみよう
03:48
回答1 tanhの導関数
03:24
回答2 コードの実装
06:00
回答3 コードの検証
02:51
+ ニューラルネットワーク その2
16 lectures 01:34:12
全体の流れと「その1」との違い
05:38
行列の基礎(積と転置)
10:28
バックプロパゲーションの流れ
09:19
実装① 流れの確認
03:05
実装② インプットデータとノードの設定
05:49
実装③ シグモイド関数と重みの設定
03:57
実装④ フォワードプロパゲーション
03:53
実装⑤ バックプロパゲーション
11:11
実装⑥ 検証用のコードの作成
02:58
実装その他2 画像のデータ化
08:55
実装⑦ 検証データの設定
08:05
実装⑧ 検証データの精度の確認
05:27
ソースコード
00:05
+ 微分
10 lectures 01:23:58
微分とは
04:38
解析的・直感的と機械学習の関係
05:53
微分の定義
11:29
右微分係数と左微分係数
07:18
微分の連鎖律(合成微分律)
10:04
上に凸、下に凸(二回微分)
09:22
偏微分(解析的)
08:00
+ 統計・確率
34 lectures 03:48:54
統計学と機械学習の関係
03:56
統計学で学ぶ内容
03:30
データの分類
07:11
データを整理する方法(度数分布表)
05:24
データを整理する方法(ヒストグラム)
02:33
平均値、中央値、最頻値
07:14
標準偏差が重要な理由
05:34
偏差値とは
07:31
推測統計の概要
02:25
公理主義的定義のメリット
04:01
確率の用語の定義(集合、積集合、和集合)
07:25
順列と組み合わせ
08:44
確率変数
02:40
確率分布
05:49
二項分布のグラフ
06:47
ポアソン分布
13:00
ポアソン分布の証明
11:34
正規分布
03:22
中心極限定理
12:14
大数の法則と中心極限定理のまとめ
02:46
標本から母集団を予想する方法
10:29
標本の数が増えた場合
08:51
推測統計のまとめ
02:43
尤度とは
08:42
尤度の具体的な計算(正規分布)
09:36
Requirements
  • 機械学習に関する前知識は一切必要ありません。
  • Pythonの基本的な文法を理解していると良いかと思います。
Description

「機械学習はやっぱり難しい。。」


最近、こんな声をよく聞きます。


本やインターネットで調べてみても、書かれているのは見たことも無いような数式ばかり。


どこを見ても難しい解説ばかりで、本やサイトを閉じてしまった方も少なくないのではないでしょうか?


たしかに、機械学習は数時間で身につけることができるようなものではありません。


ただ、教える側が分かるように教えていない

ということも、機械学習を苦手に感じてしまう人が多い原因の一つではないかと考えています。


例えば、弁護士が専門用語を使って依頼者に説明したところで、依頼者は何を言われているのか分からないですよね。

機械学習もそれと同じです。


これから機械学習を学ぶ方からすると、必要な知識・用語について何も分からないのは当たり前。

だからこそ、教える側は専門的な言葉を使ってはいけない(または、しっかりと一つ一つの言葉について説明をしなければいけない)のです。


機械学習はこれからも伸びていくことが予想される分野です。そして、何よりも機械学習のアルゴリズムを実装できると達成感を感じることができますし、何よりも楽しいです。


ただ、面白いだけでも意味がありません。

ですので、この講義は順番に学習を進めていく中で【機械学習の考え方がしっかりと身につく】ように意識をしてカリキュラムを組んでいます。


これから機械学習エンジニアとして活躍したい方も、機械学習に何となく興味がある方も、是非この講義を聞いて学びを深めて頂ければと思います。



--この講座の5つの特徴--


1. 難しい数式は極力使いません。

機械学習のテキストなどを見ると、見たこともないような数式が沢山出てくると思いますが、そういった数式を使わなくとも学習することは可能です。

むしろ、難しい数式を使うことで、大切な基礎が見えなくなってしまうと考えています。

ですので、この講義では極力難しい数式は使わず、シンプルに説明することを心掛けています。

必要に応じて難しい数式を使う場面もありますが、その場合はしっかりと基礎から説明しておりますのでご安心下さい。

(難しいと感じた場合はQ&Aなどでご連絡頂ければ幸いです。)


2. 定義だけを読むといった講義は行いません。

この講義では、可能な限り一つ一つの用語に対して具体的な例を用いて説明することを心掛けています。

なぜなら、言葉の説明だけを聞いても理解することは難しいのが普通だからです。

例えば、「確率とは、偶然起こる現象の現象全てに対する割合」と説明されても全く頭に入らないですよね。

そうではなく、サイコロの例を使って説明すれば理解が深まることはイメージできるのではないかと思います。

(偶然起こる現象をサイコロで1の目が出る確率、現象全てを1~6の目が出る確率、とすればイメージが湧きやすいですよね。)

他方、説明をお聴きになる中で少し冗長に思われることもあるかもしれませんので、そういった場合は、適宜講義をスキップして頂きながら、学びを深めて頂ければと思います。


3. 機械学習に関する複数の学習分野を、関連付けて説明しています。

機械学習を理解することを難しくしている理由の一つとして、「複数の学習分野にまたがっている」ことが挙げられます。

例えば、統計学と機械学習は何がどう関連しているか、イメージできるでしょうか?

機械学習の基本的な考え方として、統計学における「推測統計」が使われているのですが、そういった繋がりを知ることで、機械学習に対する理解をぐっと深めることができるようになります。

個別の分野を有機的につなげることによって、加速度的に機械学習への理解を深めて頂ければと思います。


4. pythonを使った実装では、ライブラリは使いません。

この講義では、機械学習のライブラリを使わず、pythonを使って一から実装を進めていきます。

ライブラリを使えば簡単に実装をすることができますが、それでは機械学習の本質的な部分は全く分からず、出てきた結果の妥当性の検証をすることもできません。

逆に、一から実装することができるようになれば、ライブラリは簡単に使いこなせるようになります。

一つ一つのアルゴリズムを理解していても、実装するとなると別問題。実際に実装することで、多くの学びを得ることができます。

ですので、この講義ではライブラリを使わず、一から実装を進めていきます。


5. 具体的な成果物が作れるようになります。

最後は手書きの数字を認識するアルゴリズムを作ります。実際に動くアルゴリズムを一から作ることで、機械学習の知識が深まったことを実感できるようになります。

また、自分で書いた数字を機械が認識していることを確認することで、機械学習を少し身近に感じることができるようになると思います。

是非とも最後まで講義を聞き、成果物を作ることで達成感を感じて頂ければと思います。


(この講義でお伝えしないこと)

この講義では、最先端の機械学習アルゴリズムや、行列を使った数式の表現は含まれておりません。

機械学習の基本的な考え方を身につけるうえで、上記のような情報はかえって理解の妨げになると考えているからです。

ですので、上記の内容を学びたいかたはこの講義は最適ではない可能性があること、お含みおき頂きたく、よろしくお願い致します。


--この講義の対象者--


この講義は、機械学習について興味がある方であればどんな方でも対象になりますが、その中でも「機械学習の基礎をしっかりと身につけたい」という方に是非聞いて頂きたいと考えています。

最後に具体的な成果物を作成しますが、それでも講義の中心となるのは「機械学習の考え方」を身につけることです。ですので、どうしても説明が長くなってしまい、少し退屈してしまうことがあるかもしれません。

それでも、講義を終えた際には、「今まで何となく流し読みしていたサイトや本の内容が頭に入ってくる」感覚を持っていただけるのではないかと思います。

どれだけ難しい言葉を使って説明がされていたとしても、基礎をしっかりと身につけていけば理解することができるからです。


これから機械学習エンジニアとして成長していく上で、基礎や基本的な考え方を身につけるのは早いに越したことはありません

この講義を活用し、機械学習に対する理解をどんどん深めて頂ければ幸いです。


Who this course is for:
  • 機械学習についてこれから学習したいと考えている方
  • 機械学習について少し勉強したことがあるが、何となく理解できている感じがしない方
  • Pythonの基本的な文法を学び終え、機械学習分野で一から実装をしたいと考えている方
  • ライブラリに頼らずに機械学習の実装をしたい方
  • 機械学習の基本的な考え方をしっかりと理解したい方
  • 機械学習の基礎的な知識をまとめて(統計学や微分などを)身につけたい方
  • アルゴリズムの改善を自分でできるようになりたい方