IT-LIFEブログ

主にIT系のことや時事ネタや、たまに雑記

【2017】京成スカイライナーのCMの曲について!歌手は?曲名は?

こんにちは、あつかんです。

YouTubeを見ていたときに、以下の京成スカイライナーの広告が流れてきました。

 

 

その広告に流れている曲がとても素敵な曲で気になってしまったので調べて見ました。

歌手&曲名

歌手はたかはしほのかさんという方だそうです!

作詞もたかはしほのかさんがやっています!

f:id:nok-0930-ss:20171212163217p:plain

たかはしほのかさんはリーガルリリーというバンドでギター&ボーカルを担当しているそうです。

 

詳しいプロフィールはこちらから

www.regallily.com

 曲名は 「そらのむこう」 です。

 

ちなみに、作曲家はPa’s Lam Systemさん。

 

最後に

歌声が透き通ってて、なんども聞けちゃう曲でしたね!

これ売れると思うな〜

今後のご活躍に期待しましょう!

どの席に座るかで他人の心理はわかってしまう。

f:id:nok-0930-ss:20171204211733p:plain

こんにちは、あつかんです。

今日は心理系の記事を書いていこうと思います。

皆さんは、席に座るときに、どんなことを考えて席を選んでいますか?

ほとんどの人は、そこまで意識せずに席についていると思います。

しかし、意識していなくても席の選び方ひとつで、深層心理が現れます。

人間は無意識に、相手に抱いている心理条件によって、席に座る位置が変わってくるのです。

 

自分の位置に対して相手がどこに座るかを知っておくことで、相手は私に対してどのように思っているのかなどを予測できます。

 

今回は4つ座るパターンを紹介し、それに対する心理を見ていきたいと思います。

 

パターン① 角

f:id:nok-0930-ss:20171204200005p:plain

①の席に座った人は、あなたに対してリラックスしています。気軽に話すことができ雑談に向いた位置です。相手があなたに対して親近感を持っていることが分かります。

 

パターン② 隣

f:id:nok-0930-ss:20171204195944p:plain

②の位置は、あなたと共同作業をするようなときに適した座り方です。

この位置は体の接触が比較的に起こりやすいので、接触が起こっても不快に感じないような人が座ると予想されるため、②の人は親しい間柄だといえます。

恋人などは隣に座りますね。

 

パターン③ 真正面

f:id:nok-0930-ss:20171204200304p:plain

この座り方は一般的な座り方です。

一方、対立や説得、競争などの深刻な話題の時にも真正面の席を選ぶことが多いです。

もし、親しい間柄の人が改まって②の席に座ったなら、そのような話題になるかもしれないですね。

 

パターン④ 対角線上

f:id:nok-0930-ss:20171204200612p:plain

④の位置に座った人は、あなたとは別々の作業をするような人の座り方。

話し合いには適していません。

もし、話をするときにこの席を選ばれてしまったら、あなたとは疎遠な関係であり対立を起こしているかもしれません。

 

角テーブル?丸テーブル?

角テーブルと丸テーブルでは、座る人の心理によって微妙に異なってきます。

丸テーブルは上座というもの作りずらいので、そのテーブルに座る人たちに公平感が生まれます。

みんなと仲良く議論したい人は丸テーブルを好むようです。

角テーブルは上座というもの作りやすく、リーダーシップを発揮しやすい環境です。

そのため、リーダーシップを発揮したがる人に好まれます。

 

まとめ

今回は座る位置によって自分に対する相手の心理状態を推測しました。

当たり前ですが、近ければあなたに対して親近感があり遠ければ疎遠な関係でしたね。

この物理的な距離と心理的な距離は比例しています。

逆にこの心理作用を利用することもできます。

例えば、「あの人と親しくなりたいな~」と思ったら物理的な距離を近づけ、心理的な距離を縮めるのです。

物理距離を利用して心理距離を縮めることを「ボッサードの法則」というようです。

しかし、相手にはパーソナルスペーズというものがあり、その範囲内に入ってしますと逆効果になってしまうかもしれません。

なので、パーソナルスペーズにギリギリ入らないだろうという距離を攻めましょう笑

 

相手のパーソナルスペースなんか知るか!!!!

って思いますよね笑

 

内向的は人はパーソナルスペースが広く、外交的な人はパーソナルスペーズが狭いです。

つまり、相手の性格によって、近づける物理的な距離は臨機応変に変化させましょうってことですね~。

 

今回はこちらの本を参考に書かせていただきました!

他人の心理をもっと詳しく知りたい方は読んでみて下さい!

【図解】ニューラルネットワークのソフトマックス関数とは? & Pythonで実装してみた。【連載⑤】

f:id:nok-0930-ss:20171203174342p:plain

こんにちは、あつかんです。

今回はニューラルネットワークの出力層の設計について説明していこうと思います。

ゼロから作るDeep Learningという本を参考にさせていただいております。

またこの記事は連載形式ですので、下の記事を読んでから読むことおすすめします。

nok-lab-life.hatenablog.com


出力層の設計

ニューラルネットワークは、分類問題と回帰問題の両方に利用できます。

分類問題というのは、データのクラス分けです。

例えば、猫の画像を見せたときにそれは猫か?犬か?を分類するような問題です。

回帰問題は、ある入力から何かしらの数値を予測するものです。

たとえば、猫の画像を見せてその画像から猫の身長や体重を予測するような問題です。

 

分類問題と回帰問題によって出力層の活性化関数の種類が変わってきます。

分類問題ならソフトマックス関数を使い、回帰問題なら前のブログで説明した恒等関数を使用します。

今回は分類問題の焦点をあてていこうと思います。

 

ソフトマックス関数について

まずは、あらたにソフトマックス関数というものが出てきたので、それについて説明します。

ソフトマックス関数の式は以下のように表わされます。

f:id:nok-0930-ss:20171203165831p:plain

kはk番目のニューロンの出力であり、nは出力層のニューロンの数です。

分子は入力信号の指数関数、分母はすべての入力信号の指数関数の和です。

図で表すと以下のようになります。

f:id:nok-0930-ss:20171203173559p:plain

式の通り、一つの出力層に対して、すべての入力が結びついていることが確認できます。

ではソフトマックス関数を使って実際に数値を使って計算してみます。

f:id:nok-0930-ss:20171203165636p:plain

の時、y1,y2,y3は以下のようになります。

f:id:nok-0930-ss:20171203170119p:plain

f:id:nok-0930-ss:20171203170216p:plain

f:id:nok-0930-ss:20171203170253p:plain

 

だからなに?って感じですよね笑

次の説明でその疑問を解決します笑

 

ちなみにPythonで書くとこんな感じになります。

 

なぜソフトマックス関数なのか?

先ほどの計算結果で示したように、ソフトマックス関数の出力は0~1の実数値に落とし込むことができています。

どんな値を使っても0~1の実数値が出力されるので試してみてください。

この0~1の実数値に収めることができるというのがソフトマックス関数の重要なところです。

なぜなら、出力値を確率として解釈することができるからです。

0.1なら10%、0.25なら25%のように。

確率として解釈できるということは、例えば以下の図のようにニューラルネットワークを利用できますね(かなり強引ですが)。

f:id:nok-0930-ss:20171203171806p:plain

上図より、ニューラルネットワークに信号(画像のピクセル値)を入力した結果、猫である確率が高いと判断されたました。

つまり、確率として扱うことにより画像に写っているモノは猫であると予測できるわけですね。

猫の画像を入力して、それが猫であるって判断を行うためにはニューラルネットワークを学習させなければなりません。

それについては今後説明します。

 

まとめ

今回は出力層に使われる活性化関数の一つとしてソフトマックス関数についてまとめました。

出力層にソフトマックス関数を使うと、出力の結果を0~1の範囲に実数値として落とし込めるので、確率的な表現ができることが可能になりました。

確率的な表現ができるということは、予測ができるということなので、なにかを分類するような問題に応用できます。

しかし、なにかを分類するためにはニューラルネットワークの重みなどを適切に設定しなければ正しく分類することができません。

では、ニューラルネットワークの重みはどのようにして設定するのでしょうか?

それはデータから学習させて重みを設定させます。

ニューラルネットワークの特徴はデータを学習し、重みのパラメータを自動で決定できるという点です。

次のブログではどのようにして、データを学習するのかについて述べていこうと思います!

では!

【図解】ニューラルネットワークの実装【連載④】

こんにちは、あつかんです。

今回はニューラルネットワークの実装を行っていきます。

ゼロから作るDeep Learningという本を参考にさせていただいております。

このブログは連載形式ですので、過去のブログ↓を読んでから読み進めることをお勧めします。

nok-lab-life.hatenablog.com


3層ニューラルネットワーク

ここでは図に示すような3層のニューラルネットワークを対象に実装していきます。

今回はforward側の流れ、つまり入力層から出力層への信号の伝達の仕方について説明します。

f:id:nok-0930-ss:20171202170006p:plain

第0層目から第1層目

まずは入力層から第1層への信号の伝達の様子を見てみましょう。

f:id:nok-0930-ss:20171202170838p:plain

a1(1)を数式で表すと以下のようになります。

f:id:nok-0930-ss:20171202171114p:plain

 

f:id:nok-0930-ss:20171202171452p:plain

 

a2(1)を数式で表すと以下のようになります。

f:id:nok-0930-ss:20171202171544p:plain

 

a3(1)の図は省略しますが、以下の式のようになりますね。

f:id:nok-0930-ss:20171202171645p:plain

上記の3つの式は以下のように行列の式でまとめられます。f:id:nok-0930-ss:20171202173053p:plain

ここで、

f:id:nok-0930-ss:20171202173110p:plain

です。

このように各ニューロンに対して、信号の総和を計算できました。

ニューロンは信号を受け取ったら、活性化関数h()を通して出力するので、次はそのプロセスを見ていきます。

第1層目のニューロンの中身を詳しく書きました。

 

f:id:nok-0930-ss:20171202180144p:plain

上図より、活性化関数を通して出力される信号の式z1(1)は以下のようにあらわされます。

f:id:nok-0930-ss:20171202174751p:plain

ここで、シグモイド関数を活性化関数として使用すると、以下のようになります。

f:id:nok-0930-ss:20171202174804p:plain

z2(1)も同様に計算して

f:id:nok-0930-ss:20171202174923p:plain

z3(1)も同様に計算して

f:id:nok-0930-ss:20171202174938p:plain

のようになります。

これらを行列の式でまとめると以下のようになりますね。

f:id:nok-0930-ss:20171202175333p:plain

ここで、

f:id:nok-0930-ss:20171202175345p:plain

です。

 

これで第0層目から第1層目までの信号の伝達の様子を確認しました。

 

第1層目から第2層目

次は第1層目から第2層目までの実装を行います。

f:id:nok-0930-ss:20171202181046p:plain

上記のような図の流れですので、

f:id:nok-0930-ss:20171202181829p:plain

つまり、

f:id:nok-0930-ss:20171202181615p:plain

となります。Z2(2)も同様に

f:id:nok-0930-ss:20171202181837p:plain

つまり

f:id:nok-0930-ss:20171202181903p:plain

となります。

これらを一つの行列式にまとめると以下のようになります。

 

f:id:nok-0930-ss:20171202182221p:plain

ここで、

f:id:nok-0930-ss:20171202182242p:plain

です。

これで第1層目から第2層目までは終了。

 

第2層目から第3層目

次は第2層目から出力層までの実装をしていきます。

f:id:nok-0930-ss:20171203161353p:plain

ここで出てきたσ()は恒等関数といいます。

これは出力層の活性化関数として利用されます。

恒等関数は入力をそのまま出力関数です。

出力層の活性化関数には、恒等関数、シグモイド関数、ソフトマックス関数のどれかが使われるのですが、今回は恒等関数としました。

出力層の活性化関数に関しては、次の記事で説明してきます。

 

つまり、出力の結果として

f:id:nok-0930-ss:20171203161543p:plain

f:id:nok-0930-ss:20171203161722p:plain

 

y2もy1と同様にして、

f:id:nok-0930-ss:20171203161818p:plain

f:id:nok-0930-ss:20171203161824p:plain

 

といった式になります。

以上で3層ニューラルネットワークのforward側の説明は終わりです。

 

まとめ

今回はforwardの流れ、つまり入力から出力方向への伝達処理を理解しました。

実はニューラルネットワークは学習するためにはbackwardの流れ、つまり出力から入力方向への処理も行わなければなりません。

これについて、後ほどの記事に出てくるので少々お待ちくださいw

次回は、出力層の活性化関数について詳しく述べていこうと思います。

続きはこちら

nok-lab-life.hatenablog.com