【微分の使い道がわかる!】AI講座05.単回帰分析 <数式を使った理解編_後半>|Pythonで始める人工知能入門講座

Поделиться
HTML-код
  • Опубликовано: 26 июл 2024
  • 単回帰分析<数学を使って理解編>の後半です。
    微分がどのように回帰分析に使われているのか、なぜ必要なのか。また、微分とはどんなものなのかを説明しています。
    数学が苦手だった方も、数学をイメージから理解することで、単回帰分析についてより知識を深めることができます。
    レッスンをご覧ください。
    ▼目次
    00:00 はじめに
    01:28 微分についての説明
    05:27 最小二乗法で傾きと切片を求める
    08:22 Pythonで最小二乗法を使って回帰直線を求める方法
    10:09 予測の精度評価に使用する係数
    14:20 おわりに
    ▼関連動画
    【Pythonで始める人工知能(AI)入門講座】01.コース紹介|初心者の方でもわかるように説明を頑張ります!
    • 【Pythonで始める人工知能入門講座】AI...
    【教養としての人工知能】人工知能とは何か?|人工知能(AI)開発 入門講座#02
    • 【教養としての人工知能】AI講座02.人工知...
    【人工知能、まずはここから】ゼロからわかる単回帰分析|AI講座 第03回
    • 【人工知能、まずはここから】ゼロからわかる単...
    【数学を勉強する意味がわかる!】AI講座04.単回帰分析 <数式を使った理解編_前半>|Pythonで始める人工知能入門講座
    • 【数学を勉強する意味がわかる!】AI講座04...
    ▼書き起こし
    最終的に知りたいのは、残差の二乗和が最も小さくなる時の、w0とw1です。
    これを求めるのには、どうすればよいのでしょうか。
    ここで、使用するのが微分です。
    高校のときに習いましたが、微分は最小値や最大値を求めることができる処理です。
    どのように求めるのか簡単に説明します。
    まず、微分は、簡単にいうと、関数の傾きを求める処理です。
    yイコール、xの2乗の関数を使用して説明します。
    表示されているのが、yイコール、xの2乗の関数のグラフです。
    このグラフでyが最も小さい値になるのは、xの値がいくつの時でしょうか。
    視覚的にわかると思いますが、xが0の時、yが最も小さい値になっています。
    これを微分では、どのように求めているのでしょうか。
    先ほど、微分は傾きを求める処理だといいました。
    傾きとは何でしょうか。
    傾きは、xの増加量分のyの増加量で定義されています。
    この傾きですが、傾きが0に近づくほど、yの最小値に近づくいう性質があります。
    具体的に、0から1の傾きと1から2の傾きを求めて見ましょう。
    両方とも、xの増加量分は1、yの増加量も1です。
    したがって、xの0から1の傾きは、1ぶんの1で、1です。
    次に、xが1から2の時の、yの増加量は、xが1の時、yは1、xが2の時、y4なので、yの増加量は3です。
    したがって、xの1から2の傾きは、1ぶんの3で、3です。
    つまり、xの0から1の傾きは1、xの1から2の傾きは3です。
    yの最小値は0です。 xの0から1と、xの1から2の区間では、0から1の区間の方が、yの最小値に近いです。 実際に、0から1の区間の方が、傾きは小さいです。 つまり、ここからわかる通り、傾きが0に近づくほど、yの最小値に近づくいう性質があります。
    この傾きですが、xの区間を今の0から1ではなく、0から0.5、0から0.1とだんだんと小さくして考えることもできます。
    この区画を限りなく小さくしていくと、区画ではなく、ほぼ、xの値に対しての傾きを求めることができます。
    そして、このxの値に対する傾きが0になる点こそ、yの最小値を取ることが知られています。
    また、このxの区間を限りなく小さくするという処理が、微分なのです。
    つまり、微分して0になるxの値を求めれば、yの最小値を求めることができるのです。
    では、実際に微分で、yの最小値を取る、xの値をyイコールxの2乗の関数から求めてみましょう。
    xの2乗を、微分すると、2xになります。
    微分の計算方法については、ここでは解説しません。
    微分について説明して欲しい方がいればぜひコメントください。
    そちらも動画で解説動画を作りたいと思います。 微分の計算方法がわからない方は、今はそうなるだと思っていただければ結構です。
    そして、微分して傾きが0になる時のxが最小値をとるxです。
    ですので、0イコール2xという方程式を解きます。
    両辺を2で割り、xイコール0という値が得られます。
    微分から、yイコール、xの2乗の最小値を取るxは0という結果が得られました。
    求めらえたxの値0を元のyイコール、xの2乗のxに代入すると、yの最小値が得られます。
    代入すると、yイコール、0の2乗になるので、yイコール0、グラフから読み取った最小値と同じ値が得られました。
    ------
    ▼書き起こしブログ
    (準備中)
    ▼自己紹介
    ブログに自己紹介を書いております。
    kino-code.com/profile/
    ▼SNS
    Twitter : / likes
    Facebook : / %e3%82%ad%e3%83%8e%e3%...
    Website : kino-code.com/
    #人工知能 #AI #Python #単回帰分析 #最小二乗法 #微分 #数学

Комментарии • 16

  • @kinocode
    @kinocode  3 года назад +2

    07:46 右下に表示のw1についての偏微分の式(w1の傾きの式)に誤りがありました。
    正)-2Σxi(yi-w0-w1xi)
    です。xiをかける必要があります。
    08:15 も同様にw1の偏微分の式(下の式)にはx1をかける必要があります。
    連立方程式も同様です。

  • @Kim-ke5sb
    @Kim-ke5sb 3 года назад +1

    久しぶりに数学を学んでいるアドバンテージを実感しました笑
    わかりやすさを重視するために齟齬に目を瞑ってほしい気持ちは教員やってると共感しかないです笑
    webアプリ開発は今まさに勉強中なので楽しみです!
    これからもキノコードさんについていきます!

  • @hideq1004
    @hideq1004 3 года назад

    めちゃくちゃわかりやすかったです。微分・数学の動画、是非お願いします!!

  • @user-cv3gs1pd4t
    @user-cv3gs1pd4t 3 года назад

    説明はわかりやすかったです。いつもありがとうございます。
    正直、数式の方はサッパリ・・なのですが、先に実際に使う場面を体験した方が、数式の理解も進むと思います(今、難しい話を聞いても頭に入る自信がありません。)。
    ですので、先に実装編を見たいです。

  • @LUCKY-eu3nq
    @LUCKY-eu3nq 3 года назад +3

    微分の計算の動画、お願いいたします・・

  • @user-ng5ml5vs6z
    @user-ng5ml5vs6z 3 года назад +2

    w0についての偏微分に対して、中身の微分がマイナス1になるので、先頭にマイナスがつくと思われます

    • @kinocode
      @kinocode  3 года назад

      はい。ご指摘の通りです。失礼いたしました…
      固定コメントにてお知らせさせていただいております。
      細かいところまで見ていただいてありがとうございます!

    • @user-ng5ml5vs6z
      @user-ng5ml5vs6z 3 года назад

      @@kinocode こちらこそいつもためになる動画ありがとうございます。これからも動画投稿楽しみにしています!

    • @user-ef1co4do6c
      @user-ef1co4do6c 3 года назад

      @@user-ng5ml5vs6z w0について偏微分すると -2Σ(yi-w0-w1xi) になるということですか?

  • @YesNoWhatYouDoing2
    @YesNoWhatYouDoing2 3 года назад

    3:46 y=x^2 の 微分は2x、正解。

  • @naoki_drums
    @naoki_drums 3 года назад

    13分頃の相関係数に関する字幕に誤植があります。
    相関係数の絶対値が大きいほど「決定係数」も大きくなる、では?

    • @kinocode
      @kinocode  3 года назад

      そうですね、ご指摘ありがとうございます!
      音声の通り「相関係数の絶対値が大きいほど「決定係数」も大きくなる」です。失礼いたしました。

  • @tominogami8101
    @tominogami8101 2 года назад

    初めまして。ビジネスデータサイエンティストを目指して、1年と2ヶ月ほど独学しています。今回のテーマは文系脳の自身としてはとても参考になりました。ありがとうございます。1つだけ初歩的な質問とご相談なのですがpythonを用いてのグラフの実行がどうもうまくいきません。コードは間違いなく入力したのですが、実行のコマンドが違うのでしょうか。お忙しい中、大変申し訳ございません。お手隙の際で結構ですのでご指示頂けないでしょうか。何卒よろしくお願いします。

    • @kinocode
      @kinocode  2 года назад +1

      文系の方にも理解いただけるよう、丁寧に解説をしたつもりでしたので、そう言っていただけると嬉しいです!
      グラフの実行では、どのようなエラーがでているのでしょうか?
      JupyterLabでグラフが表示されない、ということでしたら、次のいずれかをお試しください。
      1.「%matplotlib inline」と先に書く(Notebook内にグラフを表示させるコマンド)
      2.「plt.show()」と最後に書く(matplotlib.pyplotでグラフを表示させるコマンド)

    • @tominogami8101
      @tominogami8101 2 года назад

      @@kinocode こんにちは、大変お忙しい中的確な回答を頂きましてありがとうございます。以下のようなフィードバックがエラーとして表示されています。
      Traceback (most recent call last):
      File "LessonJUL_07.py", line 5, in
      ydata = [i * w1 + w0 for i in xdata]
      NameError: name 'w1' is not defined
      頂きましたアドバイスで再度帰宅後トライします。いつも本当にありがとうございます。

    • @kinocode
      @kinocode  2 года назад

      これは、変数w1が定義されていないというエラーですね。
      コードが抜けているのかもしれません!