データ分析やAI予測の基本中の基本「回帰分析」「最小二乗法」の基礎をPythonコードと図で理解する:「AI」エンジニアになるための「基礎数学」再入門(15) AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す連載。今回は「回帰分析」「最小二乗法」について、図版とPythonコードを交えて解説します。
連載目次 前回は、データの可視化をテーマに、さまざまなグラフの描画を行いました。今回は「変化」を捉えるために使われる微分法について、数値計算のプログラミング方法を見ていきます。 まず、微分の定義を思い出しながら、プログラムとして表現する方法を紹介します。次に、微分方程式の数値計算を行います。関連事項として、ルンゲ・クッタ法による微分方程式の解法についても紹介します。今回はPythonの文法やライブラリに関しての新出事項は特にありませんが、いくつかのアルゴリズムを通して、プログラミングの力を高めていきます。 今回の練習問題としては、勾配降下法により最小値を求めるプログラム、2変数の微分方程式をルンゲ・クッタ法で解くプログラム、偏微分の数値計算を行うプログラムの3つを取り上げます。 微分方程式やルンゲ・クッタ法は中学・高校の数学のレベルを少し超えますが、数値計算は簡単な四則演算だけでできてしま
マンハッタン距離(Taxicab distance)/ユークリッド距離(Euclidean distance)、L1/L2ノルムとは?:AI・機械学習の用語辞典 用語「マンハッタン距離」「ユークリッド距離」について説明。いずれも2点間の距離を計測する方法のこと。マンハッタン距離とは、碁盤の目状の道を縦に横にとタクシーが進むようにn次元の距離(=差)の絶対値を合計することで距離を計算する方法。ユークリッド距離とは、n次元の距離(=差)の二乗値を合計した値の平方根を求める(=ピタゴラスの定理を適用する)ことで直線的な最短距離を計算する方法を意味する。 連載目次 用語解説 数学/統計学/機械学習におけるマンハッタン距離(Taxicab geometry:タクシー幾何学、Taxicab metric、Manhattan distance)とは、2点間の距離を計測する際に、n次元の次元ごとに距離(=
この講座は『受講登録する(無料)』ボタンを押すと受講開始となる『開始日可変型講座』です。 『開始日可変型講座』とは、受講者個々の受講開始日に応じて進行する講座です。 ご自身のスケジュールは、以下の講座スケジュール(PDF)を参考にご確認ください。 講座内容 数理科学・データ科学の重要性が声高に叫ばれてから久しい。学問の世界でも実社会でもデータに触れないことが稀なくらいであり、データにまつわる理論や機械学習などの技術の修得のニーズが高まっている。数理科学にせよ、データ科学にせよ、さらに続く機械学習やAIの分野にせよ、いずれも数式で表現されるモノである。それらを深く理解するには結局のところ数学の勉強が必要になる。とはいえ専門的な数学までは必要なく、大学初年次に学ぶ基礎的な内容を押さえておけば、数理・データ科学を学び始めるには十分である。 本講座では、数理・データ科学のために結局勉強することにな
はじめに プログラミング自体は文系、理系、年齢関わらず勉強すればある程度ものになります。プログラミングがある程度できるようになるとTensorflow,PyTorchやscikit-learn等のライブラリで簡単にできる機械学習やデータサイエンスに興味を持つの必然! これからさらになぜ上手くいくのか・いかないのかの議論をしたい、社内・外に発表したい、理論的な所を理解したい、先端研究を取り入れたい、応用したい等々と次々に実現したい事が増えるのもまた必然でしょう。このときに初めて数学的なバックグラウンドの有無という大きな壁が立ちはだかります。しかし、数学は手段であって目的ではないので自習に使える時間をあまり割きたくないですよね。また、そもそも何から手を付けたら良いかわからないって人もいるかと思います。そんな人に向けた記事です。本記事の目標は式の意図する事はわからんが、仕組みはわかるという状態に
「モデルとデータの可視化」というテーマで関数グラフの描画やヒストグラムや散布図などの各種グラフの取り扱い方を前後編で解説。前編である今回はシグモイド関数のグラフを描く問題を手始めに、さまざまなグラフの描画方法を見ていく。 連載目次 前回は、オイラーのγ(ガンマ)と呼ばれる値の近似値を求める例や共分散を求める例、株価の移動平均を求める例などを通して、総和(Σ)や平均、データの個数を求めるための基本的なパターンを見ました。また、制御変数とインデックスの取り扱いについても考えました。 今回のテーマは「ビジュアライズ(可視化、視覚化)」です。内容は、関数のグラフを描画にすることによるモデルの可視化と、収集した数値データや分析結果の可視化という2つに大きく分かれます。そのため、内容量がかなり多くなるので、前編と後編に回を分けることにします。 前編(今回)は、シグモイド関数のグラフを描く例や正規分布の
分散(Variance)/標準偏差(SD:Standard Deviation)とは?:AI・機械学習の用語辞典 用語「分散」「標準偏差」について説明。いずれもデータの広がり具合を表す統計量。分散は、各データに対して「平均値との差」(=偏差)の二乗値を計算し、その総和をデータ数で割った値(=平均値)を表す。標準偏差は、分散に対する平方根の値を表す。 連載目次 用語解説 数学/統計学/機械学習における分散(variance)とは、データ(観測値)がどれくらい広がっているか、より厳密には「データが平均値からどれくらい離れているか」(=バラツキ具合)を表す統計量である。分散は、各データに対して「(全データから計算した)平均値との差」(=「偏差:deviation」と呼ぶ)の二乗値を計算し、その二乗値の総和をデータ数で割ること(つまり全二乗値の平均値)で求まる(数式は後述)。 標準偏差(SD:St
▼この本の特徴 本書は、Pythonを用いた数理最適化の入門書です。Pythonを使ってさまざまな課題を実際に解いてみることで、数理モデルを実務で使いこなす力を身につけます。 この本の特徴は、数理最適化のアルゴリズム自体ではなく、数理最適化を用いた課題解決に重きを置いている点です。ビジネスなどにおける課題を数理最適化で解く際に現場で発生しうる試行錯誤が多分に盛り込まれており、実務における手順や気をつけるべきポイントを学習することができます。 ▼この本の構成 本書は二部構成です。 第Ⅰ部はチュートリアルです。中学校で習う連立一次方程式や高校で習う線形計画法を題材として、数理最適化の基礎的な考え方とPythonによる初歩的な実装を学びます。シンプルな課題設定なので、数学的な難しさを感じることなくPythonに集中して基礎を学習することができます。 第Ⅱ部はケーススタディです。 実際に社会で起こ
Machines or computers only understand numbers. And these numbers need to be represented and processed in a way that lets machines solve problems by learning from the data instead of learning from predefined instructions (as in the case of programming). All types of programming use mathematics at some level. Machine learning involves programming data to learn the function that best describes the da
AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す本連載『「AI」エンジニアになるための「基礎数学」再入門』。前回は「行列計算」について学びました。今回のテーマは、「行列の計算分解」です。 前回、データを分析する際には、基本的に1次元のベクトルデータではなく多次元のデータを用いることが多いので、行列計算が重要になると解説しました。行列の計算は、AIが行う計算でもよく使用されており、さまざまな分析に関わる教科書などは行列表記での説明がほとんどです。今回紹介する「行列分解」は、そんな行列計算の中で重要なテクニックの一つです。 行列分解をする理由や行列分解後に得られる結果の意味などについて、数式の内容よりも意味の解釈に注力して解説するので、そこに注目して学習してください。 行列分解をする理由 初めに「行列分解とは何か」を説明します。行列分解とは、ある行列を
連載目次 前回は、ウオーミングアップの回として、フェルマーの小定理やアンドリカの予想、超球の体積といったトピックを通してPythonプログラミングの初歩を振り返りました。 今回から、数式などの「数学の言葉」で表された問題をプログラムとして記述していくことに本格的に取り組んでいきましょう。 まず、調和数列を使ってオイラーのγ(ガンマ)と呼ばれる値の近似値を求める問題を例に、Σ(総和)の計算をプログラミングするために使われるお決まりのパターンを見ていきます。さらに、繰り返し処理を行うときに最もつまずきやすいポイント――繰り返し処理の制御変数とリストのインデックスをどう対応させるかという問題――について、可処分所得の対前年度比の計算などの身近な例を使って考えていきます。 練習問題としては、ネイピア数(自然対数の底e)の近似値を求める例、2つの変数の共分散を求める例、株価のn日移動平均を求める例を
Understanding math will make you a better engineer.So, I am writing the best and most comprehensive book about it. I'm interested Knowing the mathematics behind machine learning algorithms is a superpower. If you have ever built a model for a real-life problem, you probably experienced that familiarity with the details goes a long way if you want to move beyond baseline performance. This is especi
この連載では、中学や高校で学んだ数学を題材にして、Pythonによるプログラミングを学びます。といっても、数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI/機械学習の基本となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学ぶお話にしていこうと思います。 目標: フェルマーの小定理をプログラミングしてみる 数学が苦手な人でも「素数」については聞き覚えがあると思います。素数とは1より大きく、1と自分自身しか約数を持たない数のことでしたね。つまり、2,3,5,7,11,13……が素数です。素数は中学の初歩的な数学から登場し、素因数分解やそれを利用した約分など、数式を取り扱う上での基本の基本となっています。 もちろん、それだけではありません。例えば、公開鍵方式と呼ばれる暗号化の方法(RSA暗号)などにも広く応用される実用的な「数」でもあります。一方で、無限に
中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩:数学×Pythonプログラミング入門 「Pythonの文法は分かったけど、自分では数学や数式をプログラミングコードに起こせない」という人に向けて、中学や高校で学んだ数学を題材に「数学的な考え方×Pythonプログラミング」を習得するための新連載がスタート。連載コンセプトから、前提知識、目標、本格的に始めるための準備までを説明する。 連載目次 この連載では、中学や高校で学んだ数学を題材にして、Pythonによるプログラミングを学びます。といっても、数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI/機械学習の基本となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学ぶお話にしていこうと思います。 今回は、それに先だって、プログラミングを学ぶ上で数学を使うことのメリットや、Pythonでどのよう
最適輸送問題(Wasserstein 距離)を解く方法についてのさまざまなアプローチ・アルゴリズムを紹介します。 線形計画を使った定式化の基礎からはじめて、以下の五つのアルゴリズムを紹介します。 1. ネットワークシンプレックス法 2. ハンガリアン法 3. Sinkhorn アルゴリズム 4. ニューラルネットワークによる推定 5. スライス法 このスライドは第三回 0x-seminar https://sites.google.com/view/uda-0x-seminar/home/0x03 で使用したものです。自己完結するよう心がけたのでセミナーに参加していない人にも役立つスライドになっています。 『最適輸送の理論とアルゴリズム』好評発売中! https://www.amazon.co.jp/dp/4065305144 Speakerdeck にもアップロードしました: https
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く