統計・重回帰分析2
みなさんこんにちは!こじかです。
今日は無料講座第10回の「統計」を勉強しました。
来ましたよー再度の数学セクション。
最近はね、中学数学ならだいぶ復習が進んでますからね、中学数学なら。
ただね、今回の「統計」セクションはどうも高校数学範囲らしいですねーへへへー
さて数学セクションですから、久々に講義内容を手書きしながら進めてくれるので、講義スピードにも遅れる事なく安心して視聴できます。
やっぱり講義内容が頭に入りやすくて分かりやすいですね。
今回は平均、分散、標準偏差の計算方法と、3σ法というデータの外れ値のピックアップ法、重回帰分析でデータを分析する際の変数を標準化する方法などを勉強しました。
すぅーっと内容が頭に入ってくるからでしょうか、あれもう終わり?と感じてしまったので、調子に乗って次の「重回帰分析2」セクションも続けて勉強してしまいました。
この「重回帰分析2」のセクションは無料講座第9回の続きの内容で、第9回の時はすでに用意されているデータをそのまま使って分析を行う方法の解説だったのですが、今回は更にその分析精度を上げるため、データ分析する前のデータの外れ値を除去する方法、変数を標準化する方法(スケーリング)を勉強しました。
データの外れ値を除去する方法については問題なく理解できたのですが、次のスケーリングの所で、「重回帰分析の場合はスケーリングをしてもデータの精度は上がらない」と説明があり、途端に迷子になってしまいました。
データの精度を上げる方法と理解して視聴を進めていたのに、どこで誤解してしまっていたのでしょうか。「重回帰分析では」という言い方だったので別の手法では有効なのでしょうか。うーん。
動画ストップしてスケーリングについて調べてみたのですが、スケーリングにはいくつかの種類があって、標準化という手法はその内の一つのようです。
スケーリングをする目的は、複数の変数を同じスケールに合わせることで、どの変数が強く計算結果に影響を与えるのかを把握するため、という説や、そもそも機械学習のアルゴリズムがすべての変数が同じスケールであることを前提としているため、というような説があるようですが・・分かったような分からないような・・
ただ、どのサイトでもデータ分析をする前のスケーリングなどの前処理がとにかく大事だ!と書いてあるので、まだまだ勉強を深めていく必要がある部分だということは分かりました。
さて、今回で無料講座はすべて勉強し終えました。全くのゼロ知識から始めて全体像というか大枠は分かってきたのではないかなと勝手に思っております。
次回から何を勉強するかまだ決めていないのですが、動画だけではなくテキストもあった方が復習しやすいので、何かしらの講座に申し込もうかなどうしようかな・・と迷い中です。
まだまだ勉強は続きます!
重回帰分析の演習問題
みなさんこんにちは!こじかです。
今回は無料講座第9回「演習問題」を勉強します。第9回まで来ましたねぇ。
無料講座の残りセクションを数えてみたら今回を含めて後3回。
右も左も分からなかった第1回から振り返ると数学はちょこちょこ勉強してるし、英語はまぁこれからですが、かなり理解が深まってきたのではないでしょうか。
今回は実際のcsvファイルに格納された本格的なデータを利用して分析する方法を勉強しました。
データを読み込んだ後はまずはPandasとMatPlotlibを使ってデータを可視化して分析します。
ヒストグラムといういわゆる度数分布表を表示して、正規分布になっているか、外れ値はないかなどを確認したり、散布図を表示して変数同士に相関関係があるかどうかを可視化して確認しました。度数分布表。なつかしい。
次にScikit-learnでデータ分析するためにデータを切り分けるする方法、Scikit-learnで重回帰分析する方法を再度勉強しました。
今回は本格的なデータを分析するため前回の講座では出てこなかった分析手法が追加されていて、ここからがちょっと大変でした。
プログラム実行のために入力するコード量が増えたので講座のスピードについていけず動画ストップしてコード書いて実行したらエラーが出てどこ書き間違えてるか小さな文字を追ってコード書き直して動画再生してコード書いて・・の無限ループ。
コード書くだけでいっぱいいっぱいでこれまでの講座の中で一番のイライラポイントだったかもしれませんねー
かなり時間もかかり疲労もピークを迎えましたので、消化不良でしたがもう今日の勉強は終了!保留保留!
今回の講義ではあらかじめ用意されたデータを分析する方法を中心に勉強しましたが、次回は「統計」というセクションで、その分析するデータそのものを整理する方法を勉強するようです。
唐突の数学パート再開・・まだあったんですね・・
重回帰分析の実装
みなさんこんにちは!こじかです。
今日は無料講座第8回「重回帰分析の実装」を勉強しました。
今回もpythonの数値計算ツールのNumPyを使ってプログラム実行する方法を勉強しました。
そして前回はベクトルが出てきましたが、今回の重回帰分析ではベクトルだけではなく、行列、転置、逆行列、行列積などの行列演算が出てきました。
ここで講師の方が「数学は分かっていたほうがもちろんいいが、今回の方法を覚えるだけでもなんとかなります」的なことをおっしゃったので、お言葉に甘えて力業で覚える方法を選択したいと思います!
また、講義視聴を進めていくと、実務上はこのような数値計算コードを書いてプログラム実行することは少なく、Python用に用意されているツールを利用することが多いとのことで、今回は「Scikit-learn」というツールを利用して重回帰分析する方法を勉強しました。
この手順を覚えられればかなり作業が捗りそうですが、まぁ、すぐには覚えられそうにないので、何度か復習して身に着けるしかないでしょうね・・
今回はデータ数の少ない簡易なモデルを使用しましたが、次回の講義ではcsvファイルに格納された本格的なデータを使用してScikit-learnで重回帰分析する方法を勉強できるとのことなので、また次回理解を深めたいと思います。
このScikit-learnがどんなものか調べてみると、公式サイトに色々な情報が掲載されているようですが、まぁ当然ですが公式サイトは英語表示です。
これ以上見るの無理ぃと拒絶反応が出てしまいましたので、いろんなことができそうだな、という雰囲気だけ感じ取りました。
数学の次は英語の壁を乗り越える必要がありそうですねぇ・・
さて、次回の無料講座は「演習問題」というセクションで、先ほども書きましたが本格的なデータを使用してScikit-learnで重回帰分析をするセクションになります。
またここでハッと思い出したのですが、前回のベクトルの謎が解けてませんね。
まぁ大は小を兼ねると言いますから、重は単を兼ねる、重で使えるものは単でも使える、ということかなと!(絶対違う)
単回帰分析の実装
みなさんこんにちは!ゴリ文こじかです。
今日は無料講座第7回「単回帰分析の実装」というセクションで、実際にPython言語を使って単回帰分析をプログラム実行することを勉強しました。
まず講座を視聴しだしてほんの数秒で「NumPy」という単語が出てきて何の説明もなく講座が進んでしまうので、一旦動画ストップ。「NumPy」を調べます。
「NumPy」とはPythonで数値計算を効率的に行うためのツールだそうです。
ほうほう、ということで講座再開。そして数分すると「ベクトルを実装します」と。
あれ?単回帰分析ってベクトル出てきたっけ?
???のままとりあえず視聴を続けました。
次に「Pandas」というまた新たな単語が出てきました。動画ストップして調べてみると「Pandas」とはPythonのデータ解析用のツールとのこと。
このPandasを使ってcsvファイルを読み込む操作をしたいのですが、そのcsvファイルがどこにあるのかわかりません。
あれ?あれ?と探しているうちにどんどん講座は進みます。なんて・・なんて不親切なの・・!と無料講座に文句をつける始末。
結局このcsvファイルは無料講座が公開されているサイト内にものすごく分かりやすく保存されていたのですが、それを見つけるまでに結構時間がかかりました。小一時間はかかったんじゃないかな・・
なんてばかなの・・!と自分を呪いつつ、講座再開。なんとかcsvファイルの読み込みに成功しました。
ここでちょっと驚いたのが、プログラムを実行するとcsvファイルがほぼ同じ形式で表示されたことでした。
「コードを書いてプログラムを実行する」ことが今回で2回目なので、プログラミングの世界では普通のことなのかGoogle Colaboratoryの特徴なのかもわかっていませんが、こんなこともできるんだということに素直に驚きました。
このあと「MatPlotlib」というPythonのグラフ描画用のツールも使ってみたのですが、これを実行すると散布図などのグラフを表示できるんです。驚きですねぇ。
そして最後まで講座を視聴してハッと気づきました。ベクトルの謎が解けていません。
謎が解けていませんが脳みそが限界を迎えています。もう動画を見直す気にもなりません。
と、いうことでベクトルは保留!
次の無料講座が「重回帰分析の実装」なので、ここできっと謎は解けるでしょう、きっと!
Python速習
みなさんこんにちは!ゴリゴリ文系、ゴリ文のこじかです。
今回は無料講座第6回、「Python速習」を勉強しました。
前回まで苦しんだ数学から一転、今回は初めてプログラミング言語でソースコードを書く経験をしました。
今後仕事にAIを導入するにしてもプログラムまでは関わらないとは思いますが、全体的な流れを把握しておくのは大事だと思いますので、今後は慣れないプログラミング言語との格闘ですね。
まずプログラミング練習のための環境作りから。その環境も無料で利用できるサービスがあるそうです。
そういえば先日東大の研究チームが偽動画を高確率で検出できるAIを開発したという報道を見ました。そのソースコードも公開される予定とのことで、AIの技術は世界での共有財産という考え方が根底にあるのでしょうか。私の認識が間違っていたらすみません。
さて、今回はGoogle ColaboratoryというGoogleが提供しているサービスを利用してプログラミングの練習をしました。
今回からは講師の方と同じソースコードを書きながら動画視聴を進めるのですが、入力ミスや入力スピードの関係でキーボード操作に集中していると動画の内容が頭に入ってこないので、何度も動画をストップして戻して再スタートして、と時間がかかります。
前回までの数学編の比じゃないです。時間がかかります。時間がかかります。
ただ今回は初めてソースコードを書いてプログラムを実行する経験をしまして、なんと言うか・・プログラムを実行した結果が返ってくる感覚が初めての感覚というか、どう表現していいのかわかりませんが、無限の可能性がこの小さなノートPCに詰まっているんだなぁなんて妙な気分になりました。この感覚伝わるかなぁ。語彙力が欲しい。
そして新たな問題に直面しました。まぁ想像つくかとは思いますが、英語ですね。高度な語学力は必要なさそうですが、ソースコードのベースが英語なので、入力ミスが尋常じゃありません。
普段の日本語入力はスマホでもローマ字入力するくらいローマ字入力に慣れてしまっているので、英語入力もローマ字入力に引っ張られて入力ミス。キーボード見ながら入力してもミス。ミスに気付かないで実行してError。Error表示ももちろん英語。もうおなかいっぱい。
英語に悪戦苦闘しながら、Pythonの基本構文、制御構文、関数などを学びました。
数学に加えて英語かぁ・・ついていけるかなぁ・・
それはさておき、次回の講座は「単回帰分析の実装」というセクションです。
単回帰分析の内容はまだ未消化なので復習して臨みます!
重回帰分析
みなさんこんにちは!こじかです。
今回は無料講座第5回目、「重回帰分析」を勉強しました。
前回の「単回帰分析」同様、初めましてでしょう、きっと。
今回はまぁ手こずりました。まぁ時間がかかったよほんとに!
前回の「単回帰分析」は家賃を予測するための要素が部屋の広さ1つだけでしたが、今回の「重回帰分析」は要素が2つ以上あるケースについて勉強しました。
要素が複数個あるので計算がより複雑になりまして、脳みそカッチカチの私にはちょっと何言ってるか分からないですねー状態。
なんでここで線形代数が出てくるのか、なんで「単回帰分析」では線形代数を使わないのか、ベクトルで微分ってどういう事ですか、と
何度も動画を止めて前回のメモや動画を見直して前回との違いを見比べて線形代数を復習して・・
まーもうねーよく分からんですよねーこれどこまで理解しておく必要があるんですかねー
という事で、今回のセクションはちょっと保留!ちょっとタイム!
一旦中学高校数学の復習時間を取ろうと思います。
本屋に行く前にグーグル先生で参考になりそうな情報がないか探してみたら、無料で要点をまとめたものや練習問題などを公開しているサイトがいくつかありました。
なんて便利な世の中なんでしょう!
私のようなちょっと復習したい人間には大変ありがたいです。
ここで私的に衝撃だったのが、計算の途中で行き詰まってた問題の半分くらいは中学数学の学習範囲だったこと・・
すいません、ちょっと涙を拭いて歯食いしばって出直してきます。
とりあえず今回の「重回帰分析」は一旦後回しにして次のセクションに進みます。
今回で数学セクションが終わりまして、次回からはコードを実際に書きながらの講義になります。
次回は「Python」というプログラミング言語を勉強します。
プログラミング・・ゴリゴリ文系のゴリ文がどこまでついていけるでしょうか。
単回帰分析
みなさんこんにちは!こじかです。
今日は無料講座第4回目、「単回帰分析」を勉強しました。
これはいつ学習する範囲のものなんでしょうか・・?
は、はじめましてだと思われます。
そうそう、前回まで微分と線形代数を勉強して、数学にかなりハンデがあると今更ながら認識しましたので、AI学習に必要な数学の本を買って勉強を始めました。
毎日コツコツ空き時間に勉強してますがまー疲れますねー
疲れますがちょっとでも前に進んでると信じて今後も少しずつ勉強しようと思います。
今回の「単回帰分析」の講義内容に話を戻しますが、今回も白紙に手書きスタイルの講義だったのでとても分かりやすかったのですが、理解できたかと言うと・・どうでしょう?
今回の講義内容は部屋の広さから家賃を予想する場合を例にして、その手順、利用する関数、予測値と実際値の誤差を最小にするための微分計算などなどを勉強しました。
今回は累乗(2乗とか3乗とか〇乗で表現されるもの)が途中の計算に含まれているのですが、累乗の数式が分かっている前提で講義が進むので地味にキツイ。
中学高校で習った数学なんて記憶の彼方ですからねぇ・・
買った本にはそんな基本的な数学までは載っていないので、中学高校の数学のテキストを買うしかないのかしらと悩んでおります。
テキストじゃなくて問題集みたいなものの方がいいのかな?
復習したばかりの微分計算ももちろん分かっている前提で講義が進みますので、その都度動画を止めて調べてから動画を再開して・・なので時間も結構かかったと思います。
いやーキツイキツイ。
今回の講義内容はちょっと消化不良気味ですが、何度も復習して消化しようと思います。
次回の講座は「重回帰分析」というセクションです。もっと計算が複雑になるということでしょうか。とりあえず累乗の勉強し直しはしておこうと思います・・
それでは!