2008-11-11  ガチムチを見ると興奮する数式(きかい)

ガチムチを判定する関数を作ってみました。

Public Function gachimuchi(bmi As Double) As Double

    Dim h1, h2, o1 As Double

    bmi = bmi / 50
    bmi = bmi - (21.25 / 50)
    bmi = bmi / 0.2
        
    h1 = 1 / (1 + Exp(-(bmi * -7.26 + 5.61)))
    h2 = 1 / (1 + Exp(-(bmi * 8.82 - 2.2)))
    o1 = 1 / (1 + Exp(-(h1 * 5.31 + h2 * 4.96 - 9.26)))

    gachimuchi = o1

End Function
ガチムチのBMIスペクトル

<画像の説明>作成したガチムチ関数のBMIスペクトルです。この関数は,ある体型のガチムチの度合いを百分率で返します。ガチムチを見ると興奮する数式(きかい)なのです。オカルトかもしれませんね。

さて,どうしてこんなくだらないものを作る気になったのか,少しお話します。近々,投入予定の「ガチムチ診断チャート」のための布石なのです。ガチムチ診断チャートの構想は2006年あたりからあるのですが,作業が難航していました。今まで,ガチムチの分布関数をどうやって作ればよいのか,思い浮かばなかったのです。

私は,「ニューラルネットワークを使えば,ガチムチ関数を作れるはずだ」ということにかなり前から気づいていました。実際に試してみたらできちゃったので,手順を少しお話します。

社会現象を定式化するには

「ガチムチ関数を作る」なんて言うと,バ○っぽく感じた人がいるかもしれません。言い方次第なのです。「社会現象を観測して,その現象を定式化する作業」と言い換えてみたらどうですか。途端に高級な感じがしてきたのではないでしょうか。

どうすれば社会現象を定式化できるのでしょうか。一般的な手順は以下のようになるでしょう。

  • 社会現象を観測して記録する
  • 記録した情報から特定の情報を抽出する
  • 抽出した情報を集計する
  • 集計した情報を正規化(加工)する
  • 正規化した情報を定式化する

今回のガチムチ関数は,上記のひとつでも欠けていては実現できません。私はこれまで観測から正規化までは自力でできたのですが,その先の定式化ができませんでした。ところが,11月上旬にニューラルネットワークのお勉強をしたことで,定式化の一手法をついに習得しました。

ガチムチの素,教師信号を得る

今回,近似関数を得るためにニューラルネットワークを使いました。ニューラルネットワークを誤差逆伝搬法で学習させるには,教師信号が必要です。教師信号とは入力と出力のお手本です。「学習」というのは名前の通り学習であって,お手本どおりの信号を出すことを指します。

今回は,以下の手順で教師信号を用意しました。

  • データベースからガチムチと呼ばれる身長と体重の一覧を抽出する
  • 身長と体重をBMIにする
  • BMIを階級に分けて,各階級の出現頻度を算出する
  • 出現頻度を百分率にする
  • 出現頻度が全体の5%未満の階級は切り捨てる(雑音の除去)
  • BMIの中間値(Median)を算出する
  • BMIの下限と上限を算出する
  • BMIの下限と上限を0.0~1.0の範囲に修正する

教師信号は「下限」「中間」「上限」の3点だけにしました。最初は,実在する数値を片っ端から学習させれば良いと思っていたのですが,やってみたら「学習しない」「精度が低い」と悪いこと尽くめでした。

階層型ニューラルネットワークは,中間層ニューロンの数次第でどんな関数でも近似できるそうなのですが,学習が成功するかどうかは別問題のようです。

ガチムチを判定するニューラルネットワーク

<画像の説明>学習により得たニューラルネットワーク。

BMIスペクトル

BMIスペクトル

<画像の説明>ガチムチ以外にも,「スジ筋」「筋肉質」「デブ」の解析も済ませたので,ガチムチと合わせたBMIスペクトルをお見せしましょう。感心する人よりも,呆れた人の方が多い気がします。こんなことに労力を費やして,いったい何の役に立つのやら。いちばん心配しているのは私自身です(ふめい)。

今回,新たな発見がありました。BMI 24の近辺が,いちばんややこしい状態になっているのですね。BMI 24は筋肉質でもあり,ガチムチでもあり,デブでもあるのです(びっくりマーク)。

BMI 24は身長を171cmにした場合,体重は70kgになります。この数値は「身長から体重を引いて100くらい」というあの名文句に対応するのですよ。いちばん苦情の多い体型のような気がするのですが,どうなんでしょうね。定式化してもなお,ガチムチの謎は深まるばかりです。