デジタル・デザイン・ラボラトリーな日々

アラフィフプログラマーが数学と物理と英語を基礎からやり直す。https://qiita.com/yaju

機械学習に使われる微分の数式を理解してみる(多項式回帰)

はじめに 前回の記事の続きとなります。 yaju3d.hatenablog.jp 最終的な更新式を求めたところまでやりました。 パラメータ と の更新式は、最終的に下記のようになります。 参考 やる夫で学ぶ機械学習 - 多項式回帰と重回帰 - · けんごのお屋敷 多項式回帰 …

機械学習に使われる微分の数式を理解してみる(勾配降下法:最急降下法)

はじめに 前回の記事で、シグモイド関数の微分を行いました。 yaju3d.hatenablog.jp 今回は、偏微分を含んだ微分を理解していきます。 本とかだと分かっている人向けなので展開式を省略されてしまうのですが、私はあえて分かりやすく展開式を書きたいと思っ…

機械学習に使われる微分の数式を理解してみる(シグモイド関数)

はじめに 機械学習関連の本や記事を見るたびに出てくる微分の数式、これを理解しないと自分は先に進めない。 しばらくはシリーズで取り組みたいと思います。 以前の記事で、シグモイド関数の微分を導出してみました。再度、一から見直していきます。 yaju3d.…

2019年こそ英語を継続して勉強する

はじめに 今年になってサブタイトルにこっそり「英語」を追記しました。 毎年新年を迎えると今年こそ英語をと誓うものの、数ヶ月もすれば何もしないで終わってそのまま1年経ってしまう。 こんなことを25年ぐらいやっているわけで、溜まるのは本や教材ばかり…

「サザエさんのじゃんけん データ分析」の2018年の結果

はじめに 明けましておめでとうございます。 さてさて、2018年のサザエさんのじゃんけん結果はどうなったでしょう。 ちなみに、2017年のサザエさんのじゃんけん結果は、32勝9敗7分(勝率0.780)でした。 人工知能による予測化を断念 ごめんなさい、DeepLearnin…

交差エントロピーを理解してみる

はじめに ここ数ヶ月は別の件で忙しくて、機械学習に向き合えていませんでした。 仕事で調べたり学んだことはQiitaブログの方に書いていて結構すんなり書けるんですが、このブログは数学・物理・機械学習と特化するようにしているので、パワーがないと進まな…

シグモイド関数を理解してみる

はじめに 機械学習の学習すると必ず出てくる用語にシグモイド関数があります。 今回はこれを理解してみたいです。 シグモイド曲線 シグモイド曲線は入力した値を0から1の間に収めてくれる関数の1つです。 多くの自然界に存在する事柄は、このようなS字曲線を…

サポートベクターマシーン(SVM)を理解してみる

はじめに ディープラーニング(深層学習)の理解もまだ進んでいないわけですが、今回は勝手に古い技術と思い込み何も理解しようとすらしていなかった サポートベクターマシン(Support Vector Machine:SVM)に着目してみます。 サポートベクターマシンとは サポ…

Google Colaboratory上でmatplotlibのアニメーションを再生する

はじめに 最近は、Anacodaを使わずにGoogle Colaboratoryを使用しています。 Google ChromでGoogle Colaboratory にアクセスすれば、すぐにPythonが使えますからね。 下記サイトでは勾配降下法 (Gradient Descent)のグラフをアニメーション化しており、かっ…

Google ColaboratoryでGitHubのCSVデータをpandasに読み込む

はじめに 最近は、Anacodaを使わずにGoogle Colaboratoryを使用しています。 Google ChromでGoogle Colaboratory にアクセスすれば、すぐにPythonが使えますからね。 機械学習を学ぶ上では、サクッと使えるデータが必要です。 Google Colaboratoryでファイル…

ディープラーニング(深層学習)を理解してみる(識別問題 その2)

はじめに 3月の問題が解決しないまま2ヶ月が経ってしまい、4月分はうっかり記事を飛ばしてしまった。 このままだと5月分の記事も飛ばしてしまうので、あとで埋めるために5月分の記事を立てた。 しばしお待ち下さい。

ディープラーニング(深層学習)を理解してみる(識別問題)

はじめに 前々回の「対数logを理解してみる」と前回の「自然対数の底(ネイピア数) e を理解してみる」では、人工知能に使用する基礎的な数学知識が足りなかったのでシリーズとは脱線して書いてみました。 また、このシリーズで書いていきます。 ニューラルネ…

自然対数の底(ネイピア数) e を理解してみる

はじめに 前回、対数を理解してみました。 yaju3d.hatenablog.jp 今回は機械学習を学ぶ上で出てくる自然対数の底(ネイピア数 e)とは何かを理解していきます。 間違える人は結構多いですが、 は「自然対数」ではありません。「ネイピア数」あるいは「自然対数…

対数logを理解してみる

はじめに 機械学習を学んでいると対数logがでてくる。基礎的なことから対数を理解してみたい。 指数はイメージし易いが、対数は分かりにくいと思われている。指数と対数はペアの関係にあり、かけ算とわり算のように逆関係にある。 先ずは、指数の大きさを視…

「サザエさんのじゃんけん データ分析」の2017年の結果

はじめに 明けましておめでとうございます。 昨年も東芝に暗雲が立ち込め、東証2部に降格して日経平均から外れ、ついには18年3月末にサザエさんからのスポンサー契約を降板する方向で調整とあいなりました。 さて、サザエさんのじゃんけんを長年記録しデータ…

ディープラーニング(深層学習)を理解してみる(勾配降下法:計算確認)

はじめに 前回の続きです。 yaju3d.hatenablog.jp 前回の計算が本当に合っているのか、Pythonを使って実証してみたいと思います。 プログラム 重みの更新 ①現在の重みで推測値を求める import numpy as np a = np.array([10, 20]) b = np.array([[1,3,5],[3,…

ディープラーニング(深層学習)を理解してみる(勾配降下法:計算方法)

はじめに 前回の続きです。 yaju3d.hatenablog.jp 幾つかの人工知能関連の本やWebサイトを見ても、数式やプログラムのソースリストは記載されていても、数学が苦手な自分が理解できるようになるまでの説明が無い、そんな中でも下記3つの本(Kindle)がまだ理解…

ディープラーニング(深層学習)を理解してみる(勾配降下法:ベクトル、内積、微分、偏微分)

はじめに 前回の続きです。 yaju3d.hatenablog.jp 幾つかの人工知能関連の本やWebサイトを見ても、数式やプログラムのソースリストは記載されていても、数学が苦手な自分が理解できるようになるまでの説明が無い、そんな中でも下記3つの本(Kindle)がまだ理解…

ディープラーニング(深層学習)を理解してみる(勾配降下法:最急降下法と確率的勾配降下法)

はじめに 前回の続きです。 yaju3d.hatenablog.jp 勾配降下法をどうして使うのかは理解できたのですが、その計算方法がまだ理解が足りてなくて、微分の本とかを読んでいました。 数学は苦手なんですが、理解はしたい。おまじないとかそういうルールだからと…

ディープラーニング(深層学習)を理解してみる(勾配降下法)

はじめに 機械学習をやる上では「勾配降下法」を理解しておきたい。 「勾配降下法」で検索すると自分が書いた記事が見つかります。 yaju3d.hatenablog.jp 資料を元に書いた記事なので当時はよく理解していたわけではないですが、今、読み返すとふむふむと言…

ディープラーニング(深層学習)を理解してみる(TensorFlow Playgroundを試す)

はじめに 前回はパーセプトロンを多層にすることで、線型分離可能でない問題を解けることを学びました。 yaju3d.hatenablog.jp これを視覚として見ながら学びたいということで見つけたのが「TensorFlow Playground」となります。 しかし、初見では何がなんだ…

ディープラーニング(深層学習)を理解してみる(パーセプトロンと論理演算)

はじめに TensorFlow関連の記事を書いている割には、ディープラーニング(深層学習)について理解度が足りてないということもあって基礎的なところから理解してみようと思いました。幸い、ここ1年で本やブログ記事が増えてきたので助かります。 参考にした下記…

Chainer ver2.xをWindowsにインストールしてみた

はじめに 2017/02/23に「Chainer」の大幅アップデートが公開されました。 気になっていたサンプルプログラムがChainer用だったこともあり、インストールしてみました。 Anacondaを使用しているのでパッケージ管理システム(conda)によりChainer用環境で作成し…

Shizuoka.py #6 and shizudevの資料公開

はじめに 2017/02/18(土)に「Shizuoka.py #6 and shizudev」が開催され、静岡県島田市の会場に11名集まりました。Shizuoka.pyは名前の通りPython向けの勉強会で、shizudev(静岡Developers勉強会)は開発全般の勉強会で今回共同開催となりました。昨年は人工知…

「サザエさんのじゃんけん データ分析」の2016年の結果

はじめに 明けましておめでとうございます。 昨年は東芝の不正会計について触れたのですが、また今年も東芝のことを触れるとは思っていませんでした。 不正会計後に少しずつ回復傾向にあったのに、まさか昨年末に再度危機的状況になるなんて。 東芝家電のた…

Visual Studio CodeをPythonの開発環境として使ってみる

はじめに これまでPythonを使用するのに「Jupyter Notebook」を使用してきたのですが、簡単な確認ならこれで十分なんですが本格的に開発するとなるとブレークポイントを使ったデバッグが出来ないと自分には辛いということで、Python開発環境を整えることにし…

Tensorflowの上位ラッパーライブラリ Kerasを試してみる

はじめに これは、TensorFlow Advent Calendar 2016の16日目の記事です。 本当は、Tensorflowで足し算をやりたかったのですが、間に合いませんでした。足し算といっても桁上りがあるので簡単ではなさそうです。 下記サイトのNPI(Neural Programmer-Interpret…

線形回帰で二乗和を2で割る理由について

はじめに これは、機械学習に必要な高校数学やり直しアドベントカレンダー Advent Calendar 2016の10日目の記事です。 線形回帰 ー 誤差の和の式(データ個数 n 個の場合) 2乗することに関しては、以前書いた下記の記事にてピタゴラスの定理で距離を求めると…

TensorFlowがWindowsサポートしたのでインストールしてみた

はじめに TensorFlow 0.12からWindowsをサポートするようになりました。これにより、VirtualBoxやDockerを使う必要がなくなります。 【追記 2017/03/02】 2017/02/16にTensorFlow 1.00がリリースされました、遅ればせながら今回TensorFlowをバージョンアップ…

VirtualBoxにUbuntu16.04 LTS と TensorFlow をインストール

はじめに 日本語形態素解析システム「JUMAN++」をインストールするために、久しぶりにVirtualBoxのUbuntuを使ったのですが、各システムのバージョンも古くなってきているので新規にインストールし直します。 以前書いた下記の記事(2016年3月27日)を基にイン…