仕事を辞めたニートがAI人材になるまで(4)
毎日投稿を目指していたのですが、流石に夜9時くらいまで勉強すると夜ご飯を食べたらすぐ寝る時間になってしまって昨日も投稿ができませんでした…
改善案として朝起きた後に昨日の学習内容を記録するのもありかなと思っています。
それでは昨日今日で勉強した内容を振り返ります。
勉強したこと
DataCamp
Python Data Scientist Toolbox (Part2)
Intermediate Data Visualization with Seaborn
A Visual History of Nobel Prize Winners (プロジェクト)
最近、DataCampでゴリゴリ勉強するのにハマってます。その影響でキカガクさんの方の割合が低めになってしまっているのですが、明日から本格的に講師の方から直接解説を聞けたりするのが楽しみです。
Python Data Scientist Toolbox (Part2)ではイテレータのお使い方や、リストの中で条件と反復を表現するlist conprehentionの使い方、そしてジェネレータの使い方を学びました。
キカガクさんの授業でニューラルネットワークの実装方法を学習したのですが、データローダーの中身を見るために使用したnext(iter(dataloader))という表現に少し納得がいってなかったので、今回DataCampの授業を通してスッキリしました。
Intermediate Data Visualization with SeabornではSeabornの基本的な使い方や、グラフをさらに綺麗にわかりやすく可視化する方法を学びました。
Matplotlib.pyplotで作る図よりも圧倒的に見た目が綺麗なものができてテンションが上がるのでSeabornが好きになりました。
A Visual History of Nobel Prize Winnersでは過去のノーベル賞受賞者に関するデータの分析を行いました。
DataCampでは通常の授業では演習問題で行う処理についてのガイドが丁寧なのですが、プロジェクトはもっと自分の力でコードを書く力を試されている感じです。
動画を見てから演習問題を解くのは比較的楽なのですが、プロジェクトでは今までの集大成を出す必要があるので途中途中調べ物をしながら進めて行きました。
キカガク
テキスト分類
Optunaを使ったハイパーパラメータの最適化
テキスト分類では、形態素解析の処理を行った文書をニューラルネットワークに渡してジャンルごとに分類する方法を学びました。
文書に形態素解析の処理を施すと、文書全体で使用されたすべての単語を集めた辞書が完成します。
そこにCountVectorizerの処理を行うと、文章ごとに登場した単語を表現する整数のarray型に変えることができるので、それをさらにtensor型に変換することでニューラルネットワークに対応できる形にできました。
ニューラルネットワークに渡す入力値の数が辞書の長さで、出力層のノード数は目的値のカテゴリの数、という事を忘れないようにします。
Optunaを使ったハイパーパラメータの最適化は去年11月に解けなかった問題に再チャレンジしていました。
中間層の数などは固定して、学習係数と最適化手法をハイパーパラメータとして設定してチューニングしたかったのですがエラーが続いています。
明日から講師の方に直接質問ができるので、早速聞いてみようと思います。
おわりに
転職を目標に毎日勉強して色々学んでいますが、本当に実家に居させてくれるお父さんに感謝しかありません。
仕事を見つけてお父さんを安心させるために、毎日ゴリゴリ勉強して行きます。
初任給ではお父さんにサンドバッグを買いたいです。(今実家にあるサンドバッグはかなり古くて使えないのです)