交配効果による深層学習の効率化の論文を読む

ランニングできず 英語:Toeic

(1)交配効果による深層学習の効率化の論文を読む

[1709.02043] The Mating Rituals of Deep Neural Networks: Learning Compact Feature Representations through Sexual Evolutionary Synthesis

  月間2000本もAI論文でるので中吊り広告みたいに読んでもらうのは刺激的なタイトルが必要となっている様です。残念ながら私もこの性的(sexual)に惹かれて読んでしまいました。

 これはダーウィンの進化論を参考にした下記の記事に生殖的な観点を入れたものです。

mabonki0725.hatenablog.com

 この両論文の図を比較してみると一目瞭然で今度は両親の交配による進化となっています。この前掲論文を読んだ筆者達は本能的にこの交配モデルを思い付いたとあります。

 本論文の進化論

f:id:mabonki0725:20170911064654p:plain

 前掲論文の進化論

f:id:mabonki0725:20170910172106p:plain

(1.1) 手法

 最初に2つの深層モデルを用意して、各々を下記の方法で世代交代を進めます。

 前掲論文と少し相違があって、カテゴリィCと交配概念を入れています。

  P(\mathcal{H}_g) = \Pi_{c \in C} \left (P(s_{g,c} | \mathcal{M}_c(W_{H_A},W_{H_B}) \cdot \Pi_{j \in c} P(s_{g,j}| \mathcal{M}_s(w_{H_{A,j}},w_{H_{B,j}}) \right)

      ここで前世代のモデルAとBとを交配しています。

       \mathcal{M}_c (W_{H_A},W_{H_B}) = \alpha_c W_{H_A} + \beta_c W_{H_B}

    \mathcal{M}_s (W_{H_{A,j}},W_{H_{B,j}}) = \alpha_s w_{H_{A,j}} + \beta_s w_{H_{B,j}}

      ここで 

   P(\mathcal{H}_g)は現世代のネットワークの生成確率

   W_{H_A} W_{H_B}は前世代の両親AとBのネットワークの結合の重みを示します

   s_{g,c}はカテゴリcの連結を示します

      

(1.2) 結果

 手書きのMNISTとCIFAR-10の画像について前掲論文との比較をしています。

 MNISTは手書きの認識 CIFAR-10は画像の内容の認識となります。

f:id:mabonki0725:20170911065854p:plain

 結果は世代毎の上段が精度の劣化で下段がネットワークの連結の削減効果になります。左図がMNISTと右図がCIFAR-10となります。

横軸は世代数を示します。青線が本論文 赤線が前掲論文です。

f:id:mabonki0725:20170911070256p:plain

 世代交代を経ると精度の劣化(前段図)は起きますが、劣化程度が同じなのに、ネットワークの削減効果(下段図)が本論文の方が著しいとわかります。この論文では両親の交配が効果的と結論付けています。

   MNISTではネットワークの削減効果は258倍でCIFAR-10では36倍となっています。

 

(1.3) 感想

 深層学習の画像認識については何でもありの様相を呈してきたと思われますが、精度は格段に向上しているのが悩ましいです。

   2000年にJ.Friedmanが複数のモデルを組合わせると精度が上がる事を理論的に証明しました。これは現在Xgboostとして結実し皆安心してモデルを使っています。また数学的天才が深層学習について同様な成果を達成しないと、何時までも驚くべき実験結果が出そうな気がします。

(補足)

 後にM先生から世代交代の進化は粒子フィルターで説明できるとのコメントを頂ました。粒子フィルターは乱数の粒子を振って反応を観測する事を繰返します。繰返し毎にベイズで解くと物体の実態が叙々に把握できるモデルです。ここでは交配が乱数を振ることに当りノードの削減がベイズ解にあたるという認識です。

 

 

ダーウィン進化論を使った深層学習の最適化の論文を読む

ランニング30分   英語できず

(1)ダーウィン進化論を使った深層学習の最適化の論文を読む

 「Deep Learning with Darwin: Evolutionary Synthesis of Deep Neural Networks」

https://arxiv.org/abs/1606.04393v3

 このモデルはダーウィンの進化論の発想から深層学習を世代交代させれば、進化した深層学習モデルを得ることを示したものです。

 結果は世代交代することによってモデルを簡略しても精度を維持できることを示しており、進化したネットワークが得られています。

f:id:mabonki0725:20170910172106p:plain

(1.1) 手法

 深層学習の重みの訓練では精度に寄与していないネットーワークも同じ様に訓練の繰返しを行っているので計算負荷が過剰になっています。このモデルではネットワークを世代交代させる時に閾値以下のネットワークを削除して精度を維持しながらネットワークを軽減することを目的としています。

 現世代の連結の生成確率 P(S_g|W_{g-1}) は前世代の重み  W_{g-1}を使って以下で推定します。

        P(S_g|W_{g-1}) = \Pi_{k \in w_{g-1}} \exp \left( \frac{w_{g-1,k}}{Z} -1 \right)

 現世代のネットワーク P(\mathcal{H}_g)の生成確率は連結の生成確率にネットワーク簡略率[tex:C=0.4}を乗じた値とします。

         P(\mathcal{H}_g) = C \cdot P(S_g | W_{g-1})

   ここで

     S_gg世代の連結(神経細胞

        Zは正規化定数

    また下記の一様乱数U(0,1)より小さい連結確率の場合はネットワークを生成せず、簡略化します

      P(S_g,k) \lt  p \sim U(0,1)

 

(1.2) 結果 

  2つのデータセットの画像と各々について世代簡略化を行った結果です。両画像とも4世代でネットワークを48倍縮小しても識別精度は第一世代と殆ど変化していません。

  ・MSRA-B (5000枚)で訓練(1列、3列が入力イメージ画像 2列、4列目が教師画像)

f:id:mabonki0725:20170910174520p:plain

 

f:id:mabonki0725:20170910173747p:plain

 ・HKU-IS (4447枚)で訓練(1列、3列が入力イメージ画像  2列、4列目が教師画像)

f:id:mabonki0725:20170910174520p:plain

f:id:mabonki0725:20170910174638p:plain

(1.3) 感想

 ・この様な生物学的な発想を許すのは、深層学習が未だに完全に理論的に説明できてないため、さらに曖昧な概念までも導入する事態を示しています。

 ・しかし、この進化による深層学習の改善は50倍近くモデル軽減されており、もしこの進化モデルが汎用的なら深層学習の学習時間を短縮する有力な手法になる可能性があります。

 ・この論文は2017年02月06日に投稿されましたが、9月に性的交配による深層学習の進化モデルも発表され、さらにモデルの軽減化が図られています。

 「The Mating Rituals of Deep Neural Networks: Learning Compact Feature Representations through Sexual Evolutionary Synthesis」

https://arxiv.org/abs/1709.02043v1

物体の2Dイメージを階層的に3Dにする論文を読む

ランニング30分 英語できず

(1) 物体の2Dイメージを階層的に3Dにする論文を読む

「Hierarchical Surface Prediction for 3D Object Reconstruction」

https://arxiv.org/abs/1704.00710

 この論文は2Dイメージに立方体を当てはめて境界をCNNで認識させて3D図を形成している。  下図の様に様々な形や方向の2Dイメージから3D図を作成することに成功している。

 本モデルをHSP(Hierarchical Surface Prediction)と称している。

 但し本論文は3D情報を作成するだけで、これを3D図にするには、Marchinng Cube法等を使っている。マーチングキューブ法 - Wikipedia

  

f:id:mabonki0725:20170909154433p:plain

 (1.1) 手法

 このモデルでは概ね次の手続きで高い精度の3D図にしている。

 ・2D画像をCNNでEncodeしてこれをUP-CNNでDecodeしている。

 ・UP-CNNのDecodeの処理中では次の2つの工夫をしている。

   2D画像より立体の境界をCNNで学習させて認識できる様にしている。

   立体は画像に合わせて細かく細分化して境界の精度を向上させている。

 下図は上記の手続きを示したものである。\mathcal{C}は128個のベクトル

f:id:mabonki0725:20170909160854p:plain

 下図(左)では細分度合いによって精度に異なることが示されている。(数字は細分数)

 そこでUP-CNN処理では2つの判断を同時に行っている

 ・立体の状態の判断(物体中、物体外、境界)

  これは教師ありモデルのCNNで学習させている

 ・右図の様にさらに細分化できるか判断する

  立方体の充足度が閾値以下なら細分化を停止する

  境界が滑らかになる様に境界は互いに重なった立方体で細分化する

  

f:id:mabonki0725:20170909161801p:plain

(1.3) 結果

 手動で立方体を区分(物体中、物体外、境界)したものとを対比させている。

 手動で細かく区分したLRhardは、ほぼGrand Truthに近くHSPはこのレベルに近い。

 ※LRsoft 32^3の細分化で区分 LRhard 256^3の細分化で区分 

f:id:mabonki0725:20170909164526p:plain

f:id:mabonki0725:20170909165142p:plain

 (1.3) 感想

 全体の構想(FrameWark)は良いが肝心のEncodeされたデータをCNNで立体の境界を認識させる記述が少なく、どの程度汎用的かつ頑健性があるか不明である。しかし部分的なイメージ図でも3D図を復元しているので汎用性は期待できる。

 またUP-CNNの学習には細かく刻んだ立法体に区分を当てるデータが相当数必要であるはずである。この辺が開示されれば応用が広がると推察される。

 

 

一方向から見た 2Dの画像を3Dにする論文を読む

ランニングできず 英語できず

(1)一方向から見た 2Dの画像を3Dにする論文を読む

「3D Object Reconstruction from a Single Depth View with Adversarial Learning」

https://arxiv.org/abs/1708.07969

 この論文は1方向から見た画像(2.5D画像)を3D画像にする論文ですが、一旦3D情報を獲得してから、入力画像に対応する2D画像を出力しています。

2.5D図から3D図を生成するために本物の3D図と比較してVAEで適切な3D特徴量を生成しています。しかし図を回転させて表示していないので、どれぐらい正確に3D認識しているか定かではありませんが、64^3規模の3D情報は保持できるとあります。本モデルを3D_RecGANと名付けています。

 

f:id:mabonki0725:20170908162853p:plain

 (1.1) 手法

 この手法は教師付き学習ですが、VAE+GANで3D図を学習しています。

 計算方法は概そ以下を繰返します。

  ・2.5D画像(1方向から見た画像)からVAEのencoderで隠れた3D特徴を抽出します。

  ・隠れた特徴からVAEのdecoderで画像を再生成します。

  ・VAEは偽画像の生成器(Generator)として識別器(Descriminator)に入れられます。

  ・識別器は本物の3D画像を読み込み真偽の確率を推定します。

  ・推定された真偽の確率によって

    ・偽の確率が高い→VAEのパラメータを再計算します

    ・真の確率が高い→VAEのパラメータの方向を増加させます

  ・真に近い指標になったら終了します。

f:id:mabonki0725:20170908182708p:plain

 ここで注意すべきは以下と考えます。

 ・一般にVAEの入力は乱数を使い、隠れ特徴量を多変量の正規分布としますが、

  ここでは2.5Dの画像を入力に使っています。

        そのため損失関数を2値の交差情報量を使っています。

  \mathcal{L}_{vae} = -\alpha \log(y') - (1 - \alpha)(1-y) \log(1-y')

  ここで

              yy'は目標とするpixel値と推定されたpixel値です

              \alphaは罰則強化値  y=1がミスの場合の罰則を多く見積もっています

  なお一般の交差情報量の定義は以下です。

             cross(p,q) =\int p(x) \log q(x) dx

    ・採用したGANは次式の条件付GANです。識別器の損失関数\mathcal{L}_{dis}は次式となります。         

       \mathcal{L}_{dis} = E \left( D(y' | x) \right) - E \left( D(y|x) \right) + condition(\lambda,\hat{y},x)

         condition(\lambda,\hat{y},x) = \lambda E \left((||\nabla_{\hat{y}} D(\hat{y}|x) ||_2 -1 ) ^2 )\right)

        ここで 

                 xは3Dの情報

              {\hat{y} = \epsilon x + (1- \epsilon) y'}      \epsilon \sim U(0,1)

    ・生成器(Generator)の損失関数\mathcal{L}_{gen}はVAEとGANの生成器の損失関数の合成としています。

            \mathcal{L}_gen = \beta \mathcal{L}_{vae} + (1-\beta) \mathcal{L}_{gan}^g

            \mathcal{L}_{gan}^g =  -E \left( D(y'|x) \right)

      ・GANのネットワークモデルはWGAN-GPを採用しています。

  (1.2)  結果

 訓練データはModeNet40を使っています。また画像の種類を学習させるため、CADで200種類のデータを生成して学習させています。

f:id:mabonki0725:20170908170711p:plain

   ここで重要なことは、このVAE+GANで学習すると未知の2.5Dの画像でも3D画像が生成できることです。

 以下は本モデル 3D-RecGANと既存のモデルVarley at al と Poisson と3D-RacAEとの比較です。

f:id:mabonki0725:20170908175105p:plain

(1.3) 感想

    ・繰返しになりますが、未知の2.5D画像で3D表現できるのは凄いことです。

  ここに公開ソースがあります。GitHub - Yang7879/3D-RecGAN: 3D-RecGAN in Tensorflow

 ・このモデルは3D図の状態を生成しているが表示は2D図に過ぎません。この提案の枠組みで回転させて3D図表示できるか不明ですが、GANで3D情報xを与えているので不可能ではないと思われます。

 ・VAEで生成された隠れ変数の情報が全く記述がありません。論文の文脈からは3D情報xを生成しているはですが、そうで無いならVAEではなく普通のCNNの逆のDeconvNetで十分と思われます。

 

 

 

 

NIPS2016の論文採択の手続きの分析論文を読む

ランニング30分 英語できず

(1) NIPS2016の論文採択の手続きの分析論文を読む

   [1708.09794v1] Design and Analysis of the NIPS 2016 Review Process

  NIPSには投稿したことが無いが、この採択システムに興味を持ち読んでみた。

  NIPSの論文採択の問題点は、機械学習系の最大の学術会議となっていて論文投稿数や参加者が年々増加して追いつかないことである。NIPS2016では論文投稿数2425件で3242人も査読者を投入している。(ここには記述が無いが568件採択されている)

 まず1投稿当たりの査読者数と査読者1人当たりの査読数は以下となっている。

f:id:mabonki0725:20170907154357p:plain

この負担が大きいため以下について正当な審査が行われているかの分析と提言をしている。

・QS(Quality assurance) 審査の正当性を保障する観点

 査読人と投稿者が偏在していない指標を使って評価のブレを無くす

    下記に示す様にボランティアと専門職との差少なく多くの査読人を入れ多数で評価する

・QA(Quality controll)  審査の正当性を評価できる観点

 スコアより品質レベルを通知すべき

 査読者と議論すれば評価が上がることが多く、これを知らない場合が多い

 ボランティアを使うのは多数の評価で公平になるが、専門職との議論を大事にする

QSについての分析のためこの論文では独自に査読人を2グループに集めて評点をしなおしている。

 グループは専門職・ボランティアおよびプロ・若手・学生の区分である。 

f:id:mabonki0725:20170907132958p:plain

 査読人によってスコアが大きく異なることは良く知られているが、分析の結果では下図の様に論文のスコアの分布が広く、採択と不採用がかなり重なっており公正でないことが分る

 ここでは投稿論文のスコアを以下別で行っている

 ・Clearity(明白性)

 ・Impact   (衝撃度)

 ・Novelty(新規性)

 ・Quality(品質)

f:id:mabonki0725:20170907132406p:plain

 また査読人の専門職とボランティアにスコアに差が無く、熟達者・若手・学生にもスコアの差がないことも判明した。ただし査読したコメントの内容には差は出ている。

f:id:mabonki0725:20170907133501p:plain

 しかしスコアの分散から見た信頼度は僅かに専門職が勝っている。

f:id:mabonki0725:20170907134554p:plain

 当然この様な査読人に対しては投稿者は疑義や議論をしているので、議論後には下図の様に不採用は減り、採択が増える事態になっている。

f:id:mabonki0725:20170907153921p:plain

 また査読人の専門分野の偏在も大きな問題となっている。NIPS2015では殆どが強化学習の分野でした。

f:id:mabonki0725:20170907134228p:plain

On-lineの株価予測で使うSCWの論文を読む

ランニング30分  英語できず

(1) On-lineの株価予測で使うSCWの論文を読む

 [Exact Soft Confidence-Weighted Learning」https://arxiv.org/abs/1206.4612

 この論文はICML2012で有名になったもので、時系列の次期の状態をOn-Lineで予測するものです。

 時系列の今までの観測から次の変動の確率が\eta内に収まる様に重みを調整する手法となります。論文表題にある様に解はExactに見つかりますので、繰返計算せずともよくOn-Lineに適しています。また実装は簡単なのでWebで公開しているサイトが散見されますが、その導出は相当難しいので本論文をなかなか読めなかった経緯があります。今回チャレンジしてみました。

(1.1) 手法

 このモデルはOn-line学習としてPA(Passive-Aggressive)2006年→CW(Confidence-Weighted)2009年から発展しています。

 モデルは次の条件で成り立っています。

    ・時系列の予測を多変量の説明変数xと重みw内積w^T \cdot x>で与えられるとします

 ・重みにはガウス分布w \sim N(\mu,\Sigma)の変動を許容します

 ・また騰落の実績y_tで与えます

   このモデルで求めたいのは下図の様に或る幅\eta内に収まる次期の重みの十分統計量です

   求めている値はガウシアン過程回帰と同じで回帰値と分散となりますが、SCWは次期の値のみ求めています。

  ・平均\mu_{t+1}

  ・分散\Sigma_{t+1}

 

f:id:mabonki0725:20170906081747p:plain

 以下に上記のモデルを定式化します。

          w^T x_tが負の時 y_t = -1なら y_t (w^T x_t)は正

          w^T x_tが正の時 y_t = +1なら y_t (w^T x_t)は正

 騰落実績y_tと予測(w^T x_t)の積は正となるので式で上の条件は次式で定式化できます。

      P_{w \sim N(\mu,\Sigma)} (y_t  \cdot  (w^T \cdot  x_t) \ge 0) \ge \eta

     この確率の条件は次式で表現できます。

  y_t \cdot (\mu \cdot x) \ge \phi \sqrt{x_t^T  \Sigma x_t}

        ここで \phi = \Phi^{-1}(\eta)\Phiガウス累計関数です

    そこで損失関数は以下で表せます。

     \mathcal{L}^\phi (N(\mu,\Sigma);(x_t,y_t)) = \max(0,\phi \sqrt{x_t^T \Sigma x_t} - y_t \mu \cdot x_t)

    よって最適問題は条件付となり、次の平均\muと分散\Sigmaを予測する以下となります

  (\mu_{t+1},\Sigma_{t+1}) = argmin_{\mu,\Sigma} \mathcal{KL}(N(\mu,\Sigma)||N(\mu_t,\Sigma_t))

         \mbox{s.t.}\mathcal{L}^\phi (N(\mu,\Sigma);(x_t,y_t) )= 0, \phi \gt 0

       ここで\mathcal{KL}はカルバック・ダイバージェンシィで定義は以下です

   \mathcal{KL}(q(x)||p(x)) = \int q(x) \log \frac{p(x)}{q(x)} dx

 

 上記の拘束条件の緩和率Cを入れてこの損失を1次の場合と2次の2モデルを提案しています。

 SCW-I    (\mu_{t+1},\Sigma_{t+1}) = argmin_{\mu,\Sigma} \mathcal{KL}(N(\mu,\Sigma)||N(\mu_t,\Sigma_t)) + C \cdot \mathcal{L}^\phi (N(\mu,\Sigma);(x_t,y_t))

 SCW-II   (\mu_{t+1},\Sigma_{t+1}) = argmin_{\mu,\Sigma} \mathcal{KL}(N(\mu,\Sigma)||N(\mu_t,\Sigma_t)) + C \cdot \left(\mathcal{L}^\phi (N(\mu,\Sigma);(x_t,y_t)) \right) ^2

 

 この条件付最適問題はラグランジェ乗数を使って解くことができることがAppendexに記述されています。

 損失関数\mathcal{L}は次式となります

 \mathcal{L}=\mathcal{KL}(N(\mu,\Sigma)||N(\mu_t,\Sigma_t)) + C\xi + \tau \left(\phi \sqrt{x_t^T \Sigma x_t} - y_t \mu_t \cdot x_t - \xi \right) - \lambda \xi

 第1項目の\mathcal{KL}(N(\mu,\Sigma)||N(\mu_t,\Sigma_t)) の部分は解くと以下になります。

 =\frac{1}{2} \log \left(\frac{det \Sigma_t}{det \Sigma} \right) + \frac{1}{2} Tr(\Sigma_t^{-1} \cdot \Sigma) + \frac{1}{2} (\mu_t - \mu)^T \Sigma_t^{-1} (\mu_t - \mu) - \frac{d}{2}

 この部分は下記のサイトに丁寧に記述されています。

  正規分布間のKLダイバージェンスの導出 - 唯物是真 @Scaled_Wurm

 損失関数\mathcal{L}\frac{\partial \mathcal{L}}{\mu}=0\frac{\partial \mathcal{L}}{\Sigma}=0で方程式をとくと \mu\Sigmaが算出できます。

    \frac{\partial \mathcal{L}}{\mu}= \Sigma_t^{-1}(\mu - mu_t) + \tau(-y_t x_t) = 0

    \frac{\partial \mathcal{L}}{\Sigma}= - \Sigma + \Sigma_t^{-1} + r\phi \frac{x_t x_t^T}{\sqrt{x_t ^T \Sigma x_t}} = 0

    この偏微分では以下のPRMLの付録の公式を使っています

  \frac{\partial}{\partial A} Tr(AB) = B^T      

        \frac{\partial}{\partial A} ln |A| = \left(A^{-1} \right)^T

   

 よって

    \mu = \mu_t + \tau \Sigma_t x_t

    \Sigma =  \Sigma_t^{-1} + r\phi \frac{x_t x_t^T}{\sqrt{x_t ^T \Sigma x_t}}

  

(1.2) 結果 

 本論文の結果はわかり難いので、次の福田先生の論文で示します。SCWはOn-lineで次期の予測ができるので福田先生はこのSCWで相当儲けたとの話でしたが、やはり一般の回帰問題で同じで変数選択を工夫する必要があるとの報告です。 

http://sigfin.org/?plugin=attach&refer=SIG-FIN-016-02&openfile=SIG-FIN-016-02.pdf

これによると、2015 年9 月1 日~から2016 年2 月29 日までの半年の日経平均株価指数の騰落の予測は上昇で83%で下落で79%で当たっています。

 f:id:mabonki0725:20170906215738p:plain

(1.3) 感想

 このモデルはICML2012で相当話題になって実装したの話をよく聞きます。しかしWebで検索すると実際にこれを適用した報告はかなり少ない様です。やはりモデルが精緻ても変数選択が良くなければ成果が出せないので、この辺はノウハウとして秘匿されているかもしれません。

 

 

 

 

人の名前で国籍や民族を分析したの論文を読む

ランニングできず   英語できず

(1)  人の名前で国籍や民族を分析したの論文を読む

 「Nationality Classification Using Name Embeddings」

https://arxiv.org/abs/1708.07903v1

 5700万のe-mailとtwitter分析して名前で国籍や民族が判明するか分析した論文です。

 技術的には本論文の手法が精度を(0.58→0.80)を達成した意外に新しいものは無いですが、内容が敏感な問題を扱っているので話題に上っていると考えます。

 手法(NamePrism)としては大量のemailにある姓名をfirstname secondname別にCBOW(Continuous Bag-of-word)やSG(Skip-Gram)でベクトル化しています。これらはWord2vecと同じ考えで文書内の同時に現れる頻度を基にベクトル化表現しています。

 何故ベクトルで言葉の近さを現せるか少し考えてみます。

 文書内での言葉の近さはPMI情報量(Point Wize Mutual Infomation)で定義でることは異存が無いと思います。

 PMI(v,w) =\log  \frac{p(v,w)}{p(v) ・ p(w)}

 ここで

       p(v,w)は言葉vwが共に出現する確率  

       p(v)p(w)は各々の出現する確率

 即ち、余り単独では出現しない言葉なんだが、ペアで出現する場合が多い場合PMI確率が1に近くなります。p(v,w)=p(v) \cdot p(w)が独立ならPMI確率は0となります。

 急に相当難しい話になりますが、PMI情報量が最適なベクトルの内積で表現できる事を示した資料が知られています。

 PMI(v,w)  = \log \frac{p(v,w)}{p(v) p(w)} = \frac{\vec{v}^T \vec{w}}{d} + \mathcal(O)(\epsilon)

  http://chasen.org/~daiti-m/paper/SNLP8-latent.pdf

   Word2vecの作者Micolovは当然上記の数学的なことは知らず試行錯誤でこの方法を編み出したと考えられています。深層学習もこの様な数学的証明を天才がやってくれるのでないでしょうか?

 前置きが長くなりましたが、大量の文書データより5000の名前を100次元のベクトル化してこれを2次元で表示したものが下図となります。

この人種色分けは米国のセンサスデータで色分けしています。中央の灰色は不明を表します。emailの文書なので以下のことが分ります。

 ・各人種間の交流は少ない

 ・白人以外の名前は人種によって固有なものが多い

 ・黒人のエリアが狭いのは黒人固有の名前が少ない 黒人固有の名前を嫌って白人の名前を使っている

 ・中央下部の名前は人種が不明で、ここで混合が発生している

これから考えると米国は分断された社会だが混合も始まっている考えられます。

f:id:mabonki0725:20170905095416p:plain

Twitterの情報を追加すると下記の事が分って興味深いです。

これは人種別の選好を表します。ここでAPIは(Asian Pasific Island)の略ですが殆どインド人を示していると思われます。

・Newsを見るとAPIはBussinessに熱心であることがわかります

・Singerを見るとBlackとAPIは反対です

・政治家を見ると少数民族はトランプを嫌っていることが分ります

f:id:mabonki0725:20170905101630p:plain

名前のベクトル化だけでも、大量の文書を分析すると興味深いことが分かる一方で厳しい現実を見せてくれます。