じばるどーね!

趣味、思想、妄想、学問、ごった煮ブログ

機械学習の理解と日常(教師ありと教師なしの違い編)

※これは個人が勉強したことをまとめた記事です。そのため記事の内容の正しさについて、疑問があれば、お願いします。

今回は機械学習と日常の関連を考えてみた

 友人が教師あり学習と教師なし学習の違いについて疑問を持ったので、自分はどうだろうかと思い、理解を整理してみました。これは機械学習のような学習だと捉えることができるよね、という日常の出来事について書いていきます。つまり、この記事は機械学習について勉強したことと直観的な理解をまとめた記事となっています。

機械学習とは何ぞや

 英語版Wikipedia曰く、機械学習(Machine Learning)というのは

Machine learning is a field of computer science that gives computer systems the ability to "learn" (i.e., progressively improve performance on a specific task) with data, without being explicitly programmed.

です。

  Googleに翻訳してもらうと、

機械学習は、コンピュータシステムに、明示的にプログラムされることなく、データを用いて「学習する」(すなわち、特定のタスクのパフォーマンスを徐々に向上させる)能力を与えるコンピュータ科学の分野である。

というわけです。つまり、データを入力したとき、あるシステム(入力すればそれに対して何か返してくれる、出力してくれる)が目的のものを出力するということです。日本語版Wikipediaには学習方法がたくさん書いてあるのですが、教師あり学習と教師なし学習についてまとめます。

教師あり学習とは?

 教師あり学習というのは、入力と出力をセットにしたデータ(訓練用)をもとに、あるシステムを「学習する」(システムを近似的に求める)ということです。

 僕は一人暮らしが数年ぐらいなので、電子レンジでできるごはんを食べていた期間がありました。そのごはんパックの米は大抵コシヒカリなので、米を食べればコシヒカリであるかを判別できます。

 この学習過程を機械学習のように考えると、大量のデータ(入力であるごはんパックの食事と、出力であるごはんの品種の関係)から、舌にコシヒカリの特徴となる味を刷り込みます(ちなみに、このとき他の米を食べて、コシヒカリでない味も学習します)。そのようにして、舌というシステムがコシヒカリの味を覚えました(学習した)。そして、学習できたかテストすると、下の図のようになります。ほかの例として、逆上がりを補助つきで体に刷り込んで(学習してシステムの中身を作る)、実際にやってみること(テスト)に似ていると思います。

f:id:tb9810w124816:20180316000325p:plain

図 米がコシヒカリであるかテスト中

教師なし学習とは?

 教師なし学習というのはあるシステムにデータを入力してみてデータの特徴を学習するということです。教師あり学習は出力してほしいものが決まっている一方、教師なし学習は出力してほしいものが決まっていません。勉強してみて、これは味覚に近いのではないかと思いました。たとえば、ブラックコーヒーをたくさん飲んでみて(入力)、コーヒーには酸味か苦み(出力)が多いよねというものです。この学習を通して、ブラックコーヒーには主にどういう味が主に占めているのかがわかるわけです。偏り(特徴)を見つけているような感じに見えます。今コーヒーにハマっているので、そのうちコーヒーについての記事を書くかもしれません。

 

まとめ

 学習する目的を考えると、教師あり学習はテストをすることで、教師なし学習はデータに対する印象を持つことだと考えられます。

 

参考文献

教師なし学習 - Wikipedia

教師あり学習 - Wikipedia

 

機械学習入門 ボルツマン機械学習から深層学習まで

機械学習入門 ボルツマン機械学習から深層学習まで

 

 

 

たのしい限界食ライフpart3

 

yadrfu.hatenablog.com

 前回の続き。今回はpart3で、ラストです。

    -----part1-----
  1. 限界食の内容と目的
  2. -----part2-----
  3. マイ限界食の献立
  4. -----part3-----
  5. 限界食の感想
  6. 最後に
 

雑談

 こんにちは、くりすぷです。この自己紹介を久々にした気がする...まあ気のせいです。今回の内容は尺稼ぎ限界食のラストを飾るものです。

 

 さて、友人が出していた中国語のクイズ

yadrfu.hatenablog.com

 をやってみたんですけど、4問しか解けなかったです。僕はクイズ好きで解ける自信があったので、悔しかったです。解説をみて理不尽な問題だなあと思ったので、抗議してみたところ、中国語を知らない人(たとえば僕)はがんばれば6問解けるということになりました。みなさんもやってみてね。

続きを読む

【実験】~ボールのランダムウォークにおける二項分布検証~ パチンコ玉が落下しやすい位置と三角格子の段数の関係

 こんにちは、「じばるどーね!」のとぼです。「じばるどーね」はごった煮のイタリア語で、このブログはいろいろな関心ごとについて2人のライターがなんでも書いていく闇鍋🍲であることを示しています。とはいえ、あまりに内容がばらばらだと見ずらいと思いますので、20記事位出来たらタグ付やリストを作ろうと思います。

 さて、今回は簡単な確率論の実験をします。三角格子上をランダムウォークによって落下していくボールが最終的にどの位置のスポットに落下しやすいのか、三角格子の段数を変えて比較検証していきたいと思います。

 まあ、要するに、「パチンコ玉が最も落下しやすい位置の特定」です。

  

 

1.ランダムウォークとは?

ランダムウォーク】:

ランダムウォーク英語: random walk)は、次に現れる位置が確率的に無作為(ランダム)に決定される運動である。日本語の別名は乱歩(らんぽ)、酔歩(すいほ)である。グラフなどで視覚的に測定することで観測可能な現象で、このとき運動の様子は一見して不規則なものになる。(by wiki)

 例えば、階段があって1/2の確率で1段上り1/2の確率で1段降りるときの挙動などがランダムウォークです。

 

f:id:tb9810w124816:20180307153325p:plain

  上ったり降りたりフラフラしている酔っ払いみたいなもんです。(日本語の別名の酔歩もこの挙動を例えたものだと思う)

 

 

2. 今回の実験

 今回は、下図のような三角格子のてっぺんからボールを落下させ、格子の杭にぶつかったときボールは1/2の確率で右へ、1/2の確率で左へ転がるといったランダムウォークをするとしたとき、ボールはどのスポット(一番下の透明な筒)により落ちるか、スポットの数は999(真ん中ができるように奇数にした)に固定して、三角格子の段数を変えて検証します。

f:id:tb9810w124816:20180307154943j:plain

ただし、ボールがスポットのある一番端の地点まで行ってしまった場合、そのままボールは自由落下して端のスポットに落下するものとします。イメージとしては下記の画像のような三角格子を用意します(雑)。

f:id:tb9810w124816:20180308120217p:plain

 なお、この条件が実験後半の結果の変化の肝になります。 

 

今回は、以下のリンク

http://www.naturawww.sat.t.u-tokyo.ac.jp/~omi/random_variables_generation.html#Prepare_MTl-science.or.jp/article/20110404234734.php

のページを参考に、BDライセンスで公開されているMT.hライブラリを用いて、メルセンヌ・ツイスタというアルゴリズムによって高速に乱数生成をして、その乱数の偶奇によってボールが右へ行くか左へ行くか決定しています。

 以下、今回のシミュレーション実験のために書いたC++(実質C)のコードをmain関数のみ示します。

int main() {
const int N = 999;
FILE *fp;
fp=fopen("out.txt","w");
int a[N] = { 0 }; //各スポットに入ったボールの数
int atp = 0; //試行回数
int mid = (N - 1) / 2; //真ん中
init_genrand((unsigned)time(NULL)); //メルセンヌ・ツイスタによる乱数生成
while (atp < 10000) { //10000個のボールを転がす
int p = mid; //はじめボールは最上段の中央にある
int level = 0; //ボールの位置の深さ(てっぺんで0、スポットでN(=999))
int w = 2; //三角格子の高さ。ここは逐次変更。なお、w=1で高さはスポット数の約半分になる(すべてのスポットに落下する可能性がある)
while (level < mid*w) { //ボールが落下するまで
if (genrand_int32() % 2 == 0) p++; //ボールが右へ転がる
else p--; //ボールが左へ転がる
if (p == 0 || p == N-1) break; //ボールが三角格子の端まで行って飛び出る(端のスポットに入る)
level++; //ボールが一段落ちる
}
a[p]++; //ボールが入ったスポット
atp++; //試行回数増やす
}
for (int i = 0; i < 64000; i++) fprintf(fp,"%d\n",a[i]);
fclose(fp);

return 0;
}

 

 上記のプログラムをw=1,2,4,8,16,32,64,128に対して実行し、実行結果をExcelに張り付けて各スポットに入ったボールの数のヒストグラムを作成します。(スポットの番号は左から順に1,2,3,...,999です。ただし、プログラムの中では0,1,2,...,998というように0オリジンになっています。)

 

 

3.実験結果

 では早速、実際にボールの落下位置の分布はどのようになったのかヒストグラムを見ていきましょう。以下ではスポットの数(=999)をNとしています。

(i)三角格子の高さがおよそN/2のとき(w=1)

f:id:tb9810w124816:20180307162856p:plain

 (図番号は省略しています。) 一極集中!まあ、一番端のスポットへ落ちるパターンはすべての杭で右に移動、もしくはすべての杭で左に移動する2パターンしかないわけですから、全パターンが2⁴⁹⁹(≃10¹⁵⁰)通りあることを考えると真ん中に寄りやすいのは当然と言えますかね。また、二項分布・正規分布のような、中央(ボールのあちるスポット番号の期待値)に対して左右対称なヒストグラムになっています。

 

(ii)三角格子の高さがおよそNのとき(w=2)

f:id:tb9810w124816:20180307163057p:plain

 先ほどとほとんど変わりませんね。 おわり。

(iii)三角格子の高さがおよそ2Nのとき(w=4f:id:tb9810w124816:20180307163601p:plain

  少し、ヒストグラムの高さが下がり、裾野が広がりましたね。

 

(iv)三角格子の高さがおよそ4Nのとき(w=8)

f:id:tb9810w124816:20180307163655p:plain

  徐々に裾野が広がり、縦長から横長のヒストグラムになって来ていることが分かります。太ってきているわけではないです。

 

(v)三角格子の高さがおよそ8Nのとき(w=16)

f:id:tb9810w124816:20180307163825p:plain

  個人的にはw=16のこのヒストグラムの波形が今回の実験の中で一番きれいだと思います。まあ、目盛りの取り方によって変わりますが、たまたま高さと横幅の比が黄金比に近い気がする(気がするだけ)。

(vi)三角格子の高さがおよそ16Nのとき(w=32)

f:id:tb9810w124816:20180307164222p:plain

 よく見ていただくと分かるんですが、一番左のスポット1にはじめてボールが入ったことが分かります(しかも2個!)。w=32のときが一番二項分布らしい波形になっていると思います。でもこれ,各mid回の杭における左右移動が32セットそれぞれ独立と見なしてよいなら、試行回数(ボールの数)を10000として今回の実験やっているので、二項分布っぽく収束するのに必要な妥当試行回数が320000ってことがいえただけでは...?

(vii)三角格子の高さがおよそ32Nのとき(w=64)

f:id:tb9810w124816:20180307164253p:plain

   あっっ!!この高さになるといよいよかなりのボールが端に落下して左右のスポットに入ってしまうんですね!! 既に両端にボールが入りまくっていますが、さらに三角格子の高さを2倍にします。あっ....(察し)

 

(viii)三角格子の高さがおよそ64Nのとき(w=128)

f:id:tb9810w124816:20180307164352p:plain

はい。

 ほとんどのボールが端にたどり着いて三角格子から落下し、一番端の2つのスポットに入ってしまいました。それはそう。

 

4.考察

(i)ヒストグラムの波形について 

f:id:tb9810w124816:20180308201920p:plain

 ヒストグラムの波形が上図に示すような二項分布のような形になることは予想していましたが、予想以上に三角格子の高さに対してヒストグラムの横幅が狭かったです。落下位置は右に転がったときと左に転がったときの順番は関係なくその回数にのみ依存するので、各スポットにボールが落下する確率は(右、左)のどちらかを三角格子の高さ分だけ繰り返し選んでいく反復試行の確率計算をすればよいです。例えば三角格子の高さを2nとすると、2nCnのオーダーはスターリングの公式を用いることでO(4ⁿ/√n)になることが分かるのですが、同様にすると2nCn/2=O((16/3√3)ⁿ/√n)となり、2nC1に至ってはO(n)となるため、反復試行の分子の値は極端に真ん中に集中することは明らかです。今回の場合n=499としており特に大きいのでなおさら真ん中への偏りが顕著になりました。

 

(ii)両端にボールがたどり着くのに必要な高さについて

 スポット数に対しておよそ16倍で両端にボールが入り始め、徐々に増加し、スポット数の64倍のたかさの三角格子から転がした場合においてはそのほとんどが両端のスポットに落下することが分かりました。

  両端に落下するということはボールがランダムウォークする過程で三角格子の端までたどり着いてしまったということです。つまり、三角格子のいずれかの深さにおいてあるボールがいままでに右に遷移した回数もしくは左に遷移した回数の一方が他方よりもmid=499以上大きくなったということです(これは重複組み合わせの計算で算出できます)。つまり、三角格子の高さをnとしたとき全遷移パターン2ⁿ通りのうち途中でこのような状態に陥る組み合わせが多くなると、当然ですが端に落ちるボールが多くなるということです。実験ではn=64midのとき中央付近に落ちるボールと両端に落ちるボールの数が等しくなっていることが分かります。実際の値をExcelを用いて計算しようと思いましたが、値が大きすぎてエラーしてしまいました。

 

5.まとめ

 パチンコ玉はなかなか両端には落ちない。めっちゃ高くないと落ちない(スポットの数の64倍)。大体真ん中に落ちるのです。もちろんこれは、最初にボールを真ん中から転がし始めたとき。つまり、ボールが転がり始めた位置と落下位置は杭で左右に移動していってもあまり変わらないことの方が多い。...ボールの転がる始点を見れば落下位置も大体検討がつく、というか真下付近に落下すると思っとけばいいことになる。

 

<今回のキーワード>

 パチンコ玉の落下位置の分布が理想的には二項分布状になることは実は有名な話だったりします。世の中の現象で「○○分布になる傾向にある」と分析されていることはほかにも結構あります。では、元々高所得者の所得分布を示す分布として提案された、ものごとの大部分は一部の構成員によって作れれているといった世の中の偏りを示唆する分布は何分布というでしょうか。分かった方はコメント欄からどうぞ。

6.関連記事

 ...ないです。でも、これから確率ネタの記事も増やすかもしれません。まあ、もうちょっとまともな考察を今度はしたい。

 

たのしい限界食ライフpart2(その2)

 

yadrfu.hatenablog.com

 前回の続き。

 

たんぱく質源の紹介

  栄養補給のためとはいえ、やはりある程度続けられるような味がいいよね。というわけで、たんぱく質源の紹介です。価格・味の面でも、いろいろ書いていきます。

 

チキンハンバーグ

国産鶏肉使用 チキンハンバーグ -イオンのプライベートブランド TOPVALU(トップバリュ) - イオンのプライベートブランド TOPVALU(トップバリュ)

シンプルイズベスト! チキンハンバーグ!!

 たんぱく質8.1gを摂取できることに加え、一人暮らしでは作るのがめんどくさいハンバーグが1個70円(2018年3月現在)で食べることができるというコスパの良さ。チキンなのでハンバーグでおなじみの豚や牛のうま味を味わうことができないが、チキンの淡白さとウスターソースのシンプルな味付けから生まれる一体感。シンプルだけど、そこがいい。このチキンハンバーグは何個も食べてて飽きないものであり、口に肉が満たされるという体験が低コストでできる。このチキンハンバーグからは肉汁を感じないものの、そんな一体感が感じられる。今のところ、このコスパを上回る加工お肉を見つけてない。

 

 ただ、チキンハンバーグを開封するとき注意しないとウスターソースが飛び散り、たいへんなことになる。そのため歩きながら食べるには携帯性が悪く、その辺が玉に瑕。(まあ、歩きながら食べることは考慮されていないだろうとはおもう。調理方法が書いてあるぐらいだし、家で食べるためのものだろうなあ)

 

豆乳

栄養情報

www.kikkoman.co.jp

 

 

 たんぱく質8.8gや、多くのカルシウムやカリウムなど、栄養面で優秀。ストローがついていて、片手で飲めて、折りたたみながら飲むことで飲むスピードを速くできるという利便性も見逃せない。特濃なので豆乳さをより味わえる。ぼくは豆乳のまろやかさに加えてあの塩と甘さのバランスが好きなので、豆乳は何杯でもイケます。

 

 ちなみに、豆乳は牛乳よりも好きです。牛乳の中でも特濃牛乳なるものがありますが、あれは文字通り乳独特の風味や甘さなどが凝縮されていておいしいし好きなのですが、その濃さのために、一杯飲めばもういいかなという感じがします。一方、豆乳は特濃であっても飽きがこない。飲み続けるなら、豆乳だとぼくは思います。(なんか青汁のCMぽくなってきたな)

 

 1本77円(2018年3月現在)という価格。たんぱく質の量や飲んだときの満足感やストローなどの利便性も考えると、豆乳はコスパが良いものだと思います。

 

※もちろん豆乳は調整豆乳です。無調整版も良いとは思うのですが、飲みやすさから調整版が良いと思います。あと、特濃豆乳とノーマル豆乳の違いは味だけでなく、たんぱく質の量の違いもあり、特濃のほうが多いです。

 

その他

 以前言っていた、さば缶・豆腐・インスタント食品(うどん、ラーメン、焼きそばetc)は約100円ぐらいで、他の食品よりも概ねたんぱく質が多いです。その中で、1日のたんぱく質推奨量をとるように適当に食べています。ただ1食20gという基準は分かりやすいので、それを意識して献立は立てますが。

 

 今回は、種類の多さから上記3つのたんぱく源は紹介しません。さば缶1つとっても、味付けは味噌、醤油、水煮などがあるので、それをすべて紹介するのはつらいです。ちなみに、味の面から言うと、たんぱく源は淡白な味のものがいいです。そうすると、食べ続けやすくなります。

 

 次回も、お楽しみに!!

【クイズ】中国語の漢字から推理!これなんてアニメ?

  你好!!我们是「大杂烩」!!

 こんにちは,「じばるどーね!」のとぼです。突然ですが皆さん、このブログのタイトル「じばるどーね」の由来って何だと思いますか?
    実は、これはイタリア語の「zibaldone」を日本語読みしたもので、意味は「ごちゃ混ぜ、ごった煮」です。まあ、このブログはかなりいろいろなジャンルの話しがごった煮にされていく感じなのでね((。
    最初は「ごった煮」を英語にして「ほっじ・ぽっじ!」にしようかとも思ったんですが、このワードのサイトはすでに結構あったので止めました。それにしても「ごった煮」一つとっても国によって様々な言い方ですね!正直全然予想できません!
 ところで、「ごった煮」は中国語だと「大杂烩」(da zai hui)っていうそうです。「大杂」が大雑把な感じ、「烩」が”煮る”を意味していると推理できなくもなさそうじゃありませんか?
 ノーヒントだと無茶かもしれませんが選択肢やヒントがあれば、日本語の意味の推測がほかの言語より容易だと思います!
 そこで今回は、中国語で「日本のアニメのタイトル」を紹介していくのでそれが何のアニメのタイトルか、推理していくゲームをこの記事を通してやっていきたいと思います!今回は全8問用意しましたよ!!

 

    

クイズ!!中国語から推理!これなんてアニメ?

   漢字の意味する雰囲気や、漢字のパーツから推測される音(日本語の漢字の音読みに近い)から推理するのがいいでしょう。まあ、まずは試しに第1問、やってみましょう!!

Q1.これ何てアニメ?:哆啦A梦」

選択肢

 

解答

 

どうですか?分かりましたか?

次はQ1とは違うタイプの推理が必要な問題です!!

Q2.これ何てアニメ?:蠑螺小姐」

選択肢

 

解答

 

 

どうでしたか?このように、漢字の意味から推理するタイプもあるので、漢字に詳しい方のほうがやっぱり有利ですね。

Q3.これ何てアニメ?:「

選択肢

 

解答

 

Q3のように、アニメの内容を知っていれば分かるようなものもあります。 なお,フォントの関係でPC版で見たときに一部太字にならない簡体字がありますがご容赦ください(もしこれらをボールド体にする方法が分かる方がいたら教えてくださいorz)

Q4.これ何てアニメ?:「侦探柯南

選択肢

 

解答

 

どうですか?今のが解けた方は既に中国語の意味を推理する能力を獲得しています!!

 

Q5.これ何てアニメ?:魔法少女小圓」 

選択肢

 

解答

 

 

さあ,次の問題はこちら!

Q6.これ何てアニメ?:幸運☆星」 

選択肢

 

解答

 

  ちなみに,「ポプテピピック」は中国語で「pop子和pipi美的日常」というらしいです。まんまじゃねーか!!...では,次の問題です!!

Q7.これ何てアニメ?:搖曳露營」

選択肢

 

解答

 

 

最終問題です!

Q8.これ何てアニメ?:廢天使加百列」

選択肢

 

解答

 
 

 

まとめ

あなたは,

 

問中,

 

問正解しました!!

 中国語や漢字、アニメの内容の知識に左右されるとは思いますが,やはり8問6以上正解できた方はかなり簡体字から意味を推理する力があると思います。でも,8問全部正解できた人も意外といるのではないでしょうか。

 もし,この記事が面白いと思って下さったら,スター&コメントよろしくお願いします。 

<今回のキ-ワード>

以下の中国語で表されるアニメのタイトルはなんでしょう? 

Q ex. 「福音战士」

 

関連記事

yadrfu.hatenablog.com

 今回のクイズが面白いと思った方は、上の記事もおすすめです。