ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

北原ミレイの「ざんげの値打ちもない」という歌、犯罪では・・・

2019-08-18 03:54:03 | そのほか
NHK(ラジオ深夜便)でやってたんだけど、深夜だからOKなんでしょうか・・・

ここ

「ざんげの値打ちもない」
https://www.uta-net.com/movie/79216/


っていうか、昔はテレビでこういう歌もOKだったんでしょうか・・・
時代が違うんでしょうなあ・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rでディープラーニング(DNN)のMLPする例って、あんまり載ってない?

2019-08-17 01:37:53 | AI・BigData
RSNNSパッケージでできる。

ということで、はじめに

install.packages("RSNNS")
library("RSNNS")

する。そのあとのサンプルは

mlp
https://www.rdocumentation.org/packages/RSNNS/versions/0.4-11/topics/mlp


のExamplesにある。

図を描きたい場合、詳しくは
https://beckmw.wordpress.com/tag/rsnns/

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

微積分とか、勾配降下法についても、教わってきた

2019-08-16 16:51:09 | Weblog
前に行列について教わってきたと書いたが、
微積分についても教わってきた

機械学習・ディープラーニングを始めるための数学準備講座【関数・微分・勾配法編】
https://liberal-arts-beginners.connpass.com/event/140908/

ので、メモ




・関数・微分・勾配がなぜ重要か?
→関数値の最小化

関数
 入力と出力の関係をうまく書いたもの
 (漠然とした理解でも問題ない)
 例:入力を2倍 f(x)=2x

 f(x)=2x
入力が1のとき、2が出力されるのは

例:f(x)=x^2
  入力が4のとき、4^4=16が出力される
※出力は1個(たか関数というのも理論的にはあるけど→円)
 →2個以上あっても0個(なし)でもだめ。1個になること

極限
 入力をある値に近づけていったときに、出力の値が何に近づくか
 例:f(x)=2x
x=2 → 4
  x=1.5 → 3
  x=1.25 → 2.5
  x=1.01 → 2.02
   →2にちかずく

 なぜ、1を代入しないのか:f(1)が求められないかもしれないから
 lim 2x = 2
x→1

 X→1のとき2x→2
 今回は1を直接入力しても大丈夫

 だめなときf(x)=(x-1)/(x^2-1)
 1をいれると、0/0→不定形
 ※不定形 0が分母、無限大/無限大

 実はlim f(x) =0.5
x→1
 ※今回は。因数分解して約分するとでてくる
 
微分
※微分は傾き
接線の傾き 近似
傾き:Y座標の変化をX座標の変化で割ったもの

f(x)=x^2の接戦の傾きは

 ( (x+h)^2-x^2 ) / h
=(x+h-x)(x+h+x) / h
= h (2x+h) / h
= 2x+h

ここでhを0に近づければ、接戦の傾き
lim (2h + h) = 2x
h→0

 点xにおけるf(x)=x^2の接戦の傾きは2x
df(x)/dx = 2x

f(1)=x^2の接戦の傾きは
 df(1)/dx = 2

※d differential 微分のd

xの係数が傾き

多変数関数
※入力が2個とか、3個とかはある→BMI

偏微分
 変数を1つ決めて、それ以外の変数は気にせず微分
f(x,y)=x^2 + xy + y^2
 xで微分
 yで微分

勾配にむけて・・・最小値問題

点がある→直線を求める:線形回帰

回帰直線は
 どうやって線を引いているか
 実際のデータを1次式で表したときに誤差の和が最小になるように引く

勾配
・微分したもののこと
 傾きが正か負かで進む方向を変える:勾配降下法
→勾配:のぼる方向、おりる方向がわかる

f(x)=x^2 の最小値
x=1としてスタート
f'(x)=2x
f'(1)=2 > 0 正なので、右に行くとのぼる
x=1-2
=-1
f'(-1)=-2 < 0 負なので左に行くとのぼる

※学習率をかけることにより変化しすぎるのを防ぐ

学習率a=0.1
f(x)=x^2 の最小値
x=1としてスタート
f'(x)=2x
f'(1)=2 > 0 正なので、右に行くとのぼる
x=1-2a
=1-0.2=0.8

f'(0.8)=1.6 > 0 正なので、右に行くとのぼる
x=0.8-1.6a
=0.8-0.2=0.8
= 0.64

f'(0.64)=1.28 > 0 正なので、右に行くとのぼる
x=0.64-1.28a
=0.64-0.128
= 0.512

問題:そもそも、微分をどうやって求める→定義に戻る。
コンピューターに微分を計算してもらうためには…
f'(x)=lim f(x+h)-f(x) / h
   h→0
hが十分小さきとき:そこで満足する
 hを十分小さくとって f(x+h)-f(x)/h ←これを微分として使う

勾配降下法
 Step1 初期値を決める x=x0
    (学習率を決める)
 Step2 f'(x0)を計算する。
 Step3 x←x-af'(x)
 Step4 |f'(x)|が十分小さいなら終了
     そうでないとき。反復回数が十分なら終了
     そうでないときStep2にもどる

f'(x)を計算する


多変数に拡張した場合
 Step1 初期値を決める x=x0 y=y0 (2つに増える)
    (学習率を決める)
 Step2 xの偏微分、yの偏微分を計算する。
 Step3 x←x-axの偏微分、y←y-ayの偏微分
 Step4 |xの偏微分^2+yの偏微分^2|が十分小さいなら終了
     そうでないとき。反復回数が十分なら終了
     そうでないときStep2にもどる

ところが、プログラムはxは変数→ベクトルに変わるだけ
なので、funcとx_initialをベクトルにする


diffをベクトルにする

勾配についてPythonで可視化して理解する
http://pynote.hatenablog.com/entry/math-gradient

最急降下法のアルゴリズム - Python 数値計算入門
https://python.atelierkobato.com/steep/




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

行列の掛け算って、結局何やってるの?固有値って、結局、何?

2019-08-15 17:22:26 | Weblog
前に、

行列について、教わってきた
https://blog.goo.ne.jp/xmldtp/e/73eafc7f7c1f26bfdfe22bf6228448ad


って書いたけど、そこで質問してた内容で、はっきり講師が答えていなかったものについて、
自分だったら、こう答えるというのを描いてみる。




■行列の掛け算って、結局、何?
掛け算と足し算からっている(2乗などない)式を考える。こんなかんじ。
Y=w1x1+w2x2+・・・+wnxn
この式、線形性があるというんだけど、それはさておき、この式を

と書いて、
Y=AX
で表す(その掛け算の結果は上記の式)。
つまり、ある値(目的変数)が、いくつかの(説明)変数を何倍かして足した値になっているとき
 その説明変数部分をX、係数部分(w)がAになる。

こうすると、
  点が増えたときは、Xが増えたことになり
  式(目的変数)が増えた時には、Aを増やせばいいことになり、
AやAの行数(列数)にかかわらず議論できるので、便利だから
→行列も、ベクトルも、数も一緒に扱うのがテンソル

■固有値って、いったい何

Y=AXで今、2次元の世界の話を考える(Aは2X2の行列、XもYもある点)
そうすると、この点は、XからYへ点が移動することになる。

普通の点は、Xを何倍してから回転してYになる。

しかし、ある行列にXをかけると、(回転しないで)Xの何倍かのところにYの値が来るようになる

このとき、AX=λX (λは何倍の数)と書ける→これが固有値、固有ベクトル

■それがいったい何になるの?

 主成分分析などで、

   一番分散が大きくなるように直線を引きたい

 というときがある
 (一番大きい分散になると、点を広くとれるから。ちなみにこのとき、点はその直線の射影で表す)
 この分散が一番大きいというのを解こうとすると、ラグランジェの未定定数法により、
 分散行列ーλの式の最大値を求めることになり、その最大値を求めるために、微分して=0を用いると、
 分散共分散行列=λ→固有値となり、分散共分散行列の固有値を求めればよいことになる。

 それで必要になってくる。

 あまりにもおおざっぱすぎる話をしてしまった。
 真面目に語ると、以下のサイト
主成分分析と固有値問題
https://blog.aidemy.net/entry/2017/10/19/222941

 の話になる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ディープラーニング系のトレンドを聞いてきた?

2019-08-14 08:05:51 | AI・BigData
DeepLearningの重要論文を原文ベースで読み解くにあたってのフォローアップセミナー
https://reading-innovation.connpass.com/event/142155/

を聞いてきたのでメモ




CNNの話から
ML(機械学習)
  NN(ニューラルネット)
   CNN

DL(ディープラーニング)をどこからいうかは人によって違うが、
NNででかいやつをDLということに、ここではしておく。

MLP(マルチレイヤーパーセプトロン)

CNN
 (さまざまな)フィルターを通す
 →フィルター:輪郭抽出のフィルターとかあるけど
 LeNet[1989]
 AlexNet[2012]→Image Classification
 VGGNet[2014]→精度向上
 ResNet[2015]
 GoogleNet[2014]
→Application
  強化学習
  物体検出
  GAN
  セグメンテーション
  自然言語理解(natural language Understanding)

https://lib-arts.hatenablog.com/archive/category/fundamental
にまとまってるよ!

alexnet
alexnet paperで検索
ImageNetClassi?cationwithDeepConvolutional NeuralNetworks
https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

(ほかの論文はアーカイブにある)

この論文にDeepLearningとは出てこない
Low レゾリューション
 MNIST(28X28)
 CIFAR-10(32X32X3)
High レゾリューション
 ImageNet→ILSVRC→Alexnetでは224*224*3
 Pascal VOC
 Coco
top1エラーレート:1番にあてた
top5エラーレート:5番目にあてた
State-of-the-art:どこの範囲で言っているか?
→タスクを絞りすぎているのでは?

パラメーターはオーダーだけ見ておく
→1憶パラメータだと、マシン用意しないと・・・

サチュレーションしないニューロンReLUのこと
→tanh,シグモイドに対して

・VGG
 AlexNetの後継:わかりやすさ

・ResNet:
 ショートカットを入れた

・物体検出系
 R-CNM
fast R-CNN
YOLO
SSD

・強化学習→時系列モデル:MDP(マルコフ決定過程 Markov Decision Process)
 DQN[2013]
 Rainbow[2017]
 マルコフ決定過程:observe→Action→Rewardの一連の流れ
 環境S→CNNに入れる→Action
 Q(s,a)であらわす。 Deep(DL) Q Network(NN)

・系列モデル
 言語:Sequence to Sequence
 音声:WaveNet

→言語:音声:時系列:強化学習はまとめて
 RNN、Dilated conv,Attention

・生成モデル
 GAN
  Z→G →   D
    Genelater ディスクりみねーたー
 →画像生成へ Pix to Pix CycleGAN
Generative Adversarial Networks
https://arxiv.org/abs/1406.2661

・DCGAN
 GANに制約



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CNNで音声認識聞いてきた!

2019-08-13 08:10:19 | AI・BigData
8月12日

TensorFlow実装で学ぶ音声認識の基礎と簡易ハンズオンセミナー
https://ml-for-experts.connpass.com/event/142332/

を聞いてきたのでメモ




Simple Audio Recognition
 音声認識
  https://lib-arts.hatenablog.com/entry/implement_dl6
 12クラスのカテゴリ分類
 Small-footprint Keyword Spottingに対するCNN

ほかにRNNやdilated convolution

※混同行列(Confusion Matrix):対角成分がただしい

論文の読み方
1.Absrtructを読もう
2.わかんないところはその論文のコントリビューションの可能性大
  →そこがどこに書かれているか確認
3.Abstructみて、もちょっと

タスク:問題。
  CNN
  DNN→ここではMLP(マルチレイヤーパーセプトロン)
  adress取り組むの意味で
  constrains:制約条件
   最適化 optimization
    目的関数:objective
    制約条件:constrains

KWS:キーワードスポッティング
 特徴抽出→DNN→事後確率を求める
  P(c):事前確率
  P(c{x):事後確率
 →どっちも足して1
  MFCC (メル周波数ケプストラム係数)

 音素
  フーリエ変換する
  https://ahcweb01.naist.jp/lecture/2016/sp/material/sp-v2.pdf

動かしてみる
 https://github.com/tensorflow/tensorflow
 ダウンロードする
 解凍する
 anacondaのpyhthonのコンソール立ち上げ
 コンソールでcdして、解凍したtensorflow-masterまでいく
 python tensorflow/examples/speech_commands/train.py

ソース(train/py)
 training stepで動かしている
 session.run

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

行列について、教わってきた

2019-08-12 22:08:28 | Weblog
8月10日

機械学習・ディープラーニングを始めるための数学準備講座【行列・線形代数編】
https://liberal-arts-beginners.connpass.com/event/140909/

を聞いてきたのでメモするけど、そこで出た質問のほうがよかったので、
後日、それについて書こうと思うけど、その前に、聞いてきた内容メモ




行列とは:数値を縦横に並べたもの
     縦
     を
     列
横を行


1列しかない行列:列ベクトル
1行しかない行列:行ベクトル

行列同士の計算:できない可能性がる
 行列の型:行列がm行、n列からなるとき、mXn行列という
 A,B:両方ともmXn行列
 足し算 A+B:同じ位置にある数値を足す

行列の1つ1つの数値を成分という
(i,j)成分…i行j列の位置にある数値
A=(aij)i,j と書くことがある
 これは行列Aのi,j成分がaijという意味

行列の積
 A:m x n行列
 B:n x l行列
  横の長さと縦の長さが同じとき
ABは(m X l行列)

 積の意味は:いろいろ
  たとえば内積

いろいろな行列
 nXn行列を正方行列という
 Aの対角線に位置する成分を対角成分という
  3X3のとき a11,a22,a33
 対角成分以外が0の行列→対角行列
 →対角成分が0でも構わない
 上三角行列
 下三角行列
 対角行列=上三角行列かつ下三角行列

 転置:行と列の役割を入れ替える

 対称行列:転置がもとに戻るような行列
  →転置して入れ替わるところが全部一緒
   分散行列とか

 交代行列
  転置してマイナス倍になる(対角成分は0)

 直行行列
  転置したものを左からかけても右からかけても単位行列になる

numpy
np.arrayで定義、@で掛け算

4.固有値・固有ベクトル
・行列式
 2X2行列の場合 detA= ad-bc
 3X3
   a11* det(のこりの2X2行列)
   -a21* det(のこりの2X2行列)
   a31* det(のこりの2X2行列)
→正則行列しか、行列式はない
※なぜ行列式を計算するの?
 逆行列を持てば、行列は復元できる
 →逆行列を持たなければ、行列は復元できない
その前に・・・
 逆行列とは
  AX=XA=Iとなるとき、XをAの逆行列という
 逆行列が存在する⇔行列式が0でない
 Aいんばーす(テキストエディタではかけん)

2X2の逆行列は簡単に出る。
もっとすごい次元の逆行列は、pythonだと、簡単に出る。
行列式:np.linalg.det(A)
逆行列:np.linalg.inv(A)

固有値
A:n X n λ:複素数
Ax=λXとなる「0でない」ベクトルxが存在するとき、λをAの固有値という
そのxをAのλに対する固有ベクトルという
 対称行列は固有値が実数になる
la,ve=np.linalg.eig(A)

実対称行列
 ヘッシアン
 固有値が実数
 固有ベクトルもすべて実数
 直行行列で対角化できる
  A:実対称
  Q:直交

分散共分散行列

正定値性
 すべてのベクトルXに対して
 Xの転置Ax>0のとき
 Aは半正定値という
 さらにすべての0でないベクトルに対して
 Xの転置Ax>0のとき
 Aは正定値という

 Aが対象
  半正定値 すべての固有値が0
  正定値   0より大きい

分散共分散行列は半正定値対称行列

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ベトナム戦争の時、韓国軍兵士がレイプして生ませたベトナム人女性の子供って、なんていったっけ?

2019-08-12 08:46:19 | そのほか
って、よく忘れる割に、話によく出てくるのでメモ
答えは

ライダイハン問題

韓国政府が黙殺してきた「ライダイハン問題」徐々に世界が注目
https://news.livedoor.com/article/detail/16905306/


ちなみに、日本の慰安婦問題とは一切違う。
日本の慰安婦は、日本人の慰安婦もいた。でも日本人も含め、自分は慰安婦だという人はいない。理由は、美輪さんが書いてくれている。

~二次加害者とならないために~
日本人慰安婦の話と、元日本軍慰安婦に関する正確な知識
http://kajipon.sakura.ne.jp/kt/peace-i.html


大きな視点で見ると、性政策の違い。
日本の戦時中は慰安婦型をとっていたが、韓国はレイプ型をとっていたということ。
その辺の政策についてはWikipediaの「慰安婦」の「第二次世界大戦時の性政策」を見てね!




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

テイラー展開:マクローリン展開から、オイラーの公式を導き出せることを習ってきた!

2019-08-11 07:23:48 | Weblog
8月9日、

Pythonで実装する大学数学ハンズオン【テイラー展開・マクローリン展開編】
https://liberal-arts-beginners.connpass.com/event/141217/

を聞いてきたので、内容メモメモ




解析学 オイラーの公式
テイラー展開1715
→特殊けいのマクローリン

1690ねんごろ:ニュートン・ライプニッツ
 そのあとのはなし
 (さらにそのあと、ベルヌーイ、ロピタル)

数学の3大分野、代数学、幾何学、解析学
解析学:関数を調べる

・関数と級数の対応
 関数
 級数:数列を足し算
→この関係を今日話します。

テイラー展開した結果:次数を上げるほど、関数に近づく

テイラー展開:点Aの周り

マクローリン展開:そのAが0(特殊なバージョン)
f(x)=a0+a1X+a2X^2+a3X^3・・・
のとき、

 a0を求めるには・・・F(0)をもとめる
f(0)=a0+a1*0+2*a2*0^2+3*a2*0^2→a0以外のこうは、0をかけるので消える
 a1を求めるには・・・Fの一階微分の(0)をもとめる
→a0のこうは、微分で消える。a1以外のこうは、0をかけるので消える
 a2を求めるには・・・Fの二階微分の(0)をもとめる
→a1までのこうは、微分で消える。a3以外のこうは、0をかけるので消える

結果として
→マクローリン展開の式になる

テイラー展開:マクローリン展開をa分、平行移動する

ここからオイラーの公式が導き出せる。
(1)e^xのxをixに置き換える
(2)ixを2nと2n+1の項にわける
(3)2nの項が、cosのマクローリン展開、2n+1のほうがi倍したsinのマクローリン展開
よって
e^iΘ=cosΘ+isinΘ オイラーの公式

【ハンズオン】
まず、sinのグラフをかこう!
つぎに、テイラー展開のsinの式を描こう
それを、2つプロットする



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「更新が終わらないうちにパソコンの電源を切らないで」の問題点の指摘、おかしくね?

2019-08-10 06:56:33 | Weblog
「更新が終わらないうちにパソコンの電源を切らないで」の問題点は?
https://tech.nikkeibp.co.jp/atcl/learning/column/19/00001/00008/

(以下太字は上記サイトより引用)

の記事なんだけど、この指摘、おかしくね?

問題
更新が終わらないうちにパソコンの電源を切らないでください。

改善例
更新が終了してからパソコンの電源を切ってください。


いや、改善じゃなく、意味変わってるから・・・
変わっているっていうのを、簡単に気付かせる方法がある。
実際のパソコンで、問題のあとに続く文を入れてみればわかる。




実際のパソコンでは、こういう文になっていること、よくあるんじゃないかな?

更新が終わらないうちにパソコンの電源を切らないでください。
パソコンは、自動的に切れます。

たしか、シャットダウンの後に、よく出ると思う・・・

で、この文章の場合、改善例を入れてみるよ・・・

更新が終了してからパソコンの電源を切ってください。
パソコンは、自動的に切れます。

いや、自動的に切れるから、パソコンの電源は切る暇ないでしょ。

つまり、改善例の大きな問題点は、
更新が終了したら、パソコンを必ず切らなければいけないように誤解する可能性がある
点だ。

この誤解は2つの大きなクレームを招きそう。




■クレーム1:

終電間際、帰ろうとしたときに、パソコンをシャットダウンしたら・・・

今は、

「更新が終わらないうちにパソコンの電源を切らないでください。」

1件目、2件目・・・ああ、電車行っちゃうよ~、家に帰れない、
マイクロソフトのせいで、今日は家に帰れない・・・

となってしまうから、このあとに

「パソコンは、自動的に切れます。」

という言葉が続く。あ、つけっぱなしにして帰っても、切れるから大丈夫!
さ、このまま放置して家に帰ろう→終電間に合った。となる。
この経験(終電じゃないけど、帰り際に、何度も)あるよねえ~

      ↓

だけど、それが、改善例に変わったらどうなる?

終電間際、帰ろうとしたときに、パソコンをシャットダウンしたら・・・

「更新が終了してからパソコンの電源を切ってください。」

・・・やっぱ、パソコンの電源切らないとダメなんだ・・
と思いませんか?
マイクロソフトのせいで、今日は家に帰れない・・・確定
と思いきや

「パソコンは、自動的に切れます。」

え、言ってる意味、わけわかんない。パソコンは、切れるの、切れないの?
待っていなくて、いいの、いけないの?
これ、念のために待ってしまって、自動的に切れた→でも終電行っちゃった・・・
ってなったら、クレームものだよねえ・・・!!




■クレーム2:

立ち上げ時、パソコンに電気を入れたら

今は
「更新が終わらないうちにパソコンの電源を切らないでください。」
(って言葉だったっけ?確か似たような言葉が出る)

・・・いつまで更新してるんだろう・・・
・・・でも、切っちゃダメなんですよね・・・

と、正しい反応ができる

      ↓

だけど、それが、改善例に変わったらどうなる?

立ち上げ時、パソコンに電気を入れたら

更新が終了してからパソコンの電源を切ってください。

ええっ!更新が終わったら、パソコンの電源切るんですか!!
なにも作業してないのに・・・作業したいからパソコン立ち上げたのに・・・
「パソコンの電源を切るんですね!」・・・シャットダウンしないで?

まあ、クレームにはなんないかもしれないけど、
不愉快感は、残るよね・・・




実は、要求とか、マニュアルとかでもそうだとおもうんだけど、
操作の手順どおりに文章が流れる場合、文章自体は難しい文章でも、
操作しているときには簡単な文章っていうのがある。これがその例。

あ~、更新終わらない、いいや、パソコン切っちゃえ!と思う人にとって、

「更新が終わらないうちにパソコンの電源を切らないでください。」

というのは、まさに、グサッとくる言葉で、

「マイクロソフトさん、お見通しなのね・・・」

となる。実はそのあとの文章

「パソコンは、自動的に切れます。」

は、そういう状況やユーザーの気持ちを、よくわかっていて書いている

この状況に陥っていない人にとって、実はこの文章、飛びすぎている。
(飛びすぎている:クレーム2の状況で、この文章が出てきたり、実際にそうなったら
 激怒するけど、実際には、クレーム1の状況でしか「自動的に切れます」の文は
 出てこないはず。クレーム2の状況では、出てこない。

 つまり、状況から、次にユーザーがどうしてほしいかを理解して、
 そのようにしている&メッセージを出している。だけど、状況がわからない人
 は、クレーム1のときのことをすぐに想像つかないので、なんで電源が切れる話
 が出てくるんだろうと思ってしまう=話、飛びすぎている。
 特にクレーム2の状況を想像してしまった人の場合)

だけど、この状況に陥っている人にとっては、まさにほしい情報であって、
そういう情報、文章を出してくるかどうかで、「あ、この人、泥水飲んできてるな」とか、
「お偉いさんで、現場仕事は下請けがやってんだな」とかの判断ができる
(というか、泥水飲んできた人からは、される)。

この点、マイクロソフトは当然、世界的に見てかなり泥水飲んできているわけで、
安易に批判の例文に使うと、危険なのだ・・・
・・・多分、日経はそれ知ってると思うんだけど、なぜ、この文を選んだんだろう・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

law makerっていう言い方、かっこいいよね!政治家より・・・

2019-08-09 08:34:46 | そのほか
小泉さんと滝川さんの結婚のニュースの英訳で
Star lawmaker Koizumi・・・
で始まっていたんだけど、
Law Makerってかっこいいよね!政治家(ぽりてぃしゃん)っていうより・・・


・・・って、そっちかい(^^;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

イチゴ好きなのに理由ないですよね。だから、整形好きなのに、理由ないです。

2019-08-07 23:36:09 | そのほか
とか言っていなかったっけ?NHKの2人の#
名言だよなあ・・・

見ていて思った・・・
投資するなら整形の情報ビジネスだけど、見に行きたいのは、アイドルのプロレスかな・・・

整形の情報ビジネスは、ありだよなあ~
CMじゃ、わからないもんねえ


それとは別次元の話で、あの、アイドルのプロレスの人は、見たいと思った
いままでプロレスを見たいなんて、片時も思ったことないけど・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

TensorFlowの音声認識って、なんだったっけ?

2019-08-06 08:40:23 | そのほか
って忘れちゃうので自分へのメモ

Simple Audio Recognition
チュートリアルにある

https://www.tensorflow.org/tutorials/sequences/audio_recognition

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

熱いのは異常気象のせい!温暖化のせい!

2019-08-06 00:30:14 | そのほか
・・・と思ったら・・・

・・・違った。
クーラーのフィルターを掃除していないせいと、
扇風機を出していないせいだった。

フィルター掃除して、扇風機も出して両方付けたら、
涼しくなった・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Pythonでグラフ理論するには?

2019-08-05 08:50:14 | Weblog
NetworkXを使うらしい。コミュニティ検出にはpython-louvain

なんてことを、8月3日、

グラフ理論・ネットワーク分析の仕組みの解説とハンズオン
https://liberal-arts-beginners.connpass.com/event/139583/

で習ってきたのでメモ

ちなみに、セミナーの前に前もって、NetworkXのインストール
pip install networkx




■講義

なぜグラフ理論が必要か?
・多変量解析:データセットの傾向までを探る
 →構成要素のつながりが重要になってきている:Amazon
・グラフを用いると、世の中の、ある要素同士のつながりを表現できる

グラフの定義
・頂点:ノード Vertex(ばーてっくす)   V:ノードの集合
・辺:頂点をつなぐ。エッジ link(りんく) E:エッジの集合
・グラフ:ノードの集合とエッジの集合の組 G={V,E}
  注意:エッジの集合だけでは、
      どのノードにもつながっていないノード
      →エッジない孤立したノードを表現できない
  エッジには、向き、重さを付けられる

有向か否か
・無向グラフ:向きがない。双方向的
・有向グラフ:向きがある(一方通行)一方的なつながり→(from,to)であらわす

グラフに重み
・重み:つながりの強さ→有値グラフ
→有向有値のグラフを作れる

グラフの表現
・隣接行列:メモリくう。嫌われる
  →Aで書くこと多い
     aij:ノードiからノードjへのエッジ→行列をかく
     要素に0が多い:疎(Sparse)

・辺リスト:メモリ問題回避
    エッジを列挙する(1,2),(1,3)等
    (無向グラフの時、(1,2)を書いたら(2,1)はいらない)

・隣接リスト:メモリは食わないけど、プログラミングの処理厄介
   from to
    1 2,3,4
    2 1
    3 1,4
    4 1,3
  →行によって大きさが異なる


次数
・次数(入次数、出次数)ノードについて計算される
  入次数:→が自分に入ってくる
  出次数:→が何本出ていくか
→次数が大きい:つながり多い→ハブ?
  入次数が大きい:注目を集めるノード?
  出次数が大きい:アクティブなノード?

ネットワーク分析:ノードの中心性
・ネットワーク→グラフのこと(重み付きグラフ)
  図り方:中心性 何種類も図り方がある
   1.次数中心性:(aの次数)/(全ノード数-1)
   2.媒介中心性:ほかのノードのつながりを媒介するノードを高く評価
   3.ページランク
  中心性:ノードに対しての数
・リンク
  ページランクの考え方
   多くのノードからリンクされているノードは重要
   重要なノードからリンクされるノードは重要
   リンクを乱発しているノードからのリンクはあまり重要でない

コミュニティ検出

 pip install python-louvain

派閥を検出したいときに使う
 派閥→コミュニティ:グラフの一部
   派閥でない:少ないつながり
   派閥   :多いつながり

→グラフの中でコミュニティを見つける
  モジュラリティQ
   ボトムアップのクラスタリング
   Qを増加させるように、ノードをコミュニティに追加


■はんずおん

グラフ
import networkx as nx

描画
import matplotlib.pyplot as plt

空手クラブ:サンプルのデータ

隣接行列を入力
G=nx.Graph()
 →ノードもエッジもない無向グラフを生成
G=nx.DiGraph()
 →ノードもエッジもない有向グラフを生成
G.add_node('name')  ノード追加
G.add_edge('A','B')  ノード追加
G.add_nodes_from,G.add_edges_fromでリストをまとめて追加できる

中心性
betweeness centrality 媒介中心性

ランダムグラフ:2点に対して確率pで辺を張る

コミュニティ検出
community.best_partition(G)

中心性は0~1の間をとる
  0に近いほど重要性は低く
  1に近いほど重要

非連結なGを入れるとコミュニティ検出がエラーになる


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする