ナイーブ な 考え は 捨てろ。 ナイーブベイズについて勉強したのでざっくりまとめ

ナイーブベイズについて勉強したのでざっくりまとめ

ナイーブ な 考え は 捨てろ

概要 近年、機械学習が話題となっており、その多くは画像系、コンピュータビジョン領域のものに分類される。 一方で自然言語処理も機械学習が対象とするタスクであり、様々な実験がされているものの、まだ画像分野に比べると実用化できるレベルは限られている。 AIで自然言語というと文章を自動に生成したり、文章の意味を理解し要約する機能を思い浮かべがちだが、この分野はまだまだ発展段階である。 今回は自然言語処理の中でも比較的容易なタスクである文章のジャンルの推測について紹介をする。 ナイーブベイズ分類器とは 別名、単純ベイズ分類器。 トピックモデルで有名なLDAは教師なし学習であるが、ナイーブベイズは教師あり学習であり事前に教師データを集める必要がある点に注意する。 ナイーブベイズ分類器は、ベイズの定理を基に作られる分類器であるが、名前の通り一部条件を単純化して分類を行うという特徴がある。 ベイズの定理 ベイズの定理より以下のことが言える。 適用 これを自然言語処理的に置き換えると以下のようになる。 左辺P cat doc はあるドキュメント 文章 があるとき、その文章があるカテゴリー ジャンル に属する確率であり、今回求めるべき値である。 右辺P cat はあるカテゴリー ジャンル が起こりうる確率。 例えば全体で50000単語あるうち、スポーツに関連する単語が10000単語であれば、0. 2となる。 そして右辺P doc cat は、ナイーブベイズの特徴の一つである独立性仮定を使用して変換する必要がある。 独立性仮定 自然言語処理ではマルコフ仮定に代表されるように、前後の関係を考慮することが一般的である。 例えば、「魚」という単語があったとき、後ろに続く単語は「食べる」だったり「釣る」「買う」といった単語が一般的であり、「借りる」や「走る」といった単語は続かないと予測される。 人間の場合にも、聞き取れない単語があった場合に前後の文脈から単語を推測することはよく行われる。 機械的な処理を行う場合にも前後の単語を見ることで、自然言語処理の精度向上に取り組むことは一般的だが、ナイーブベイズ分類器では単純化のため 前後の文脈を無視して考える。 すなわちドキュメント 文章 を単純な単語の集まりだと考え、かつ文章の生成される確率を各単語の確立を、独立に掛け合わせたものだと考える。 そして以下の式を導く。 仮に過去の野球記事とサッカー記事があったとし、量の割合が野球記事4割、サッカー記事6割とする。 そしてこれを学習に使用しナイーブベイズ分類器を学習させる。 次に「ゴールキーパーがボールをキャッチする」という文章が野球,サッカーどちらのジャンルに当たるか推論する。 人間が見た場合、これはサッカーに関する文章だと推測できるが、ナイーブベイズで考えるときには確率計算を行う必要がある。 右辺第二項のP cat はカテゴリー ジャンル の割合で、以下のようになる。 6 次に右辺第一項です。 教師データの 野球記事の中での単語の出現頻度が 単語 確率 ゴールキーパー 0. 0001 ボール 0. 2 キャッチ 0. 03 一方、 サッカー記事の中での単語の出現頻度が 単語 確率 ゴールキーパー 0. 01 ボール 0. 2 キャッチ 0. 01 であるものとして計算する。 ジャンルの推測結果 P cat doc の計算• 「ゴールキーパーがボールをキャッチする」が野球に分類される確率• 0001x0. 2x0. 03 x0. 「ゴールキーパーがボールをキャッチする」がサッカーに分類される確率• 01x0. 2x0. 01 x0. テスト 今回はスポーツに関係する文章を入力した際に、以下4種類のスポーツのどれに近いかをジャンル推定する。 サッカー• バレーボール• バスケットボール 事前準備 各ジャンルの文章を事前に準備しBOW、すなわち単語群に変換しておく。 なお単語群生成にはMeCabがおすすめ。 サッカー• "ボール バッド グローブ ストライク アウト"• "ボール バッド グローブ ストライク アウト"• バレーボール• "ボール トス レシーブ スパイク ブロック"• バスケットボール• "ボール レイアップ ダンク ピポッド フェイク" モデル ナイーブベイズでは大きく3つのモデルがある• gaussianNB 正規分布に従っていることを前提としたモデル。 文章分類には適さない• multinomialNB 事象の出現回数を特徴量として捉える。 TFIDFと相性がいい• bernoullNB 事象が起こったor起こってないの2値分類に適している 学習 ナイーブベイズ分類器はscikit-learnを使用することで簡単に実装が可能。 from sklearn. 0 ナイーブベイズ分類は教師あり学習であるため、各文章とその文章のジャンルを分類器に与えて覚えさせる必要がある。 なおここで言う文章とは単語群であることに注意。 単語群が、何のジャンルで使われた単語群かをベクトルで表現する必要がある。 各単語とその単語が所属するジャンルはこれらのベクトルを使った形で表現する。

次の

「いいものを作れば売れるというナイーブな考えは捨てろ」

ナイーブ な 考え は 捨てろ

映像研には手を出すな! 第09話 「コメットAを目指せ!」 良いものならば売れるなどというナイーブな考えは捨てろ ロボットアニメをヒットさせた映像研の次なる目標はなるほど町おこしアニメ。 まぁ町と言うよりは商店街レベルの小さな話なのだが今まで学校内での部活動と比べると金も期待値もグンと上がってきたなーと。 実際それなりの企業がそれなりの予算と人員を使ってやってもおかしくない規模の話になっているのだが相変わらずメイン戦力は映像研の2人だけと言う。 4~5ヶ月くらいは余裕あるし若さゆえの体力と時間を考慮しても実質2人で30分アニメ1本はどだい無理なのではないだろうか…。 美術部のサポートだって同じくらいの人数だろうしせめて今の3倍は人がほしいような。 どこへ向かう映像研。 ことスケジュールや金の問題については今回悲しき過去…が明かされた金森氏がまとめて引き受けるとしてもかつてない規模だし色々問題が起きそうではある。 その一方で作り手のモチベーションと言うか創作意欲は過去最大級のものになっているしこれをうまく操作したらなかなかの傑作ができそうな予感。 浅草氏は監督や脚本家と言うより演出家の才能があったか…。 その道のプロフェッショナルが集まって何か大きな事を成すのはやはり見ていて面白い。 群れなせ! 学園 第09話 「動物生態伝」 またの影が薄くなっている。 そんな前半はパンダ娘とメガネザルの微笑ましい友情物語。 メガネザルがストレスに極体に弱い体質なだけで。 動物にストレス与えるとたまに奇行に走るのはいるけど自殺するってのはなかなかに壮絶な生態だな…。 単に目がデカいだけのモンキーかと思ったら思った以上に繊細な生き物で。 繊細って扱いで良いのだろうかこれ。 珍しく主人公による人の叡智無しで話が進んだ珍しいパターンだったなーと。 のおかげではある。 後半は生徒会長回リターンズ。 部員外のサブキャラの割に結構目立つ…と言うか美味しいポジションもらっててなかなかにあざとい脱衣ネズミだこと。 内容的には何やら勝手に悩んで勝手に生徒会長押し付けようとしてたけど生徒の声を聞いて文字通り身も心も軽やかになった割と自分勝手な話だこれ。 まぁやってることは立派だし生徒からも好かれているし悪い子ではないのだろうが。 ただ服を着たくない生態なだけで。 いや別にってそういう生き物じゃない気がするけど。 今日の独り言 そう言えばリメイクやってみたのだが…。 映像は確かに圧巻なのだが個人的にはあの手のアクション??みたいなものは酔いやすいのでちょっと苦手。 まぁと言いつつ別に飛んだりはねたりして敵の攻撃を避ける系のゲームではないのだが。 要素強めと言うか。 あと体験版だからなのかなんなのか、敵がかなり強かったのが気になるところ。 ガードンに負けるところだった。 最近のソシャゲガチャ運の反動かびっくりするくらい大爆死。 天井まで行ったわけではないがコミュ石が枯渇してしまった。 出来れば凪か千夜のどちらかが欲しいところではあるのだが…特訓石を稼ぐべきか。 かなり面倒だが。 プリコネにある石を全部移したい。 待望のナルメアよりバブさんの方が操作しやすかったと言う。 ナルメアは構えで単純に操作量2倍だからちょっとMURIDESU。 こいつはりんごろう。

次の

体力消費も2倍

ナイーブ な 考え は 捨てろ

自然言語処理のおいて、迷惑メールの識別などで有名なナイーブベイズを用いた、テキストデータの識別手法について、実装・解説します。 本シリーズでは、Pythonを使用して機械学習を実装する方法を解説します。 各アルゴリズムの数式だけでなく、その心、意図を解説していきたいと考えています。 ナイーブベイズは、以下のscikit-learnマップの黒矢印に対応します。 今回扱うデータはlivedoorのニュースコーパスから取得した7367個のニュース記事です。 各ニュースは、トピックニュース、Sports Watch、ITライフハック、家電チャネル、MOVIE ENTER、独女通信、エスマックス、livedoor HOMME、Peachyの9カテゴリのいずれかに属しています。 今回やりたいことは、このニュース記事を学習データとテストデータに分けて、ナイーブベイズにより識別器を作成し、テストデータのニュース記事を入力したときに、そのニュース記事が9つのカテゴリのどれに属するのかを判定することです。 そのためには、時系列データのように、テキストデータを扱いやすい数値データへと変換する必要があります。 そこで今回はまず、テキストデータを名詞や動詞、形容詞、助詞などに分けます。 これを形態素解析や、分かち書きと呼びます。 次に学習データの各単語をナンバリングしていきます。 そして各ニュース記事に対して、記事内でのそれぞれの単語の出現数を要素に持つベクトルを生成します。 もし学習データに含まれる単語の数が1万個であれば、1万次元のベクトルとなり、その単語が出現した回数が格納されます。 最後に、この1万次元のベクトルたちをナイーブベイズで分類するという流れを行います。 from janome. append w res. wakati" if os. path. path. append cnt Y. read. path. MultinominalNBはナイーブベイズ手法のうちの多項分布を使用したナイーブベイズを指定しています。 alphaは学習時に出てこなかった単語が、テストデータの記事に出てきたときに、生成確率が0になるのを避けるための調整パラメータです。 ちょっと分かりにくいですが、学習データ全てに、「機械学習」という言葉が一切出てこなかった場合に、テストデータに「機械学習」が入った文章はどのクラスに属する確率も0になってしまいます。 それを避けるための微小値です。 今はTrueなので、偏りがあった場合に考慮しています。 ナイーブベイズの心 正確な情報は以下をご覧ください。 英語のnaiveにはそういう意味もあります。 何に対して先入観がないかというと、 「特徴ベクトルの各要素間に事前知識がなく独立だと仮定する」という意味です。 ちょっと難しくなったので丁寧に説明します。 いまテキスト分類において、文章が単語ごとのベクトルになっています。 ベクトルの要素(各次元)はひとつの単語を現しています。 もしニュースのなかでiPhoneという単語があったとすると、Appleという単語も同じニュースの中で出てくる確率が高いと思われます。 それは私たちがiPhoneはAppleが作っているという事前知識を持っているからです。 こうした事前知識を考慮せず、iPhoneという単語があろうと、なかろうと、同じニュースのなかで、Appleという単語が出現する確率は同じである (つまりiPhoneとAppleという単語は独立である) と仮定することがナイーブベイズのnaiveの意味するところです。 これさえ分かれば、あとはニュース記事をベイズ推定に従って分類するだけです。 ベイズ推定とか難しそうですが、今回の多項分布の場合はとても単純です。 例えばラベル1の学習データにiPhoneという言葉が15回出現し、ラベル2では5回だったとします。 これを全部の単語について掛け算して、テストデータの記事がどのラベルに属しているっぽいかを判定します。 そのときに、1度も出てきたことがない単語があると、確率0が掛け算されてしまうので、全部のクラスで全部の単語に対して、alphaだけ、出現回数を足しておきます。 式を使って説明しているページでは以下の記事が分かりやすいです。 次回は、識別器のパラメータチューニングと識別結果の解析手法について解説します。 著者名:すぐる 機械学習やAIのプログラミング、ビジネスや人材育成に関して、私見をつづります。 脳科学、心理学、IT、機械学習を駆使し、「論語とAI」を合言葉に、人と組織の成長を科学しています。 高専および大学・工学部でSTEM教育を受け、脳科学の分野で博士号を取得しました。 その後、特任研究員として大学で研究や学生教育にたずさわり、現在は民間企業のIT・AI分野で働いております。 【連絡先】 mail. neuroeducator gmail. com 【ブログランキング】 人気記事• 3,160ビュー• 1,211ビュー• 843ビュー• 765ビュー• 733ビュー• 685ビュー• 669ビュー• 656ビュー• 645ビュー• 565ビュー.

次の