[備忘録] 事前学習動画 アルゴリズム論 (前編): 自走できるAI人材になるための6ヶ月長期コース
自走できるAI人材になるための6ヶ月長期コースには事前学習の動画 (9時間) に加えてアルゴリズム論 (3.5h) もついております。(※ただし、前編のみ。後編はまだリリースしていないと思われます。)また、演習時間も加味すると動画視聴と合わせて10時間くらいかかりました。(自分の場合は)
なお、この講座はUdemy のこの講座と同じ内容とのことです。
備忘録
コース紹介
・なぜアルゴリズム論を学ぶのか
アルゴリズムはネットで検索しにくい
・本講義のゴール
自分でアルゴリズムを考え、実装できる力をつける(Python)
・本講義の内容
イントロダクション
・Jupyter Notebook の使い方
環境構築はこちらを参考にしました
・変数
数値、文字列、ブール (Boolean)
・練習問題 10 min
"私は{}{}です。".format(aaa, bbb)
# 全体像が掴みやすい。
# キャストしなくて良いので型に関するエラーが出にくい
・複数の変数
リスト、タプル、辞書
※タプルは書き換えのできないリスト
・制御構文
for文 (繰り返し)、練習問題
ープログラムを書くときのコツ
まず動かす、汎用性、可読性
ーアルゴリズムを学ときのコツ
ー可読性に関してはこちらを参考にすると良いのではとのこと。
英語版で良いなら無料でこちらで公開されております。
・if 文 (条件分岐)
・練習問題 10 min
・関数
ー 一番簡単な関数
ー 入力 (引数) のある関数
ー 練習問題 5 min
ー 出力 (戻り値) のある関数
演習課題1: 素数を見つけるアルゴリズム
・演習課題 60 min
%%timeit
15.7 ns ± 0.573 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)
%%time
CPU times: user 2 µs, sys: 0 ns, total: 2 µs
Wall time: 5.72 µs
計算量(オーダー) n=10
O(n)← 10倍すると、計算量も10倍になる
O(n2)← 10倍すると、計算量が100倍になる
O(n3)← 10倍すると、計算量が1000倍になる
素数を見つけるアルゴリズムにおいて計算量をどのように減らしていくかを表した図が下図。
アルゴリズム徹底練習
・圧縮のアルゴリズム
データ量。情報量の圧縮
・演習問題 5問
演習課題2: 圧縮のアルゴリズム
・encode 演習 120 min + リファクタリング 120 min
・decode 演習 90 min