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

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

人工知能

ニューラルネットワーク上の重みと閾値の変数の数

はじめに 図書館に寄った時に「Excelでわかる機械学習 超入門」と「Excelでわかるディープラーニング超入門」という本を見つけたので、借りてきました。 後で気がついたのですが、「Excelでわかるディープラーニング超入門」については、2018/10/27にKindle…

機械学習の勉強再開 使用データ寄与の確認

はじめに 以前、使用データの解析をして「Grate」と「Crate」と「Prate」のデータの求め方が分かりました。 yaju3d.hatenablog.jp 出来れば使用するデータは最小限にしたいので、「Grate」と「Crate」と「Prate」が結果に寄与(意味がある?)しているのかを検…

機械学習の勉強再開 RBFカーネル 、決定木、ランダムフォレスト、ナイーブベイズ

はじめに 前回、線形SVMをやりましたので今回は他の方法(RBFカーネル 、決定木、ランダムフォレスト、ナイーブベイズ)をやっていきます。 結果の見方 行(たて)が正解(実際に出された手)、列(よこ)が予測となります。 機械学習では出す手を予測するので勝ち手…

機械学習の勉強再開 使用データの解析

はじめに 前回、線形SVMの改善をしまして次の段階に行こうかなと思ったのですが・・・ yaju3d.hatenablog.jp その前に下記の使用データがどうやって作成されているのかを調べておきたい。 https://raw.githubusercontent.com/yaju/Sazae_R/master/2017sze.cs…

機械学習の勉強再開 線形SVMの改善

はじめに 前回、R言語の線形SVMをPythonに移植しました。 yaju3d.hatenablog.jp Pythonやscikit-learn に慣れていなかったので、もう少しいい方法があるのではないかと再調査しました。 SVMでは文字列は使えるのか 結論では、正解ラベル側には文字列が使えま…

機械学習の勉強再開 線形SVM

はじめに 2021年最初の記事となります。 昨年は機械学習の勉強に身が入らなかったため、はてな側に記事を書くことも少なったです。 今年は、競馬予想とか株価予想とかをやってみたいなと思うようになったので、改めて機械学習の勉強を再開することにしました…

TensorFlow 2.xによる sin波予測

はじめに 時系列データを使用した予測をやりたいと思って、良さげな教材が下記サイトになります。 qiita.com qiita.com 記事自体が、2016~2017年ということで少し古いですが、機械学習のリハビリもかねて動かしてみました。 環境 Google Colaboratory Tenso…

ステップ関数を理解してみる

はじめに 活性化関数としてステップ関数がある、ニューラルネットワークの起源となるアルゴリズムのパーセプトロンでAND回路やOR回路の構成に使用されたものです。 yaju3d.hatenablog.jp 過去にシグモイド関数をやってきてるのに、なんで初期の活性化関数で…

静岡の勉強会の構想を考える

はじめに 2016/4/23に静岡Developers勉強会で「人工知能ハンズオン」を開催しました。 yaju3d.hatenablog.jp 当時はTensorFlowが出始めて人工知能がバズワードでした。TensorFlowに関する本も少ない上に自分自分が機械学習に関する知識が全然なかったです。 …

勾配降下法の可視化を解析してみる

はじめに 今回は下記サイトの記事を見ていきます。 qiita.com 最急降下法(Gradient Descent)のみとなります。 データ dataは下記サイトから100件 https://raw.githubusercontent.com/pandas-dev/pandas/master/pandas/tests/data/iris.csv # 2 クラスにする…

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

はじめに 前回の記事の続きとなります。 yaju3d.hatenablog.jp 最急降下法と確率的勾配降下法の違いについては、以前に記事を書きました。 yaju3d.hatenablog.jp 参考 やる夫で学ぶ機械学習 - 多項式回帰と重回帰 - · けんごのお屋敷 パラメーター更新の式 …

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

はじめに 前回の記事の続きとなります。 yaju3d.hatenablog.jp 参考 やる夫で学ぶ機械学習 - 多項式回帰と重回帰 - · けんごのお屋敷 重回帰 前回の多項式回帰でも、変数 が1つだけでした。 機械学習をする上で実際に解きたい問題は変数 が2つ以上の方が多い…

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

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

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

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

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

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

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

はじめに ここ数ヶ月は別の件で忙しくて、機械学習に向き合えていませんでした。 仕事で調べたり学んだことは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 を理解してみる」では、人工知能に使用する基礎的な数学知識が足りなかったのでシリーズとは脱線して書いてみました。 また、このシリーズで書いていきます。 ニューラルネ…

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

はじめに 前回の続きです。 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用環境で作成し…

スポンサーリンク