素人データサイエンティストによるブログ

データ解析についてかんなり噛み砕いて説明します(笑)

潜在変数

すごい久しぶりに書きます。興味のある方ちょろっと見てもらえたら満足です。

今回は潜在変数というものについて説明していきたいと思います。というのも潜在変数は機械学習の分野においてしょっちゅう出てきます。知ってる人からすればそんな簡単なものをわざわざ説明する必要があるのかと、いうことになりますが、私は理解するのにとても苦労しました。今後そのような苦労を減らせればと思います・・・

 

まず潜在変数とは何かについて説明していきます。これは観測したデータが潜在変数によって決まっていると考えるものです。初めて聞いた人は何ぞやと思うと思います。それは私の説明が下手だからです(笑)。なのでどんどん説明していきます。まず天気予報で考えていきましょう。天気の毎日の観測結果があるとしましょう。それらは毎日外を見れば記録することが出来ます。これが観測したデータです。しかしその天気を見る前に事前に分かれば便利だと思いませんか?それが天気予報です。

天気が晴れだとどうやって決めるのでしょうか。私は気象について詳しくないので、ちょっと適当なこと言って説明していくと、例えば明日晴れになるのは前日に丸い形の雲があったとします。そうすれば明日の天気は、雲を見ることによって晴れかどうかわかります。このように観測データを決める役割をするものを潜在変数といいます。潜在変数は観測されません。つまり最初は潜在変数が分かりませんし、そもそも観測データに潜在変数があるのかも分かりません。

しかし観測データが潜在変数にしたがって生成されると考えると、観測データを生成している分布を推定することが出来ます。なので観測データが得られたら、そこに潜在変数があると仮定して、潜在変数を適当に定めて観測データが出来ていると考えます。

 

データ生成の過程が分かれば、天気予報は便利ですよね?明日の天気がわかることになります。他にも様々なことに応用することが出来ます。

潜在変数は機械学習の分野で必要になるので興味のある人はぐぐってみていろいろな記事を読んでみてください。

パラメトリックとノンパラメトリック

今日の内容は少し難しくて、専門的なことなので興味のない方は戻るのクリックを進めます・・・。そしてあまりうまく説明できないかもしれませんが、この内容は調べてもあまり詳しく載ってなくて参考書等にもちらっと書いてある程度のことが多いです。なのでタイトルの内容が知りたくて来た方のためにできるだけ詳しく説明することができたらなと思いますが、恐らく知りたいことの半分もないかもしれません。。。

 

まずパラメトリックの説明から行きます。パラメトリックなモデルとはどのようなものか、それはパラメータが存在するモデルのことです。ここでは確率モデルに関して説明させてもらいます。確率モデルとは何か、それは確率分布を現したモデルのことです。例えば表と裏のでる確率が同様に確からしいコインがあるとしてこのコインの確率分布を求めると、表が1/2、裏が1/2ということになります。このようなモデルを確率分布といいます。そしてこのような確率分布にはパラメータが存在します。そのパラメータとは何か、今回は表と裏が出る確率のことです。表が1/2という確率で決まっているということはそれらを決定しているパラメータがあるということです。このようにパラメータがあるモデルのことをパラメトリックなモデルといいます。サイコロもどの目が出ることも確からしいのであればパラメトリックなモデルです。

 

次にノンパラメトリックなモデルについて説明していきます。恐らく上記を読んでいただいた結果からすると、ノンパラメトリックはパラメータが存在しないモデルと理解される方が多いと思います。ですがそれはよくある誤りで、正確にはあらかじめパラメータを定めないモデルということになります。ここの理解が私には難しくて苦しんだのですが

パラメトリックモデル⇒パラメータあり

ノンパラメトリックモデル⇒パラメータをまだ決めていない

早く言ってしまえば上記のような違いになります。ではパラメータを定めていない場合どうするか、それは適当に定めてしまえばよいのです。そうすればパラメトリックモデルと一緒ですね。ではいくつか疑問が生じたと思いますが、1つずついきましょう。まず適当に定める、ここが問題ですね。ノンパラメトリックの場合パラメータを適当に定めなければなりません。そしてそのパラメータ候補は1つではなく考えらる数分作ります。例えばパラメータ候補が5つある場合は5つ用意します。その5つのパラメータすべてに対してどれが正しいのか決めます。その中で一番それらしい(尤もらしい)ものをパラメータとして採用します。ここまでをまとめると

①パラメータの候補数を定める

②パラメータを仮に候補数分定める

③パラメータそれぞれに対して尤度を求める

④一番尤度の高いものをパラメータに採用する

これらを行います。この④の動作を学習といいます。どれが最もよいか選ぶことを機械が行うので④の段階が機械学習です。

恐らく私の説明では全然物足りないと思うので、下記に示した論文を参考にされるとよいかもしれません。では頑張ってください。

ノンパラメトリックベイズモデルの論文です。

ビッグデータ

今日はビッグデータに関する話をほんの少しだけしたいと思います。というのもビッグデータは奥が深すぎて私には浅くしか説明できないからです。とりあえずビッグデータとはなんなのかから簡単に説明していきます。今世界にはたくさんの情報があります、例えば若者からしたらわかりやすい話Twitterを出せばわかってもらえるでしょうか。あれは日々たくさんのツイートがあるわけでそれが全世界で起きているのですから言うまでもなく膨大な量だということがわかります。それらもビッグデータの一つです。つまりどういうことかというと

ビッグデータは何らかの情報

これでいいと思います。とりあえず何らかの情報なのです、それも膨大な量の。それがビッグデータです。ただこれだけ説明しても「あっそうですか」で終わりそうなのでなぜこのビッグデータが流行っているのかすこし説明していきます。近年ビッグデータは注目されています、というのもビッグデータを解析し始めたからです。例えば飲食店を考えてみましょう。何の情報もなく飲食店を経営し始めたら、いつどんな客がどのくらい来て、どの商品がよく売れるかなど、不確定要素がたくさん出てきます。それでも運営していかなければなりません。そこで1年間運営して来客数、商品、客層すべてのデータを記録していたとします。このデータもビッグデータです。このビッグデータを解析することによって、明日は来客数が少なく従業員を少なくし発注も少なくする、明後日は来客数がとても多いので従業員も発注量も多くするなどといったことがわかります。いま挙げた例はとても簡単なことなのでデータ解析の技術を用いてなくても経験や勘からわかると思います。ですが、ビッグデータ解析とは解析することによって今まで見つけることができなかった関係性を見つけることができるかもしれません。それによって店の売り上げが劇的にあがったり、運営がしやすくなるかもしれません。

飲食店の例を挙げたのでほかのことに目がいかないかもしれませんが、データがあれば何でもいいんです。例えば携帯会社でも土方でも何でも解析してみることに意味があり、それによって新たな関係性がみえてくることがあります。そのためビッグデータ解析はどの企業においても重要で注目されつつあります。

 

なのでみなさん、データ解析は今後流行るかもしれません!一緒に学習していきましょう。もう少ししたらお勧めの教科書など紹介できたらなと思います。ありがとうございました。

機械学習とは

これに関してはいい加減に書くと先生に激怒されるのですが(このブログが見つかっていないことを祈る)この説明は調べたほうがわかりやすいかもしれません。でも調べるのめんどくさかったり、噛み砕いたらどんな説明が来るんだろう、わくわく的な人のために頑張ってわかりやすく書いてみます。

 

長くなりそうなので、1行で簡単に説明してあとからつらつら説明します。機械学習とは人間が行っていることを機械にもさせることです。以上です、読むのだるい人はここまでで十分です(笑)ここから先は少しマニアックな話になります。まず、学習とは何かということから説明に入ります。

 

学習という言葉を聞くと何を思い浮かべるでしょう?勉強だったり何かを覚えたりすることだったり様々だと思います。実際に学習とは何か説明しろと言われると難しい気がします、実際私は先生に何度も聞かれて何度も適当な回答をしていました。じゃあここでは正確な回答が出てくるのかなって思われるかもしれませんが、私の能力の低さゆえ正確には言えないですし何が正確かわかりません。なので勉強して言える範囲で言っていきます。

 

学習とは経験や出来事から何か物事を覚えて、それらを用いて新たな知識を獲得すること

だと思っています。と、いうより機械学習の分野ではこのように答えておけばある程度はあっているかと思います...学習とはまず初めに何かを記憶します。それは過去の経験であったり、今現在習得しているもの何でもだいじょうぶです。それらによって得た知識を活用してさらに新しい知識を獲得します。これが学習です。例えばりんごを食べているとします。その段階では何の知識もないとします。そしてそれをリンゴだと思います。りんごという知識を得てからほかのリンゴでないものを食べます。するとその食べたものはリンゴではないという新たな知識を獲得することができます。このように今ある知識を用いて新たな知識を得ていくことが学習の一つです。

 

この学習を機械にやらせようという試みが機械学習です。機械にもある知識を与えてそれらを用いて学習をさせます。すると新しい知識を得ることができる可能性があります。ここまで読んだ人なら最後まで読んでくれると信じて書いていきます。ではなぜ機械学習を行うのか、そもそも人間のほうが学習能力が優れていますし機械に学習をさせるには制約条件などさまざまな設定が必要になり大変になります。では機械に学習させるメリットはなんのなのか、多分いろいろあると思いますが一番の利益はデータ量だと思っています。人間には処理しきれない膨大なデータもルールさえ機械に覚えさせてしまえば人間と比較にならないほどの速さで処理をすることができます。そのために機械学習をさせる試みがあります。

 

ここまで読めば機械学習は機械に知識を与えて新たな知識を獲得してもらう、なぜ機械にやらせるかというとデータがありすぎるから。ということが分かってもらえたと思います。機械学習って面白そうだなーって思えていただけたら幸いです。が、そんな甘い世界じゃないんです。私も初めは機械学習楽しそう、わくわく的な人だったのですが蓋を開けてみるととんでもない数学の世界です。でもそれはまた別の機会で!どうもありがとうございました。

データ解析とは

まぁみなさん聞いたことはあると思います、データ解析という言葉自体は。しかし実際にはどのようなことを行っているのか疑問な方が多い(?)と思います。なのでここである有名な話を載せます。

「木曜日の夕方、スーパーマーケットで紙おむつを買う人はビールも買うことが多い」
⇒紙おむつの近くにビールをおけば売り上げが上がる

という話があります。調べたらすぐに出てくるビッグデータ解析の有名な話です。これはどういうことかというと、紙おむつはかさばるので父親が買いに行かされることが多く、そのついでに週末に飲むビールを買うことが多いという説明があります。普通に考えたら木曜日・紙おむつ・ビールの3つは相関性が低いように感じられますが、購買データを解析するとこのようなデータがあるのです。

つまりデータ解析とは与えられたデータを調べてみたら、何か見つかったぜ!的なこと”も”意味します。おそらくデータ解析といえばさまざまなことがあるでしょうが、私の分野は機械学習なので与えられたデータから解析するということに重点を置いておきます。

 

またデータ解析の例として適切かは微妙なんですが、例えば天気予報を考えてみてください。昔は何も天気を予報する技術はありませんでした。そして手元には気温と天気のデータがたくさんありました。毎日そのデータを記録していました。そんな時、ある人は考えるでしょう。次の日の天気や気温が推測できたら便利ではないかと。それらを推測するために用いるのはもちろん今までの気温や天気のデータです。それらを用いればもしかしたら次の日の天気を推定することができます。これもデータ解析というのかな、統計の一種みたいにも感じます。

しかしそれでは統計の一種なので、更に発展させてこの天気を作っている大元の何かがあるのではないかと考えます。その大元がわかれば今後どんな天気になるのかが分かります。天気予報は詳しくないので、適当に言いますが、昔の人は天気を生み出している大元が雲や風の流れだと発見しました。それらを見つけるために用いたものはもちろん日々のデータです。天気予報を行うにも始めはデータ解析から入ったと考えられます。

もしこれらを応用させることができたら、今までの地震のデータを用いて次にいつ地震が来るかなども推測することができます。購買データなんかも、明日はこれとこれがよく売れるなどと推測することができます。

データさえあれば、何かができる。それがデータ解析だと私は思っています。とまぁごちゃごちゃ説明したのですが、つまりは手元にあるデータを有効に使おうねってことです、以上(笑)

はじめまして

どーも、よく来てくれました!

まず私自身ですが、データサイエンティストなどとカッコつけて言っているのですが、研究生のペーペーです。ただカッコつけていっただけです、ごめんなさい(笑)

まず私の能力の低さからお話しします。

活字が苦手

これに尽きますね。もはやそれでは何もできませんが... でも勉強ってやっぱり文章から入るんですよね。特にデータ解析なんかは文章ばっかりで私なんかにとってはとてもとても大変です。何よりも大変なのは

データ解析の内容が難しい

まぁ私だけかもしれませんが、そう感じます。でもどの分野の研究も深いところまで行けば難しいものだと思います。ただこの分野はホント最近出てきたばかりで、論文も難しいものばかり。卒業論文を書くのにも苦労をしました。そんなこんなで少しでも噛み砕いて説明してあげることができたら幸いです。しかしこれまでの文章で分かった通り国語力がかなり欠けています、よってつたらわないかもしれませんwその時はまたググってほかのところで探してください(笑)質問来れば答えられる範囲で答えます。

そんなこんなでデータ解析についてだれっでも分かりやすく説明していくつもりなので、もし知りたいことが記事にあったら少し見てください。能力の低い私が理解できることまではみなさんも理解できると思います。データ解析を勉強する方、ともに頑張りましょう!