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

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

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

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

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

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

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

はじめに 前回の続きです。 yaju3d.hatenablog.jp 幾つかの人工知能関連の本やWebサイトを見ても、数式やプログラムのソースリストは記載されていても、数学が苦手な自分が理解できるようになるまでの説明が無い、そんな中でも下記2つの本(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 今回は、機械学習や統計で使っている確率を説明します。 最初に,機械学習にとって確率はどういう役割なのかを確認しておきましょう。実のところ,機械学習に確率が必須というわけではあり…

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

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

順列と組合せを理解してみる-競馬の組合せ

はじめに これまで順列と組合せを学んできたので、応用として競馬の組合せを計算してみたいと思います。 yaju3d.hatenablog.jp yaju3d.hatenablog.jp 競馬の組合せ 18頭出る場合で想定してみます。 単勝 1着になる馬を当てる馬券です。 1着になる馬は1…

順列と組合せを理解してみる-組合せ

はじめに 前回、順列を説明しました。今回は組合せとなります。 yaju3d.hatenablog.jp 順列と組合せの違いですが、順列の場合は「順番をつける」、組合せの場合は「順番をつけない」となります。 組合せ 組合せには下記の公式があります。Cはcombination(コ…

順列と組合せを理解してみる-順列

はじめに 前回、順列に入る前に「場合の数」として「積の法則」と「和の法則」を説明しました。 yaju3d.hatenablog.jp ここで重要なのは「積の法則」で、事象の数がいくつあっても、それが同時に起こる場合は積の法則で場合の数を求めます。 順列とは 順列と…

順列と組合せを理解してみる-場合の数

はじめに 前回、重複順列をやりましたので今回は順列と行きたいところですが、順列に入る前に「場合の数」として「積の法則」と「和の法則」について説明します。 yaju3d.hatenablog.jp 場合の数とは ある事柄の起こりうる場合の総数のことです。 場合の数を…

順列と組合せを理解してみる-重複順列

はじめに 高校生の時に順列と組合せを学びました。公式と計算方法は覚えているのですが、きちんと理解していないので実践で組合せを考えても答えがすぐに導き出すことが出来ないんですね。 日曜日の「林先生が驚く初耳学」という番組の中で林修先生が「数学…

TensorFlowコトハジメ Fizz-Buzz問題

はじめに Fizz-Buzz問題 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 ここ最近、通勤中の車の中でFiz…

人工知能ハンズオンの資料公開

はじめに 静岡Developers勉強会では、今年の勉強会のテーマとして「人工知能ハンズオン」を2016/4/23に開催しました。 勉強会が行われた静岡市産学交流センター 小会議室2には、10人+2人(私と友人)=12人名が集まりました。あと、懇親会は5人で行きましたこと…

TensorFlowコトハジメ Automatic Colorization(白黒画像の自動彩色)

はじめに 静岡Developers勉強会では、今年の勉強会のテーマとして「人工知能ハンズオン」を2016/4/23に開催しました。 その際に「Automatic Colorization(白黒画像の自動彩色)」については、間に合わずに事前に試すことが出来なかった為、勉強会当日は紹介の…