機械学習入門: レポート課題6
2020/05/30(実用解析I)出題のレポート課題。PDFにして, manabaにアップロードすること。
1. 以下の言葉を説明せよ:
- one hot表現
- gradient (勾配)
- 勾配法
- 学習率 (learning rate)
- ハイパーパラメータ
2. 以下のpythonコマンドを実行し, 結果を報告し, それぞれのコマンドの意味(機能)を述べよ:
In []: nijou = lambda x: x*x In []: nijou(3) In []: nijou(np.array([3,4]))
3. ch04/two_layer_net.pyの中で, numerical_gradientという関数を使っている。この関数の定義をしているソースコードを探し出し, その構造を説明せよ。
4. ch04/train_neuralnet.pyのソースコードを1行ずつ読み, 各行の後ろに解説コメントをつけよ (#を使う)。注: ソースコードにコメントをつけるスキルはプログラミングで重要である。これはその練習である。
5. ch05の以下のpythonプログラムを走らせ, 結果を報告し, 何をするプログラムか述べよ。
ch05/gradient_check.py ch05/layer_naive.py ch05/train_neuralnet.py ch05/two_layer_net.py
6. 以下のチェックリストの各項目について, ○かXかで自分自身を評価せよ。
- テキスト(ゼロから作る...)の第4章を, とばさずに丁寧に読んだ。
- 第4章のソースコードを, 1行ずつ, 丁寧に読んで何をしているか自分で考え, 理解した。
- クラス, インスタンス, インスタンス変数, コンストラクタのそれぞれについて, 他の人にやさしく説明できるくらい理解を深めた。
- 人工知能で出てくる「シグモイド関数」と, 生物学で出てくる「ロジスティック曲線」と, 数学で出てくる「ハイパボリックタンジェント」はぜんぶ同じ関数(の拡大縮小平行移動)だと知っている。
- 微分の連鎖律を理解した。
- 「ゼロから作るDeep Learning」の正誤表をチェックし, 自分の持っているテキストの誤植箇所を修正した: https://github.com/oreilly-japan/deep-learning-from-scratch/wiki/errata
7. この授業に限らず, オンライン授業が続く中, 苦労していることや工夫していることを述べよ。
注: 他の人のレポートを見て, コメントの書き方を自分と比べて, うまいやり方を盗み合ってください。
Keyword(s):
References:[機械学習入門]