かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

マイナー言語の手書き文字の認識させたい

 以前にTesseract-OCRをちょっと触ったのだけど、そのままほったらかしていて、ちょっときっかけがあったのでまずは調査。

nameuntitled.hatenablog.com

 

Tesseract-OCRでは、1行の印刷された文字の認識だったが、手書きの書類を認識させたい。それでちょっと調べました。これはOCRというくくりになるらしい。処理の流れは、レイアウト解析、行の切り出し、文字領域の切り出し、文字の認識となる。そして最初のレイアウト解析がけっこう肝らしい。

文字の読み取り・認識技術 | OCR技術解説 | メディアドライブ

teru0rc4.hatenablog.com

 

レイアウト解析はあまり情報が公開されてないのだけど、Pythonのレイアウト解析、文字認識(フォント文字)のプロジェクトがある。これを使って何とかできないだろうか、、、。

github.com

 

手書き文字認識はこのスライドが参考になりそう。認識させたいのはラオス語で、母音字と子音字を組み合わせて描くので、母音と子音の組み合わせを1まとまりとして認識させた方が良さそうな気がする。

www.slideshare.net

 

この分野で詳しい方いたら進め方についてアドバイスいただけませんか?

 

ちなみに手書き文字認識にはオンライン認識とオフライン認識があるそうな。オンラインは手で書いている筆順なども手掛かりに解析を行い、オフラインは画像情報だけで解析するんだそうな。

手書き文字認識 - Wikipedia

社会人のためのデータサイエンス入門 第3週 比率の見方、時系列データの見方

比率の見方

母数の異なるデータを比較する時は母数が違うので実際の数をそのまま比較することができない。例えば、県内に住む男女の数を全都道府県で比較する、GNPを国で比較するといった場合などである。もちろん男女の数は大都市が多いだろうし、GNPは国民の数を無視すると偏った結果になる。県民の数が同じだったらいいけど、そんなことは期待できない。そこで一般的には比率を計算しその比率を比較する。上の例で言うと、県ごとの男女比を出す、国民一人当たりの総生産を出すなどする。

この比率には、構成比と相対比の2種類がある。構成比は、全体のうちの割合を計算するもので、分母と分子が同じ単位である。県内の住民数と女性の数は両方とも人数である。一方で、相対比は、別の基準に対する割合で、分母と分子の単位が異なる。GNPは金額、国民の数は人数である。

どちらで計算するのがよいか考えた上で選ぶ。

時系列データの見方

時系列データにはストックデータとフローデータがある。講師が例として挙げていたのは、お風呂のお湯。たまっているお湯の量がストックデータ、蛇口から1分間に出るお湯の量がフローデータとのこと。例としては携帯の保有率がストックデータ、携帯の契約成立数がフローデータである。別の言葉で言うと、ストックデータは状態の数字、フローデータはイベントの数字かなと思う。

時系列データの2つの変数に相関があるという場合、片方の変化と同時にもう片方にも変化が現れる同時相関と、片方の変化の後しばらくしてもう片方に変化が現れる相互相関がある。

 過去のデータを元に将来の値を推測することを時系列予測という。時系列予測には多項式回帰と自己回帰モデルによる予測の2種類があるらしいのだがググる自己回帰モデルばかり出てくる。自己回帰モデルは、1つ前のデータをインプットにして次を計算してという形で再帰的に計算するっぽい。多項式回帰はちょっとググっただけでは分からないけど、資料とかを見るに多項式回帰では過去のデータから大まかなトレンドを算出して予測する物らしい。
ちょっとここはもう少し調べたい。

社会人のためのデータサイエンス入門 第2週 標本分布

www.stat.go.jp

 

統計では対象すべてを調べる全数調査と一部のみ選んで調べる標本調査がある。この全数調査ではすべての対象をとらえることができるが、標本調査では母集団の一部だけのため、偏った一部のみを抜き出してしまう可能性がある。そうすると標本のデータは信用できないということになって困ってしまう。そこで標本を何度も取った場合のデータをまた分布として想定する。この分布は正規分布になり、誤差が計算できるため、標本の平均から母数の平均が計算できる。

眠いと人に優しくなれない。もう少ししたら寝ます。おやすみなさい。

f:id:name_untitled:20180614221002j:plain

Photo by Krista Mangulsone on Unsplash

この間の状態がまだ続いている。

nameuntitled.hatenablog.com

ブログを書くのとともに、仕事や雑用をやってて寝るのが12時半とかになるのがこの1週間続いてる。それでふと気づくと何か、億劫に感じたり、被害妄想になりがちな気がしている。同僚が悩んでるときにアドバイスするのがちょっと遅かったり、自分ばかり頑張ってるのに他の人は認めてくれないような気がしたり。これは早く気付けて良かったが、このまま行くとけっこう危なかった。

気付くポイントとしては、気になることとかについて前にもこんなことあったかな、認めてくれないような気がするけど、何でそう思うのか、そういう状況にいるのは本当に自分だけかな、とちょっと考えてたら大分客観的に考えられました。

という訳でまずは睡眠を確保します。11時過ぎまでは起きてると思うけど、とりあえずおやすみなさい。 

アメリカ人の1日のデータ可視化が面白かった。

ツイッターで、@readymadegogo 松田直樹さんの発表についてツイートが流れてきて、最近SVG面白そうだなと思っていたので、ちょっと発表資料とかググってたら思っていたのを越えて面白そう。Visualizationに興味あったけど、データのアニメーションとか色々とキーワードが出てきて仕事にならない。まずは松田さんの紹介するこのサイトを見てみてほしい。

f:id:name_untitled:20180613221030p:plain

A Day in the Life of Americans | FlowingData

speakerdeck.com

そして、これがその松田さんの発表資料。

今まであまり知らなかったけどこの分野色々と出来そう。そして、SVGJavascriptで色々出来るならデザイナ、クリエーターでなくてもちょっと面白いもの作れそう!

後で自分が見るように松田さんの2年前?の発表動画のリンクを貼っておく。

vimeo.com

 

あと、上の可視化のサイトは独立の団体?か何かで、月$11ドルとかでチュートリアルとか見れるらしい。これもすごく良さそう。サイトを覗くだけでも色んなグラフが出てきて面白い。

flowingdata.com

あと、松田さんの紹介するSVGアニメーションのライブラリ、Tween.jsのShowcaseのサイトも面白い。名前がGreensockなのかTweenなのかよく分からんけど。

greensock.com

社会人のためのデータサイエンス入門 第2週 回帰分析

2種類以上のデータの間の関係を読み取る方法を回帰分析という。

予測したい値のことを目的変数、分かっている値を説明変数という。

平たく言うとY=aX+bの式を求めること。

 

例えば降雨量を予想するのに、気圧、風速、湿度が影響すると考える。

湿度から降雨量を予想する場合、湿度を説明変数、降雨量を目的変数といい、説明変数が1つなので、単回帰分析と呼ぶ。この場合は2次元のグラフ上に点の一番真ん中を通るように直線を引く。このY軸の時の値のことを切片、変化の度合いを傾きという。

https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Normdist_regression.png/300px-Normdist_regression.png

回帰分析 - Wikipedia

 

一方、気圧、湿度から降雨量を予想する場合、気圧、湿度が説明変数、降雨量が目的変数となり、説明変数が2つなので重回帰分析と呼ぶ。この場合では3次元のグラフを書き、点の一番真ん中を通る平面を求める。

基本は曲線、曲面ではなく、直線、平面らしい。なぜかは説明がなかったが、なんとなく平面の方が計算しやすいからなのではないかと思っている。曲線を求めることもあるらしい。

この線はきれいに引けない場合もあるため、どれだけずれが出ているかを確認する必要がある。求め方としては予測値と目的変数との差を2乗してデータの個数で割るという手順で、この値を残差二乗の平均という。

この回帰分析による予測値がない場合は指標となる数値は平均しかないため、平均値と実際の値との差を2乗してデータの個数で割って、残差の二乗を求める。

2つの変数の間に関係があれば、平均よりもうまく説明できるはずなので、回帰分析による予測値の残差の二乗の平均と、平均による予測値の残差の二乗の平均を比べると、誤差は回帰分析の方が少ないはずで、回帰分析による予測値の残差の二乗の平均の方が小さくなるはずである。

ただ、これは単位や用いる値によって大きさが変わるため、様々なデータで説明できている度合を統一的に比較する際に障害となる。このため、どれだけ点を説明できるかという指標を利用する。これを決定係数という。

決定計数とは、

(平均の残差の二乗の平均ー回帰分析の予測値の二乗の平均)÷平均の残差の二乗の平均
で求められる。

誤差が0ならば回帰分析の残差の二乗の平均も0になるはずで、そうすると、

平均の残差の二乗の平均÷平均の残差の二乗の平均

となり、決定計数は1となる。

 

一般的にはそんなことはないので、0~1の間となるらしい、とここまで書いて、完全に説明できたら1だけど、そうじゃなかったらマイナスにならんかな、と思ったのでもうひと調べ。どうやら、マイナスもなくはないそうだ。回帰分析の結果として出てきた予測だから平均よりかはちょっとはましだろうということだろうか。

sites.google.com

 

残差のイメージについては以下のサイトの絵が分かりやすい。

www.albert2005.co.jp

講演会に行ってきました。(Rochelle Kopp: 自分の組織でチェンジメーカー(変革を起こす人)になる方法)

今日はこのイベントに行ってきました。

codechrysalis.connpass.com

 

今日の講演の動画はFacebookで公開されてました。詳しい内容はこちらを↓。

www.facebook.com

スライドも共有していただきました。

www.slideshare.net

 

 

テーマは自分の組織で変革を起こすにはどうしたら良いかというもの。頭に残ったことをメモしておく。

組織の文化を変える手順は、Unfreeze→Change→Freezeするということ。最後にFreezeするのは変革を定着させるために必要。

より細かい手順では以下の8つのステップで進める。

1.危機意識を高める

2.変革推進のための連帯チームを作る

3.ビジョンと戦略を生み出す

4.変革のためのビジョンを周知徹底する

5.従業員の自発を促す

6.短期的成果を実現する

7.成果を生かして、さらなる変革を推進する

8.新しい方法を企業文化に定着させる

もし、5.で副作用が起きた場合は、一度改革を止めて原因を分析して、対策を行い、もう一度取り組むと良い。

Nothing succeed like a success.

成功事例が大事。成功したらそれが文化になる。

組織のトップから変革を起こしたい場合は、戦略を具体的なものに落とし込む必要がある。逆に、下から変革を起こしたい場合は危機感の共有が必要で、それが難しい場合は、先にチームで6.の短期的成果を生み出してそれを元に推進する。

重要なのは一人で抱え込まずに他人を巻き込むこと。また、今まではダメというのではなく、今までを元にさらに良くするという考え方で行う。今までの良いところをはっきりさせると、大事なところは変えないというのを示しやすい。

感想としては、自分の会社では、3.ビジョンと戦略を生み出す、4.変革のためのビジョンを周知徹底するの2点をもっと進めたい。今は危機感の共有は出来ているけど目指す姿が共有出来ていなくて、ベクトルが分散している感じ。

もう1つロシェルさんの言葉ではっとしたのは、危機意識を高めるには、現実に何が起きているかを知るのが大事、Get out of the building、現地・現物で確認するということ。お客、ターゲットのところに行って何が起きているかをしっかり観察すること。

言葉では分かってたけど、出来てなかったなぁ、、、。スキルアップなどの準備は考えていたけど現場にアプローチするまではやれていなかった。

 

参考リンクを追記

レヴィンとコッターの変革モデル

globis.jp

コッターの8段階の変革モデル

globis.jp