Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

カテゴリー » AI・人工知能 March 28, 2019

レコメンドのAIの仕組み ID:1553746574


レコメンドのAIの仕組み

「【U-NEXT ☓ Oisix 】データ分析と機械学習 事例発表」に参加してきた | ごみばこいん Blog
https://gomiba.co.in/blog/archives/569
分類モデル:ロジスティック回帰

レコメンドに浸透していくDeep Learning: 大手サービスの実用例から最新アルゴリズムを概観する - DeepAge
https://deepage.net/deep_learning/2016/09/26/recommend_deeplearning.html
・Spotifyという音楽のサービスで、何度も聞いているは似たような音楽の趣味ということで
再生履歴から作成
・Lineは、スタンプで使用(よく使うスタンプ、購入したスタンプ)
・Youtube:抽出ロジック記載あり


以下、AIではないが、レコメンドの仕組み
30分でわかるレコメンデーションエンジンの作り方 - EchizenBlog-Zwei
http://d.hatena.ne.jp/echizen_tm/20111219/1324306840

レコメントアルコリスムの基本と周辺知識と実装方法
https://www.slideshare.net/takemikami/ss-76817490
・風、気温から海水浴にいくか判断する
・ニューラルネットワーク(P.51〜)
・レコメンドアルゴリズムの基礎(P.59〜)


機械学習を使って630万件のレビューに基づいたアニメのレコメンド機能を作ってみよう(機械学習 k近傍法 初心者向け)
https://www.codexa.net/collaborative-filtering-k-nearest-neighbor/
・実際のデータのダウンロードと、カラム名の記載がある
・「協調フィルタリング」のレコメンド
・Python、k近傍方、Amazon SageMaker(アマゾン・セージメーカー)を使用

尚、https://www.codexa.net/
で無料の機械学習の講座も結構ある

Apache PredictionIO
・PredictionIO社が2013年から開発していたが、2016年にセールスフォースが買収したレコメンドツール。実装大変。

https://qiita.com/Ted-HM/items/298116d03cbb9b3477e6
https://takezoe.hatenablog.com/entry/2017/05/11/132410

無料のレコメンドエンジン
https://www.arecordplayer.com/wordpress/free-recommend-engine-outbrain-easyrec/
easyrecとか
https://it-koala.com/recommend_engine_comparison-172
コンビーズレコとか

— posted by midilin @ 01:16PM | Comment (0)

カテゴリー » Linux » Xubuntu March 17, 2019

Xubuntu 18のインストール ID:1552833396


無料OS『Xubuntu 18.04 LTS』…簡単インストールだけで日本語入力まで完了!
https://report.hot-cafe.net/xubuntu1804-install-5057

最近、何故か大人気な Xfce 版の Xubuntu 18.10 をインストールしてみました。 https://ameblo.jp/gokurakuhaze/entry-12413899563.html

— posted by midilin @ 11:36PM | Comment (0)

カテゴリー » Linux » Xubuntu March 17, 2019

XubuntuのUSBインストール方法 ID:1552814799


XubuntuをUSBメモリーにインストール|Xubuntu18.04LTS日本語版 | パソコン生活情報
https://vip777.tokyo/xubuntu-install

スペックとしてはUSB3以上が必須

— posted by midilin @ 06:26PM | Comment (0)

カテゴリー » AI・人工知能 March 16, 2019

Google Colab(Colaboratory)の使い方 ID:1552729234


・Google Colabの使い方まとめ - Qiita
https://qiita.com/shoji9x9/items/0ff0f6f603df18d631ab

Google Colabの知っておくべき使い方 – Google Colaboratoryのメリット・デメリットや基本操作のまとめ
https://www.codexa.net/how-to-use-google-colaboratory/

Google Colaboratory事始め
https://qiita.com/kouki_outstand/items/cd24dccbaa92274be39e

Google Colab ブラウザだけでPython実行
https://qiita.com/firedfly/items/9b76d4f4ea2b563777af

ColaboratoryでMeCabを使えようにする。
https://qiita.com/pytry3g/items/897ae738b8fbd3ae7893

上記で動かなかった場合は以下
!sudo apt-get install mecab mecab-ipadic-utf8 libmecab-dev swig !pip install mecab-python3 https://qiita.com/zaq9/items/6c9d7cc0def01fa2559b

Google Colaboratoryを便利に使うためのTIPSまとめ - karaage. [からあげ]
https://karaage.hatenadiary.jp/entry/2018/12/17/073000

尚、以下のようにマウントとpyの実行ができる

from google.colab import drive
drive.mount('/content/gdrive/')
import os
os.chdir('/content/gdrive/My Drive/Colab Notebooks/abc/')
!ls
%run -i test01.py

Google Colaboratory を自分のマシンで走らせる | Kabuku Developers Blog
https://www.kabuku.co.jp/developers/run_google_colaboratory_notebooks_on_local_machine

[Google Colab] 外部ファイルをPythonで操作する [ローカル、ドライブ、スプレッドシート] - Qiita
https://qiita.com/yoichi_hirose/items/192f44eff39f55e8deae
スプレットシートの変更
ドライブ上のファイルの読み書き

— posted by midilin @ 06:40PM | Comment (0)

カテゴリー » python March 13, 2019

Pythonが使えるクラウド環境 ID:1552475121


AWS及び、Cloud9(pythonが使える)の登録方法
Cloud9の使い方と便利機能!最強プログラミング開発環境(IDE)
https://www.sejuku.net/blog/385


【Python+heroku】Python入れてない状態からherokuで何か表示するまで(前編)
https://qiita.com/it_ks/items/afd1bdb792d41d0e1145

heroku toolbeltインストール
https://qiita.com/Arashi/items/b2f2e01259238235e187

Pythonの開発環境はGoogle Colabで決まり
https://yokonoji.work/google-colab-813


■python学習サイト
機械学習 入門コースの決定版!機械学習エンジニアを目指すならcodexa(コデクサ)
https://www.codexa.net/

— posted by midilin @ 08:05PM | Comment (0)

カテゴリー » AI・人工知能 March 03, 2019

Neural Network Consoleの使い方 ID:1551605163


以下自分学習用のメモ。都度追記

・Neural Network Console
https://dl.sony.com/ja/
Windwos版とクラウド版あり

helpは以下
https://support.dl.sony.com/docs-ja/
レイヤーのリファレンスは以下
https://support.dl.sony.com/docs-ja/layer_reference/


●使い方について

ソニー Neural Network Console と エクセルで始める ニューラルネットワーク
https://www.ecomottblog.com/?p=2424
Sampleの日経平均をExcelで作り、Neural Network Consoleで予測した結果

Neural Network Consoleの使い方を紹介!ディープラーニングをやってみよう! | しろまるライフ
https://shiromaru-life.com/deeplearning1/
sampleプロジェクトのデータの4と9の説明が詳細に書いてあり、わかりやすい

Inputで、1,28,28になっている理由(画像が28✕28のパターンが考えられるから)
Sigmoidはシグモンド関数(0か1を出したいときに使用)

ちなみに、BinaryCrossEntropyは、リファレンスにあるが
https://support.dl.sony.com/docs-ja/layer_reference/
データセットの変数は0もしくは1で使用

定番のConvolutional Neural Networkをゼロから理解する - DeepAge
https://deepage.net/deep_learning/2016/11/07/convolutional_neural_network.html

★cedro-blog
http://cedro3.com/
cedroさんのblog。Neural Network Console初めて触る人は、必読のブログ。
過去記事を時系列で全部見ておくと良い。

以下、自分が読み返す用のメモ用要点
[SONY Neural Network Console で 指原莉乃をディープラーニング]
http://cedro3.com/ai/akb48-dl/
・「縮小専用」という画像で、ピクセルを32✕32
・判定画像をs1、そうでない画像をs0に格納し、Sourceにいれ、Outputは空
・1,28,28は、1はモノクロ、28がピクセルを表しているので、
3,32,32、3はRGPに指定
・Ratio(%)は、学習用と評価用の比率の設定。合計100%(例:学習用80、評価用20)
・Output File 1:学習用ファイル
・Output File 2:評価用ファイル
・Batch Sizeは、一度に処理するデータ量
 テストデータが30であれば、30
 
[SONY Neural Network Consoleで指原莉乃をもっとディープラーンング]
http://cedro3.com/ai/akb48-more-dl/
・02_binary_cnn.sdcproj(CNN使用)
・自動最適化機能の使用
 CONFIG→Structure Search→Enable
 にすることで、永久学習する
 
 Method:Radom(時間を掛けて最適化)/Network Feature+Gaussian Process(素早く)
 Optimaize for:Error(とにかく誤差を少なく)かError and Caluculation(誤差も演算量も少なく)
 これを選ぶことにより、モデルが変わる
 
 識別精度(Accuracy)があがればOK
 (EVALUATION→Confusion Matrixで確認できる)

[SONY Neural Network Consoleで日経平均株価をディープラーニング]
http://cedro3.com/ai/nikkei-stock-dl/
・行列のデータ
・csv作成する場合は、utf-8のBOM無(記事では、Calc使っているが、さくらエディタでできる)
・過去5日分ごとのデータをs1.csv→s60.csvというファイルを1つのディレクトリに入れる
・画像データと違い、数値データの場合は、学習用ファイルと評価用ファイルも自分で作る必要有
・学習用ファイルや評価ファイルには、使用する数値データファイルの名前とラベルを記載
例)
x:data,y:label
.\dir\s1.csv,0
.\dir\s2.csv,1
・・・
のように指定

フォルダは3つ作成する
1つはAIの出力用、
残りの2つは学習用と評価用ファイル



尚、コメントにもいろいろな人からの質問があり、
コメントも含めて読み込むこと推奨

・Inputを 1,28,28 → 5,4 に変更
(モノクロ28×28ピクセルの画像から、5行×4列の数値データに変更)
・Max epoch:学習ファイルを何回繰り返して学習させるか
・Batch Size は1回の学習に使うデータ数
 評価データが少ない場合は、その数を指定してもよい
・1つ1つプロジェクトの評価し、
 明らかに評価誤差(Validation error)が高いプロジェクトはスキップ、
 識別精度のプロジェクトを学習・評価済みのニューラルネットワークとする
・y:label は「2」にする(2にしておかないと表示範囲が0,1だけになる)

SONY Neural Network Consoleで女性の顔のクラス分類をやってみる
http://cedro3.com/ai/woman-face-dl/
・LeNet.sdcproj使用
・4つの画像の種類をそれぞれのディレクトリに格納
・自動最適化
・識別精度(Accuracy)の確認

SONY Neural Network Consoleで女性の顔画像を生成してみる
http://cedro3.com/ai/generate-face-dl/
・mnist_dcgan_with_label.sdcproj使用
・学習ファイルが重いので、1/100に加工
・DCGANは2015年考案の高解像度画像の生成モデル

SONY Neural Network Console 画像データの水増しは有効か?
http://cedro3.com/ai/data-inflated-dcgan/
・学習データを増やすため、「XnConvert」を使い、
 「正像、鏡像」×「彩度+ー、変化なし」「ぼかし、ピント強調、ノイズ、変化なし」
 2×3×4=24倍の画像データを作成

SONY Neural Network Console 謎のサンプルデータセット
http://cedro3.com/ai/mystery-sample-dataset/
・変数を使ったもの(画像でも、行列でもない)。変数4つの場合は、1,28,28 → 4に変更
・binary_connect_minst_MLP.sdcproj使用
・変数であれば、変数の値を学習ファイルと評価ファイルに直接書ける
例)入力が4つ、出力が1つであれば
x__0:xxx,x__1:xxx,x__2:xxx,x__3:xxx,y__0:xxx
数字,数字,数字,数字,0
のようにする
・+1〜-1にだいたい収まるようにする
 つまり、もとの数値が大きければ、全体の数字を割って、全体がおさまるようにする
 学習ファイルと評価ファイルを上記フォーマットで作ればよい
・Xと数字の間にあるのは、ダブルアンダースコア

SONY Neural Network Console 家賃を推定するニューラルネットワーク
http://cedro3.com/ai/rent-dl/
・回帰問題
・変数使用
・変数は3つ、専有面積、駅徒歩、築年数。出力は賃料で管理費込み
・01‗logistic_regression.sdcproj
1,28,28 → 3
・Max Epochを多めに設定(例:2000回)
・評価データのセーブ

SONY Neural Network Console 年齢を推定するニューラルネットワーク
http://cedro3.com/ai/age-dl/
・「Image Downloder」Chrome拡張でファイル一括ダウンロード、XnCovertでリサイズ
・年齢ごとにフォルダ作成
・CSVファイルを作るのが大変なので、画像格納だけして、
 一度、Output Fileは学習ファイルの方だけ100%で生成、
 この学習用ファイルを編集して、学習ファイルと評価ファイルに分割する
・BinaryConnectAffine_2 は、10 → 1(10分類から変数)。
・Softmax → Sigmoid 、CatgericalCrossEntorpy → SquaredError (分類から回帰)

SONY Neural Network Console 未来を予測するニューラルネットワーク
http://cedro3.com/ai/future-prediction-dl/
・航空会社の乗客数を予測
・乗客数の数値のみ、1年12レコード、これを年数だけ作成
・eleman_net.sdcproj使用
・BinaryCrossEntropy → SquaredError に変更(分類から数値へ)。
・Input を1,28,28 → 12,1 (白黒28×28画像から12行×1列の行列に変更)

・上記だと、予測がイマイチなので、”長期的”なLSTMも実験
 long_short_term_memory(LSTM).sdcproj
 Unitの中に、LSTMというのがあるのでこれが使用できる

SONY Neural Network Console でユーミンをディープラーンング
http://cedro3.com/ai/yuming-predict-song/
http://cedro3.com/ai/yuming-more-dl/
・文章の自動生成、Pythonが必要
anacond、gensim、Mecab、ipadic使用

・SONY Neural Network Console に待望のサンプル画像が追加されました
http://cedro3.com/ai/sample-data-set/
Neural Network Libraries をインストール方法

SONY Neural Network Console でミニAlexnetを作る
http://cedro3.com/ai/mini-alexnet/
・Alexnet:画像認識(2012年)
・ミニ Alexnet を設計を作成し実現する方法
・クラウド版で、データセットアップロードの方法
 データセットアップロードツールを使う
 
SONY Neural Network Console でミニ VGGnet を作る
http://cedro3.com/ai/mini-vgg-net/
・VGGnet:Alexnetの進化形(2014年)
・Batch Normalizationを使わないと精度が悪い

SONY Neural Network Console でミニ Resnet を作る
http://cedro3.com/ai/mini-resnet/
・Resnet:2015年の画像認識、残差学習という手法を入れている
・Resnet のサンプルプロジェクトあり
・ImageAugmentation が変形処理(拡大縮小、回転、歪、反転、輝度変更、コントラスト変更など)を行うことで、いわゆるデータの水増し効果を実現するブロック

SONY Neural Network Console で、顔画像生成に再びトライ
http://cedro3.com/ai/mini-dcgan/
・「ImageSpider」で、キーワードの画像自動ダウンロード
・顔の切り抜きに「OpneCV」を使用(python必要)


http://cedro3.com/2018/01/
途中まで

その他、画像以外で、面白そうなもの

学習済みWord2Vec モデルをサクッと使ってみる
http://cedro3.com/ai/word2vec-gensim/

Keras LSTMでトレンド予測をしてみる
http://cedro3.com/ai/keras-lstm/

Keras LSTMでサクッと文章生成をしてみる
http://cedro3.com/ai/keras-lstm-text/

Keras MLPの文章カテゴリー分類を理解する
http://cedro3.com/ai/keras-mlp-reuters/

Keras MLPの文章カテゴリー分類を日本語のデータセットでやってみる
http://cedro3.com/ai/keras-mlp-livedoor/

http://cedro3.com/2018/10/
までチェック

PyTorch 画像から文章をサクッと生成してみる
http://cedro3.com/ai/pytorch-image-captioning/

PyTorch GPT-2でサクッと文章生成してみる
http://cedro3.com/ai/pytorch-gpt-2/


★ニューラルネットワークコンソール カテゴリーの記事一覧 - "BOKU"のITな日常
https://arakan-pgm-ai.hatenablog.com/archive/category/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB

こちらも最初から記事を読むべき。

サンプルプロジェクトを変更して、新しい名前で保存する:使い方2
https://arakan-pgm-ai.hatenablog.com/entry/2017/08/20/003000
・「convolution」「ReLU」「MaxPooling」の3つの組み合わせ
・CNN( Convolution Neural Network)と呼ばれる、画像の認識精度向上に効果
・追加する層は、inputとAffineの間に挟み込む


オリジナルテキストデータで新規プロジェクト追加:使い方3
https://arakan-pgm-ai.hatenablog.com/entry/2017/08/23/003000
数値からノーマルと太っている人を判断
・「データセットCSVとデータCSVを分けて作る」
 「1ファイルで作成」の2つがある
・datasetの「Image Normalization」(画像の正規化)のチェックははずす
・追加したデータセットの整合性を確認する場合は「Check Consistency」
 最後の行に「No inconsistency were found.」(矛盾は見つかりませんでした。)と表示されればOK
・2値(ノーマルか太っている)ので、BinaryCrossEntropyを使う
 3値以上になったら、そこはSoftmaxCrossEntropyにする
・Inputの指定方法は、変数方式(1つのファイル)なら、引数は1つのみ(xが3個、yが1なら、3と記載)
 ファイル指定なら、行数、列数(1ファイルが「1行3列」なので、1,3)
・Affineのレイヤーを選択して、outshapeを、inputにあわせて「1」にする

レイヤーの層を単純に深くしてもダメなことを確認する:使い方4
https://arakan-pgm-ai.hatenablog.com/entry/2017/08/26/080000
・学習:入力から計算して、重みを計算し、調整していく
 評価:計算した重みを使い、このラベルだと予測する
 
  〃彁察米力×重み+バイアス):Affine
 ◆ー,料悗謀呂昂覯未鮴阿┐襦ReLU 又は Sigmoid または Tanh(ハイポリックタンジェント)
  結果から確率を計算して答えを出す:Softmax
 ぁ‥え合わせをする:CategoricalCrossEntropy又はBinaryCrossEntropy(値2つ)
 
 ※サイトではこれが図解して説明されいるため、とてもわかりやすい
 ※のSoftmax + いCategoricalCrossEntropyをあわせたSoftmaxCrossEntropy(値3つ以上)
 を通常は使う
 
 つまり値3つなら
 Affine→(ReLU or Sigmoid or Tanh)→SoftmaxCrossEntropy
 値2つなら、最後がSoftmaxCrossEntropy。ただし、値が2つの場合はSigmoid一択になるので
 Affine→ Sigmoid→BinaryCrossEntropy
 これが1層の基本形。上記に層を追加する場合は´△魏辰┐討い
・Sigmoid は0.0〜1.0
 Tanhは、-1から1
 ReLUは、0より小さい数は0にして、0より大きい場合はそのままにする

レイヤー「Affine」(全結合層)の仕組を数式なしで解説
https://arakan-pgm-ai.hatenablog.com/entry/2018/11/05/090000
・o = Wi+b (iは入力、oは出力、Wは重み、bはバイアス項を示す)
・o,w,iは行列データ
・wiは内積(行列の掛け算)
・全結合層は行列を平らにして計算する
・(28,28,1)=幅28×高さ28×1チャンネルのデータなら、一旦 28×28×1=>784のサイズの1次元にする

CNNの「MaxPoolingレイヤー=プーリング層)」の仕組を、数式なし解説
https://arakan-pgm-ai.hatenablog.com/entry/2018/11/16/090000
・Poolingレイヤーは、MaxPooling(最大)、SumPooling(総計)、AveragePooling(平均)から、何度も取得する
・CNN(Convolutional Neural Network)の場合、基本的にConvolutionとPoolingはセットで使う

CNNの「Convolutionレイヤー=畳み込み層)」の仕組を、数式なしで解説
https://arakan-pgm-ai.hatenablog.com/entry/2018/11/14/090000
・Convolution=畳み込み層
・もし、Affineで行おうとすると、平にすることにより
 28×28×1=>784のサイズの1次元のデータにして計算するので、
 二次元だった時の位置情報を失ってしまう
 →本来違う画像なのに、同じ画像として認識してしまう
 位置情報を残すために、Convolutionを使う
・フィルター:カーネル(Kernel)をかけあわせることで
 Affine=全結合層では区別がつかなかった画像が、Convolution=畳み込み層で区別がつくようになる
・実際の設定は、ConvolutionのkernelShapeが、フィルターのサイズになる

ごく浅いCNN(Convolutional Neural Network)を何パターンか試す:使い方5
https://arakan-pgm-ai.hatenablog.com/entry/2017/08/27/080000
・Convolution→ReLU→MaxPooling
 Convolution→ReLU→Convolution→ReLU→MaxPooling(若干改善)
 Convolution→ReLU→MaxPooling→Convolution→ReLU→MaxPooling(改善)
・4,9の画像サンプルを0〜9にする方法
・段階的に出力結果をへらす(例では、2304→144→10)とするため、Affineを挟んでいる

Xavierの初期値/Heの初期値の使い分けと「Optimizer」の選び方:使い方6
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/02/003000
・重み(w)を計算して、結果と正解を比較して、差異がある(損失率)場合に小さくしていくため、
 重みを増やしたり減らしたりして、更新していく
・重みの初期値はConvolutionとAffineの各レイヤーにある、「W.Initializer」・・・Editで選ぶ
・初期値で有名なもので「Xavierの初期値」というのがあり、
 「Sigmoid」か「Tanh」で使用する(ReLUは使用しない)
 NormalConvolutionGlorot or NormalAffineGlorot
・ReLUはHeの初期値を使う
 NormalConvolutionHeForward or NormalAffineHeForward
・Optimizerは、重みの更新の調整幅のこと・・・・configで設定できる
 代表的なOptimizerは
 SGD:単純に一定の値を増やしたり、減らしたりする
 Momentum:SGDの改善版。ジグザグが小さくなる方向に幅を調整する
 AdaGrad:学習の進むにつれて、学習係数を減衰させ、収束しやすくする
 Adam:MomentumとAdaGradの合体
 優れているの、デフォルトは、Adamに設定されている

Epoch数とミニバッチサイズの解説と、変化させた時の精度の変化:使い方7
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/03/080000
・Max Epoch:学習回数
・Batch Size:1回の学習の単位
 デフォルトは「Epoch=100」「Bach Size=64」、Traiingデータは1500件の場合、
 1回の処理で64件、1500件で1単位の学習を100回繰り返す(1500×100で15万の学習)
 
過学習を体験して、抑制する技術(レイヤー)を軽く使ってみる:使い方8
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/09/003000
・過学習は学習のさせすぎ以外にも、学習データが少ない、複雑なネットワークが考えられる
・過学習が起きると、認識精度(%)が落ちる
・データを増やすのが良いが、増やせない場合は「DropOut」と「BatchNormalizasion」を使う
 DropOut:データを間引く。計算(Convolution)の”前”に置く。
 間引く割合は「p」。初期値は0.5なので半分間引く
 BatchNormalizasion:バラ付きを補正する。計算(Convolution、Affine)の”後”に置く
・DropOutと、BatchNormalizasionを使う場合は、MaxEpochを増やす
 増やさないと学習の途中で終わってしまう(例では、Epochを100→700に変更していた)

オリジナル画像で新規データ・セットを追加する手順:使い方9
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/10/003000
・Excelマクロによる画像データ生成と学習について。基本今までの内容でわかるはずだが
・Ratio:学習用と評価用の振り分け。(だいたい、75と25)合計が100になるようにする
・AffineのOUTPUTをデフォルトの100から1に変更する(これをしないと評価が下がる)

画像データを加工する「ImageAugmentation」レイヤーの出力イメージを確認/使い方10
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/17/003000
・画像の水増しで、ImageAugmentationを使用する
・SquaredErrorを0
・Max Epochを0
・ImageAugmentationで、MinScale を 1.0→ 0.8、MaxScaleを1.0→1.5 に変更することで
 0.8倍〜1.5倍の間でランダムに拡大縮小する
・他にも、Angle(傾ける)、FlipLR(左右反転)、FilpUD(上下反転)、Distotion(ランダムで歪ませる)

CNNの精度向上:MeanSubtractionレイヤーの効果を試す/使い方11
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/23/003000
・精度が向上する前処理として、MeanSubtraction
・mean.initializerMuを0.2に設定

サンプルプロジェクト:オートエンコーダ(AUTO_ENCODER)とは何だろう:使い方12
https://arakan-pgm-ai.hatenablog.com/entry/2017/09/24/080000
・例では2次元→1次元→2次元で画像がはっきりする

サンプルプロジェクト:LeNet(CNNの原型)を使ってみる:使い方13
https://arakan-pgm-ai.hatenablog.com/entry/2017/10/01/080000
・LeNet:LeNet-5(5層構造)というCNNの有名な図のサンプル(LeNet.sdcproj)
・他にも、resnet(resnet-152:152層)があり、精度は高いが、GPUでないと動かない。CPUなら、LeNet

CNNにBatchNormalizationを適用して認識精度向上効果を試す
https://arakan-pgm-ai.hatenablog.com/entry/2017/10/07/080000
・BatchNormalizationの検証

RNNの種類/サンプルでシンプルRNNの「elman_net」を体験する
https://arakan-pgm-ai.hatenablog.com/entry/2017/10/08/080000
・CNNは今、現在
・RNNは時系列の変化(年間の変化や、月ごと)
・RNNにはelman_net、LSTM、GRUの3つがある
・elman_netはシンプルだが、長時間のデータは不向き
・LSTM、GRUは長期、短期OK
 LSTMのほうがパラメータが多く、学習時間がかかるが
 場合によってはGRUよりパフォーマンスが出ることがある
・サンプルプロジェクト一覧があり
(elman_net、GRU、LSTMという文字列が含まれている)

・elman_netは、RecurrentInputからReccurentOutputの間を時系列データの時間軸で繰り返す

シンプルRNN「elman_net」でSINカーブトレースをやってみる
https://arakan-pgm-ai.hatenablog.com/entry/2017/10/17/080000
※過去データから未来予測できるわけではない、という大事なことが記載されている
・Sinの関数で実測値(csv8個)を入れて、予測値を入れてどの程度誤差があるかを確認

LSTM(Long Short-Term Memory)ユニットでSINカーブトレース
https://arakan-pgm-ai.hatenablog.com/entry/2017/10/25/080000

LSTMで売上の予測っぽいことを試みる時の失敗例
https://arakan-pgm-ai.hatenablog.com/entry/2017/10/29/080000
それっぽくみたが、Verの違いにより結果が変わってしまった例
現在データを学習したあと、学習結果のファイルを複製して、
再度読み直して、CSVの数を増やす
(前のパラメータだけだと、何回やっても同じ評価になるから)

★日別売上の予測っぽい事に再チャレンジ。CNNでやってみた/Neural Network Consoleの使い方
https://arakan-pgm-ai.hatenablog.com/entry/2018/04/04/174823

— posted by midilin @ 06:26PM | Comment (0)

カテゴリー » SQL February 27, 2019

SQL serverのフリー版 SQL Server Expressのメモ書き ID:1551260550


SQL Server Expressとは?概要・有償版との違いについて徹底解説!
https://www.sejuku.net/blog/74368
開発用、学習用として使える

https://www.sejuku.net/blog/74068
導入方法

GUI(Manegement Studio)を使ったテーブルの作成方法

SQL Server Management StudioでExcelファイルのデータをインポートする方法
https://qiita.com/speedstar18fct/items/ce0772e825b0d5cc6e91
コピペでインポートができるとのこと

— posted by midilin @ 06:42PM | Comment (0)

カテゴリー » AI・人工知能 February 27, 2019

ニューラルネットワークをわかりやすく説明しているサイト ID:1551193470


■ニューラルネットワークの基礎を初心者向けに解説してみる | ロボット・IT雑食日記
https://www.yukisako.xyz/entry/neural-network

わかりやすい。

・基本形は、入力信号Xに重みwをかけて、定数値+bを足し、fをかけて、出力yを出す
f(x)=1/1+e-zで表せ、これを「シグモイド関数」と呼ぶ

・入力xを複数使って、出力yも複数出せる
・入力xと出力yの間に中間層を入れることができる
・シグモイド関数の変数をかえて、パルス派をつくることできる
・パルス派を組みあわせることで近似値ができる

■活性化関数とは
https://newtechnologylifestyle.net/%E3%82%84%E3%81%A3%E3%81%B1%E3%82%8A%E3%82%88%E3%81%8F%E5%88%86%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E6%B4%BB%E6%80%A7%E5%8C%96%E9%96%A2%E6%95%B0%E3%81%A8%E3%81%AF/


1つのニューロンへの入力は、
入力(X1 , X2 , X3)に重み(W1 , W2 , W3)をかけ合わせた
値にバイアス(b)を足した値だが
この合計値に対して、特定の関数を経由することで最終的な出力値を決定します。

その出力値を決定する関数が活性化関数、つまりfのこと
活性化関数=シグモイド関数

なお、活性化関数にはシグモイド関数以外にもいろいろある
・シグモイド関数
・ソフトマックス関数
・恒等関数
・ReLU

・シグモイド関数

→「0または1」という2つの解を求める場合に使用。
 動物なら、猫か犬か→犬か犬ではないか
 犬の確率が20%なら、猫になる
 確率に変換

・ソフトマックス関数
 多クラスで使用、「犬、猫、ライオン、熊」とか
 犬=>0%、猫=>60%、ライオン=>20%、熊=>20%
 最終的な合計値が1となるように算出することが特徴
 確率に変換

・恒等関数
 確率に変換せず、そのまま受け取った値を出力
 
・ReLU
 入力値の合計値が0以下の場合は出力値が0となり、
 0以上の場合は、そのまま入力値(恒等関数)が出力値
 
 つまり、入力の値がマイナスだった場合は0という一定値を出したいときに使用
 
■高卒でもわかる機械学習
http://hokuts.com/2015/11/24/ml0/
全7回(あとで読む)
誤差関数のことを調べているときに見つけた

— posted by midilin @ 12:04AM | Comment (0)

カテゴリー » AI・人工知能 February 26, 2019

AIの作り方 ID:1551189391


・SONYの本気!AI開発ツール『Neural Network Console』が常識をぶっ壊す
https://ledge.ai/sony-neural-network-console/

・Neural Network Console
https://dl.sony.com/ja/
Windwos版とクラウド版あり

helpは以下
https://support.dl.sony.com/docs-ja/
レイヤーのリファレンスは以下
https://support.dl.sony.com/docs-ja/layer_reference/

ソニー Neural Network Console と エクセルで始める ニューラルネットワーク
https://www.ecomottblog.com/?p=2424
Sampleの日経平均をExcelで作り、Neural Network Consoleで予測した結果
使い方を学習するのによいかも。

・Neural Network Consoleの学習モデル自動最適化機能が凄すぎる! | AI coordinator
https://ai-coordinator.jp/neural-network-console
画像を読み込ます際は、予め画像サイズをそろえておく

「簡単にディープラーニングができる」と噂の、SONY「Neural Network Console」の使い方 | AI入門ブログ(人工知能の作り方など人工知能に関する情報を公開
https://ai-kenkyujo.com/2017/12/05/neural-network-console/
自分のデータで試す場合は、ニューラルネットワークの基礎知識は必須

・2019年最新版!【簡単3ステップ】 初心者でも分かるAI(人工知能)の作り方 | AI入門ブログ(人工知能の作り方など人工知能に関する情報を公開
https://ai-kenkyujo.com/2017/03/16/howto/
AI(人工知能)を作成する3つの手順
機械学習ツール一覧
Azure MLはプログラミングを書く必要がない

・簡単にAIが作成できる「AIメーカー」で画像判別AIを作成してみた - GIGAZINE
https://gigazine.net/news/20180725-ai-maker/
twitterと連携必要

・AI(人工知能)の開発に適したプログラミング言語はどれ?厳選8選 | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト
https://www.sejuku.net/blog/51246
4位にjavascriptがあり、AIをWebブラウザから使うためのライブラリの記載あり
Keras.js
deeplearn.js
TensorFlow.js

— posted by midilin @ 10:56PM | Comment (0)

カテゴリー » SQL November 16, 2018

縦横変換SQL ID:1542352633


元table
----------------
id,col
----------------
1,a
1,b
----------------

これを
----------------
id,col1,col2
1,a,b
----------------

にする

select
a.id,
a.col as col1,
b.col as col2
from
ta a
inner join
ta b
on a.id = b.id
where
a.col = "a"
and
b.col = "b"






ちなみに、横→縦はUNION使う

https://qiita.com/k24d/items/79bc4828c918dfeeac34

Unpivotの

SELECT uid, 'c1' AS key, c1 AS value FROM htable
UNION ALL
SELECT uid, 'c2' AS key, c2 AS value FROM htable
UNION ALL
SELECT uid, 'c3' AS key, c3 AS value FROM htable
;
uid key value
--- --- -----
101 c1 11
102 c1 21
101 c2 12
102 c2 22
101 c3 13
102 c3 23

— posted by midilin @ 04:17PM | Comment (0)


カウンター