ゆったりまったりのーんびり -3ページ目

ゆったりまったりのーんびり

自由に書いていきます。

久しぶりに書きました。

 

明日は久しぶりのTOEIC...

新形式になってから初受験なのに。。何も対策をせずに過ごしてしまいましたガーン

 

受験だけとりあえず頑張って受けますメラメラ

直後に次回への対策を練ろうと思いますメラメラメラメラメラメラ

 

みなさん頑張りましょう!!

 

 

 

言語処理のための機械学習入門をざっとまとめたりして過ごしていました。



この章で紹介されること:

最適化問題
確率論
情報理論
1.1 準備

[文の構造を明らかにするタスク]

単語分割(word segmentation): 与えられた文を単語に分割

品詞タグ付け(part-of-speech tagging): 文中の単語の品詞を推定

構文解析(syntactic parsing): 文の構文的な構造を推定

[その他]

文書分類(text classification): 与えられた文書に対して、適切なクラスを決定

その他、照応解析、質問応答、機械翻訳、等



事例(instance)・・・それぞれのタスクでの対象の処理単位

コーパス(corpus)・・・言語の様々な形の用例の集まり



1.2 最適化問題

最適化問題(optimization problem):

ある制約のもとで関数を最適化する変数値とその関数値を求める問題

目的関数(objective function): 最適化したい関数

最適解(optimal solution): 最適値を与える変数値



[制約について]

不等式制約(inequality constraint): e.g. $ g(x) \geq 0 $

等式制約(equality constraint): e.g. $ h(x)=0 $

実行可能解(feasible solution): 制約を満たす解のこと

実行可能領域(feasible region): 実行可能解の集合

閉形式(closed-form): 加減乗除や初等関数の合成関数による解の表し方

閉形式の解が得られる問題を解析的に解ける(analytically solvable)問題という。



[凸計画問題(convex programming problem)]

凸計画問題では、目的関数の値が改善する方向に進んでいけば解にたどりつく

=> 解きたい問題を凸計画問題で表すことができれば、問題解決へ大躍進とのこと



1.2.1 凸集合と凸関数

[凸集合(convex set)とは?]

任意の $ x^{(1)} \in A $と $ x^{(2)} \in A $ があったとき、任意の $ t \in [0,1] $ に対して$ tx^{(1)}+(1-t)x^{(2)} \in A $ が成り立つこと。

直感的にいえば「へこみのない集合」

>空間内の立方体とか凸集合なイメージだね、と誰かと話していた気がする。



[凸性について]

凹関数(concave function): 下に凸な関数 e.g. $ f(x)=-x^{2} $

凸関数(convex function): 上に凸な関数 e.g. $ f(x)=x^{2} $

=>「上に凸である」とは?

関数上の任意の2点を結ぶ線分が常にグラフの下もしくは同じ高さにあること。

=> 任意の$ x^{(1)},x^{(2)} \in R^{d} $ 、任意の $ t \in [0,1] $ に対し、$ f(tx^{(1)}+(1-t)x^{(2)}) \geq tf(x^{(1)})+(1-t)f(x^{(2)}) $ が成立すること。

※凸集合は集合としてへこみがないものだったけど、凸な関数はその値についてへこみがない関数、とのこと。だけども上下逆なだけなので、両方とも凸関数と表現されることもあるらしい。

※ここでいう凸関数および凹関数はスカラー値関数に対してのみ定義されうる。



凸関数であるための1次の条件(first-order convexity condition)は、任意の $ x^{(1)},x^{(2)} \in R $ について、$ f(x^{(2)})-f(x^{(1)}) \leq \frac{\partial f(x^{(1)})}{\partial x}(x^{(2)}-x^{(1)}) $ が成り立つこと。

凸関数である為の2次の条件(second-order convexity condition)は、1変数関数の場合は、2階微分$ f''(x) $ が常に負または0であることだが、多変数関数の場合も、2階微分が負ならば上に凸になる。

色々な変数の組についての微分を、ヘッセ行列(Hessian)$ H_{x} $ でまとめて表す。多変数関数の場合、それぞれの2階微分が負である必要は無く、ヘッセ行列が負であれば上に凸である。

=>行列の「正負」とは?

☆0または正: 行列が半正定値(positive semi-definite)

行列$nxn$行列$M$が半正定値であるとは、任意の$n$次元ベクトル$x$について$x^{T}Mx \geq 0$が成り立つこと。

☆0または負: 行列が半負定値(negative semi-definite)

行列$nxn$行列$M$が半負定値であるとは、任意の$n$次元ベクトル$x$について$x^{T}Mx \leq 0$が成り立つこと。



関数が

下に凸であるための必要十分条件: ヘッセ行列が半正定値であること

上に凸であるための必要十分条件: ヘッセ行列が半負定値であること



P.11の下の方の説明がよくわからず、2次元のヘッセ行列とかシンプルなのを考えてみた。任意のn次元ベクトル$(n_{1},....n_{n})$、という設定から考えると結局$n_{i}^{2}×f''_{i}(x_{i})$の和になる。(※$n_{i}$の2乗とのかけ算ってところは、次元数nが増えても行列式の計算考えると一緒。)その和が常に正なのか負なのかを考えたときに、$n_{i}^{2}$はいつも正の値を取ること等を考えると、$f''_{i}(x_{i})$のどれかが正だったり負だったりバラバラだと、多変数関数が上に凸か下に凸かは決まらないんだろうな。と勝手に考えたりして過ごしてました。



演習付いてて素敵な本です。ぜひ。

言語処理のための機械学習入門 (自然言語処理シリーズ)/コロナ社

¥3,024
Amazon.co.jp

言語処理のための機械学習入門 [ 高村大也 ]

¥3,024
楽天

ほったらかし更新。

辞書に単語登録したいなーと思いながらぐずぐずしていたので、やってみることにした。
現状、「もこもこした泡になります」をMeCabたんに与えると、


もこもこした泡になります
も 助詞,係助詞,*,*,*,*,も,モ,モ
こ 名詞,一般,*,*,*,*,こ,コ,コ
も 助詞,係助詞,*,*,*,*,も,モ,モ
こし 動詞,自立,*,*,五段・サ行,連用形,こす,コシ,コシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
泡 名詞,一般,*,*,*,*,泡,アワ,アワ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なり 動詞,自立,*,*,五段・ラ行,連用形,なる,ナリ,ナリ
ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
EOS



「つるつる」は副詞扱いなのに、もこもこはダメらしい。
ということで「もこもこ」を登録しよう!
どうやらシステム辞書とユーザ辞書のようなものがあるらしいけれど、
遅くなるの嫌なのでシステム辞書に追加することにした。

C:\Program Files\MeCab\dic\ipadic の下にあるcsvファイルがたくさんあったのを思い出して、そこに移動してみると、綺麗に品詞ごとに分かれていらっしゃる!素敵ですね。私のような雑な人間だとゴチャゴチャさせてしまうだろうに・・・。

そして今回は副詞に追加したかったので、「Adverb.csv」を開いて、以下のように追加した。


もこもこ,1281,1281,6000,副詞,一般,*,*,*,*,もこもこ,モコモコ,モコモコ


4番目の6000っていう数字は小さけりゃ小さいだけ頻出するぞってことらしい(単語の追加方法)ので、とりあえず副詞「つるつる」のコストが6000くらいだったので、おんなじくらいにしてみた。

C:\Program Files\MeCab\binにパスが通っている状態で、コマンドプロンプト上で以下のように実行するとMeCabインストールフォルダの直下に「sys.dic」ができる。


C:\>mecab-dict-index -d"C:\Program Files\MeCab\dic\ipadic" -f shift-jis -t shift-jis


「C:\>」は、単に私がいたフォルダがCのすぐ下だったからですが、これでsys.dicが出来上がるので、C:\Program Files\MeCab\dic\ipadicの下にある、もともとあった「sys.dic」に新しいものを上書きしてしまうのはビビリな私には重すぎる任務なので、もともとあったやつを「_sys.dic」とかに名前変更して取っておいて、出来上がったMeCabフォルダにあるsys.dicをipadicの下に移動。

sys.dicを移動した後、MeCabたんをさっきと同じ文書で実行してみる。


もこもこした泡になります
もこもこ 副詞,一般,*,*,*,*,もこもこ,モコモコ,モコモコ
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
泡 名詞,一般,*,*,*,*,泡,アワ,アワ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なり 動詞,自立,*,*,五段・ラ行,連用形,なる,ナリ,ナリ
ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
EOS



わーい♪
もこもこがぶち切れずにすんだ♪♪