What you choose indicates
what you value 3
chen(@yuno_miyako)
機械学習で試してみる
使うアルゴリズムはニューラルネット
正解データは選ばれたか否かの0or1
入力データは特徴量をそのまま入れる
予想される懸念
同じ特徴量でも、他の選択肢の特徴量によって
は正解データが0になったり1になったりする
このままやってちゃんと学習できるのか?
さっそくやってみる
機械学習は入力データと正解データがあれば気
軽にできるので実装が簡単
ただしうまくいくかどうかはやってみないと分
からない
推測する評価関数を決め
る
今まで評価関数を線形で仮定してきたが、これ
はあまり現実的ではない
我々の評価関数は、「価格は絶対1万円以下
で、この機能は欲しくて、まああの機能はあっ
たら嬉しいかな」のようなもの
さらに気まぐれも入ったりする
それっぽい評価関数
x1は0.2以上、x2は0.8以下が絶対条件
x5を価格だと思えばそれで割るのはコスパの計
算のモデル化と言える
最後に気まぐれの乱数
評価関数 = function(x){
ifelse((x[1] > 0.2) & (x[2] < 0.8) , 1 , 0) * (3 * x[3] + 2 * x[4] ) / x[5] + runif(1)
}
試しに前回作った線形モデ
ルで正答率を計算すると
正答率 : 62.09%
線形でないものを線形モデルに当てはめ
たので正答率は低い
ニューラルネットでは…
正答率 : 81.04%
正答率高い、さすが機械学習
ちなみに
生データのままだと当然選ばれたものより選ば
れなかったものの方が多いため、正解データに
0が多い
正解データに0が多いという偏りがあると、そ
れで学習したニューラルネットが全部出力を0
にしてしまいます。
そこで正解データの0と1を えています。
まとめ
機械学習は人々の嗜好を学習できるかも
人やAIの行動で何が選択されたかを記録するだ
けで、その人の嗜好や行動原理を学習できるか
も

何が選ばれたかという情報から評価関数推定3