数学やプログラミングの独学で困ったときの対処法
作成日時: | 2019年7月11日 |
更新日時: | 2020年4月25日 |
独学で困った(詰まった)ときの対処法を備忘録も兼ねてここに書きます。
ほとんど当たり前のことだけど、こうして一覧にして詰まったときに見直すと案外失念していることに気づいて先に進めることが多い。
検索して分かるようにしておくと、今後も本などを引っ張り出さず検索してすぐに分かる状態に出来るのでいい。
良くないのは「分からない」をその分野の習熟度が低いと思って分野を総復習することだ。ピンポイントに勉強していくコツが必要
そんなときはその上位知識を勉強する時間コストを本当に払う必要・余裕があるか考えよう。
数学的記述が分からなくても、その数式を使うだけならできるので、使えれば理解してなくても良いという考え方も必要だ。時間は有限なのだから。
面倒でも数式の一つ一つの記号についてしっかり意味を理解・確認して読み進めていく方が後々楽だし、数式はそうやって読むべき。
紙を用意して記号の意味を書き出しておくのも良いと思う。
今までの自分はこうやって安易に勉強範囲を無制限に広げていた。それぞれの勉強は役に立ったがそれなりに時間が掛かった。
本当に時間が掛かったのだ。このまま同じように勉強することを無制限に広げていては人生が足りない。
英語は本当に技術動画を理解する必要があったのか、英語の記事を翻訳ツールで翻訳するだけで足りたのではないか。
数学はもっとピンポイントに必要なことだけ学ぶことは出来なかったのか、ディープラーニングにあまり関係してなかったことに時間をたくさん使ってしまったかもしれない。
結論:人生は短いので勉強範囲は熟考して絞り時間を節約せよ
ほとんど当たり前のことだけど、こうして一覧にして詰まったときに見直すと案外失念していることに気づいて先に進めることが多い。
分からないことが分からない状態になったら
- 読んでいる本のレベルが合っていないのかも → 別の本を読む or 探す(入門書を読むのは恥ずかしいことではない。むしろ最善の近道)
- 分からない記号・単語・表現を書き出してみる
- 分からないことを明確・明文化する努力をする
- 分かるところと分からないところの境目まで本のページを戻って読み直す
- 分からないこと・不明確なこと・疑問を本にメモする
分からないことがあったら
- 他の本も読む or 探す(本屋だけでなくアマゾンや図書館を使う)
- ネットで調べる(ググる、youtubeで動画を探す)
- 分からないことを頑張って言語化する(言語化しているうちに分かってしまうこともある)
- 分からないことを分野ではなくテーマレベルで把握する(例:線形代数が分からないではなく、逆行列の計算の仕方が分からないなどに落とし込む)
- 分からないことがあっても、分からない分野を総復習するのではなく、分からないことに絞って勉強すべき。例えば微積が分からないからと言って、微積の教科書を1からやり直すみたいなことは効率が悪いし、モチベーションも下がる。
- とりあえず分からないことは心に留めておいて先のページを読むと分かることがある
「分からない」を分析する
教科書に出てきた単語の意味が分からない場合
例えば「全微分」という単語の意味が分からない場合、グーグルなどで「全微分」という単語を検索してみる。検索して分かるようにしておくと、今後も本などを引っ張り出さず検索してすぐに分かる状態に出来るのでいい。
単語の意味は分かるがイメージが湧かない場合
これもグーグルで「(単語) イメージ」などで検索する。良くないのは「分からない」をその分野の習熟度が低いと思って分野を総復習することだ。ピンポイントに勉強していくコツが必要
どうしても分からないとき
本のある数学的記述が分からないとき、実はその数学的記述を理解するには大学数学のかなり上のレベルの知識が必要かもしれない。そんなときはその上位知識を勉強する時間コストを本当に払う必要・余裕があるか考えよう。
数学的記述が分からなくても、その数式を使うだけならできるので、使えれば理解してなくても良いという考え方も必要だ。時間は有限なのだから。
数式の出てくる専門書を読むのがすごく疲れるとき
数式の記号の意味をちゃんと確認せず、あやふやな理解で読み進めていると、一々これは何だったっけ、たぶんこうだろうみたいな余計な思考が入って余計に疲れる。面倒でも数式の一つ一つの記号についてしっかり意味を理解・確認して読み進めていく方が後々楽だし、数式はそうやって読むべき。
紙を用意して記号の意味を書き出しておくのも良いと思う。
プログラミングの専門書を読んでいるとき
本のコードを一行一行意味を考えながら写経するのも良い。もっと効果があるのは本の内容とは少し異なる自分のユースケースに合わせて実装してみること。本質を捉える
本質を捉えることを意識して勉強することが大事。勉強範囲を安易に広げすぎない
英語の技術動画を理解したいので英語の勉強をする、ディープラーニングで数学が必要なので数学の勉強をする、あとプログラミングも勉強しないといけない。今までの自分はこうやって安易に勉強範囲を無制限に広げていた。それぞれの勉強は役に立ったがそれなりに時間が掛かった。
本当に時間が掛かったのだ。このまま同じように勉強することを無制限に広げていては人生が足りない。
英語は本当に技術動画を理解する必要があったのか、英語の記事を翻訳ツールで翻訳するだけで足りたのではないか。
数学はもっとピンポイントに必要なことだけ学ぶことは出来なかったのか、ディープラーニングにあまり関係してなかったことに時間をたくさん使ってしまったかもしれない。
結論:人生は短いので勉強範囲は熟考して絞り時間を節約せよ
休憩して気分転換するのも大事 おすすめの休憩方法
- YouTubeを見る
- 散歩
- コンビニに行く
- 本屋に行く
- 家族の部屋に行く
- 飲み物を買って飲む
- マンガを読む
- Twitterを眺める
- アニメ見る
- ネットサーフィン
- 瞑想する
- 買い物に行く
- 音楽を聞く
- 風呂に入る
- 別の勉強をする