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

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

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月末にサザエさんからのスポンサー契約を降板する方向で調整とあいなりました。 さて、サザエさんのじゃんけんを長年記録しデータ…

ディープラーニング(深層学習)を理解してみる(活性化/損失関数)

はじめに 前回、勾配降下法の計算方法をPythonで実際に組んでみて、TensorFlowで実行した結果と同じになりました。 yaju3d.hatenablog.jp 今回は、活性化関数/損失関数を軽くまとめてみます。 というのも、前回の勾配降下法の計算確認をした際に活性化関数…

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

はじめに 前回の続きです。 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日)を基にイン…

TensorFlowコトハジメ Word2Vecで「君の名は。」と戯れてみた

はじめに 前回、Word2Vecを初めて試してみて面白いと思ったので、日本語に挑戦することにした。 yaju3d.hatenablog.jp 日本語に挑戦するにあたり、どうせなら旬なネタがいいなと思って、今のお気に入りは火曜ドラマ「逃げるは恥だが役に立つ」で「みくに - …

TensorFlowコトハジメ Word2Vecによる自然言語処理を試す

はじめに 以前、ベイジアンフィルタを実装して自然言語処理に興味を持ち始めたので、とりあえず「king - man + woman = queen」で有名になった「Word2Vec」を動かしてみたいと思った次第です。 yaju3d.hatenablog.jp Word2Vecとは Word2Vecは米グーグルの研…

TensorFlowコトハジメ 偶数と奇数に分類

はじめに 久しぶりにTensorFlowをさわってみました。 人工知能を勉強しようとしてもハードルが高いし、手書きの文字を分類したからって何って感じ、画像を集めるのも大変だし結果を出すにも時間がかかるしね。 先ずはリハビリとして何をやろうかと思ったのが…

確率を理解してみる-ベイジアンフィルタを実装

はじめに 前回、「ベイズの定理」について説明しました。 yaju3d.hatenablog.jp 今回、ベイズの定理を利用したベイジアンフィルタの中で最もシンプルなナイーブベイズ(Naive Bayes)を実装してみます。 ベイジアンフィルタ ベイジアンフィルタは、迷惑メール…

確率を理解してみる-ベイズの定理

はじめに 前回、ベイズ主義のところで「ベイズの定理」について軽くふれました。 yaju3d.hatenablog.jp 今回、「ベイズの定理」についてもう少し詳しく説明していきます。 ベイズの定理 P(X) : X が起きる確率 P(Y) : Y が起きる確率(事前確率) P(X|Y) : Y…

確率を理解してみる-頻度主義とベイズ主義

はじめに 前回、確率の基礎を説明しました。 yaju3d.hatenablog.jp 今回は、機械学習や統計で使っている確率を説明します。 最初に,機械学習にとって確率はどういう役割なのかを確認しておきましょう。実のところ,機械学習に確率が必須というわけではあり…

確率を理解してみる-基礎編

はじめに 確率は最も実生活で役立つ分野といっても過言ではない。未来に起こりうる事象の割合である確率を勉強することは、予知能力を手に入れることにも等しい。元々、確率分野は「何とかして賭けに勝ちたい」という強い思いから始まった分野である。未来を…