ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

お掃除ロボットにも監視が必要!

2019-02-13 08:33:09 | Weblog
さぼりはしないんだけど、危険がいっぱい!

ロボット掃除機がストーブ押す、火災に注意 東京消防庁
https://www.asahi.com/articles/ASM284PQZM28UTIL01C.html

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

プログラムを書く「リズム」を楽しむ

2019-02-12 08:40:47 | Weblog
2月11日のラジオ英会話で、

  英語はシステマティックにできていて
      ↓
  パターンを覚えて
      ↓
  リズムを感じる

という話があった(ちょっと違っているかな。システム→パターン→リズムはそう)

前に、プロ(ここでは、コーディングしてお金もらっている人とする)の人たちは、
サンプルがあって、それをもとにプログラムするという話を書いた。

このサンプルというのは、いわゆるパターンなんだけど、
そのパターンがうまく当てはまって、プログラムが動くと、
リズムみたいなのがあって、これにハマるのが、
プログラミングを続けている理由のような気がする。

つまり、リズムを感じて続けてしまうというか・・・


なので、この状態でうまくいかないと(プログラムが動かないと)
すごい焦る。焦ってまたハマる(違った意味でハマる)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ベイズ推定についてチョコボールで聞いていた!

2019-02-11 09:57:59 | Weblog
2月9日、

チョコボールに学ぶ実践的ベイズ統計モデリング入門
https://ml-for-experts.connpass.com/event/116830/


を聞いてきたのでメモメモ

なお、講義内容は、

チョコボール統計
http://chocolate-ball.hatenablog.com/


に載るらしい




目標
(1)統計モデリングとは何か
(2)ベイズ統計基礎
(3)Pythonを使ってやってみよう

対象:チョコボール
 銀なら5枚、金なら1枚でおもちゃの缶詰がもらえる
→エンゼルの含有率
 まれな現象の出現確率:頻度で計算すると、えらいことになる

あじぇんだ
・イントロダクション
・統計モデリングの目的
・最尤推定ハンズオン
・ベイズ推定ハンズオン

ソースコードは再編・再配布可能:クレジット入れてくれると

講師紹介
・チョコボールの秘密を解明するために、日々データを収集&解析
 「チョコボール 統計」で検索
 今日:ベイズ推定で銀のエンゼルの確率を・・・

統計モデリング
 統計モデリングの目的
  統計学入門 東京大学出版会 →入門だけど初学者は避けたほうがいい(入門詐欺)
 統計学:データを収集し、組織化し、分析し、解釈する
 統計モデリング:統計学の手法を使ってシステムを記述し、理解・説明するための枠組み
  分布結果を活用するために、正規分布のような定式化されたモデルを仮定する
 →定式化されたモデル

  データ:正規分布と仮定(モデリング)
  データに当てはめてパラメータを推定(μ、σ2を推定)
  モデリング結果を評価し活用


「AI」と統計モデリング
AI:特定の技術ではなく、ある分野の技術の相称
 学習と推論を行うためのソフトウェア

ニューラルネットワーク(NN)
・特徴空間に識別線を引く→データの分布を推定:統計モデリングとしての解釈


統計モデリングで得られること
・データの性質を理解できる
・活用の可能性
  異常値、外れ値を定義
  リスクを見積もった戦略を立てることができる
    データが完全ではない時
 →「異端の統計学ベイズ」に書いてある

・楽しい
  秘密を解明していく作業

なぜ確率分布を使ってモデリングするのか
・自然現象は本質的縫い不確定、計測には誤差が生じる
・コスト等の問題ですべての情報を使えない



統計モデリング
・データを当てはめてパラメータを推定
 最尤推定
 ベイズ推定

ハンズオンの流れ
・データ確認
・最尤法
・ベイズ推定

問題設定
・エンゼル出現確率の推定
・今回は銀のエンゼル
・キャンペーンでid=1のキャンペーンには銀のエンゼルは含まれない

モデル定義
370件のデータ→キャンペーン1をのぞいて327件

ベルヌーイ試行→二項分布
1回の施行で起こる確率がΘ、この試行をn回繰り返したときにエンゼルがK個当たる確率
→370回エンゼルかったら(n=370)17個当たった(k=17)
 Θを変数とみなして、尤度関数を得る
   →傾き0=微分を取って0
    logとって微分する→計算すると、標本平均になる

何個買えば5個当たる?:負の2項分布を使う
→パラメータを入れ替えて式を作っている
→累積で考える

lossと尤度関数は同じ(どう定義して、何と呼ぶかの違い)


ベイズは何をやっているのか?
・20個買ってたまたま1個あたり→予測の信頼性
 あいまいさを表現できる
 分布で表現できる

・ベイズの定理
  P(A|B)∝P(B|A)P(A) ぴー びー いーぶん えー ぴー えー


事前分布、尤度
。尤度は最尤推定のモデルと一緒
・事前分布はその問題に対しての知識を表現する

ベイズの定理 P(Θ|X)∝ P(X|Θ)P(Θ)
            尤度関数 事前分布

事前分布:ベータ分布を設定(使いやすいからベータ分布のだけ)
 ベータ関数 αとβでいろんなものが作れる

計算方法
 今回は解析的に解けるけど
 一般的には数値的なMCMCを使う
pymcを使う
 モデルで箱を用意する
 事前分布 β分布 α、β=1(一様分布)
 尤度 二項分布

データ数が多ければ、事前分布では変わらない
データ数が少ない時に変わる

平均
ネガティブ予想
ポジティブ予想
→ができる(95%信頼区間)


背景を想像(仮説立案)しながらモデルを改良していく(仮説の検証)
チョコボールは面白い



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近、仕様書もスクショだよね・・・

2019-02-10 10:27:38 | Weblog
特にエビデンスは・・・
Excelからスクショ取れるのも大きい
(もっとも自分自体はとれないので、もう一つExcel立ち上げて、そっちからとる・・・んだったら、すなっピングツール使ったほうがいいか)

なぜスクショ?スマホネイティブ世代がコピペしない理由
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00160/013000095/

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Raspberry Piのストアが開店

2019-02-09 09:25:12 | Weblog
Raspberry Piのストアが開店、Apple Storeよりもクールかな
https://jp.techcrunch.com/2019/02/08/2019-02-07-the-raspberry-pi-store-is-much-cooler-than-an-apple-store/


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フレッツ光ネクスト + IPoE (IPV6)で・・・

2019-02-08 21:19:46 | ネットワーク
何かの時のためのメモ

フレッツ光ネクスト + IPoE で scp, cvs, rsync の SSH通信ができない問題
https://ch.nicovideo.jp/tsutsui/blomaga/ar1652866


解決策は/etc/ssh/ssh_config もしくは ~/.ssh/configで、IPQoS 設定(上記サイト参照)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WI-FiパスワードをQRコードで表示する方法

2019-02-08 08:38:43 | ネットワーク
しらなかった。メモ


意外に知られていないWI-FiパスワードをQRコードで表示する方法
https://news.yahoo.co.jp/byline/kandatoshiaki/20190131-00113150/

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

自動車の自動運転とかいうけど、そもそも自動車が国内で売れているのか?

2019-02-07 18:40:57 | Weblog
四輪車市場(生産)に注目

平成30年間、日本で市場規模が横ばい・縮小した「だいたい良いんじゃないですか?」市場をひたすら調べてみた。
https://note.mu/jyaga0716/n/n3f888f4de062

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

日産・ルノー連合、自動運転でグーグル陣営に参画 だそうだけど・・・

2019-02-07 08:27:20 | Weblog
あれ、Googleって、自動運転でホンダと組んでなかったっけ?
なにが、どうなってる??

日産・ルノー連合、自動運転でグーグル陣営に参画
https://www.nikkei.com/article/DGXMZO40918840V00C19A2MM8000/


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「量子コンピューティングの次のステップ」だって

2019-02-06 22:25:32 | Weblog
ながい!ので、後で読む

「量子コンピューティングの次のステップ:コンピュータサイエンスの役割」全訳
https://www.qmedia.jp/next-step-of-qc/

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

本屋で”役に立たたない論文”を書く

2019-02-06 08:44:58 | Weblog
そうだ・・

【2019年2月開講】本屋で”役に立たたない論文”を書く「論文ゼミ」開講!「本屋学会」で発表し、論文が本屋に並ぶ!自由に”本”で研究し、自由に書く!現役大学講師が教える!本屋が「学び」をエンターテイメントに変える!《天狼院リベラルアーツ・アカデミー》
tenro-in.com/liberal-arts-academy/68547

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello worldの次は何やったらいいという人は、自分は本当になにをしたいのか問うほうがいい

2019-02-05 09:25:21 | Weblog
Hello worldの次は、最近はWebで何か作ってみるというのが定番。
で、その先は・・・という話だけど、ここで大事なのは、自分は何をしたいか?

「1.プログラムは手段」という人と、「2.プログラムは目的」という人で異なる
 →「1 プログラムは手段」の人は、プログラムで実際やりたいことを早くから検討したほうがいい

2 プログラムが目的という人は、
  2.1 プログラミングすることが好きなのか
  2.2 プログラミング自体を学びたいのか?
 →2.2プログラムを学びたい場合、計算論とかの話になる。これは別エントリで

2.1 プログラミングすることが好きな人は
  2.1.1 プログラムだけしたいのか
  2.1.2 プログラム+設計工程をするのもアリなのか?

2.1.2 設計してもいいのなら、業務のWebサイトとして、

 図書館問題をやってみるのがいいし
  →ただし、この正解を作った人を見たことはない

 昔は、エディタやゲーム(テトリス)などを作っていた。

 いずれにしても、どのような画面になるかとかMVCに分けたりなど、
 設計要素が入ってくる

2.1.1 プログラムだけしたいのなら、IoTに流れて行って、
 ラズパイなどを使ってCQ出版社の出している「インターフェース」で
 出てくるようなものを作ってプログラミングを楽しむことになる。
 →趣味の世界になっちゃうけど・・・

・・・なんだけど、どの方向に進むかわからない場合、
一番無難なのは、

ふつうのLinuxプログラミング-第2版-Linuxの仕組みから学べるgccプログラミングの王道
https://www.amazon.co.jp/dp/4797386479


をやってみる・・・ってことでしょうかねえ~

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

TortoiseSVNで、WinMergeを使ったとき、リビジョンが表示されない場合

2019-02-04 09:39:27 | Weblog
WinMergeを先に入れて、TortoiseSVNを後で入れた際に、設定で、
C:\Program Files\WinMerge\WinMergeU.exe
とやってしまった場合に起こる。以下、現象を詳しく&対応

【現象】
今、以下のように、TortoiseSVNで管理されているファイルを保存して、

そのファイルと、SVNサーバーにあるものとの差分が見たい場合

ファイルを右クリック→TortoiseSVN→差分を表示


何もしていなければ、TortoiseSVNが用意したDIFFツールで表示される

その場合、ファイル名のところには、リビジョンが表示される
=こうしたい。

だけど、ここでWinMargeを使いたいからと、
TortoiseSVN→設定をクリックし

差分ビューアーをクリック、以下のように

外部プログラムを
C:\Program Files\WinMerge\WinMergeU.exe
と設定して、ファイルを右クリック→TortoiseSVN→差分を表示すると

テンポラリファイル名になり、リビジョンが表示されない

【対策】
TortoiseSVN→設定をクリックし、差分ビューアーをクリック、以下のように

C:\Program Files\WinMerge\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine
というように作業リビジョンを出す引数をつけると、

表示してくれる。


【参考資料】
TortoiseSVNとWinMergeの設定をいじる
https://qiita.com/ughirose/items/fe25911d6eb8a880cfab




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ただ、日本はデータサイエンス天国なんだよね!生データ使い放題?!

2019-02-03 18:34:09 | Weblog
「データサイエンス」とか言っちゃらめ~国会が空転するでしょ!
https://blog.goo.ne.jp/xmldtp/e/88dc54b314b404c9e71f75e83f92ed57

なんだけど、

そうそう、日本は「著作権法30条の4」により、データサイエンス・機械学習にとってパラダイスな国なんだよね!
アメリカ・ヨーロッパに対して、この法律1つだけで、断然有利!!それを学ばないといけないやね~たしかに・・・

生データ使い放題?! 「日本は機械学習パラダイス」になった ― DEEP LEARNING LAB 勉強会
https://deepinsider.jp/impression/eventreport/dllab201901


安倍内閣最大のヒットかもしれない・・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

そもそも、プログラムの学び方には2つある。プログラムが手段の人はサンプルで学べ!

2019-02-03 09:03:17 | Weblog
プログラミングを目的にしてもいいと思う
https://keens.github.io/blog/2019/01/21/puroguraminguwomokutekinishitemoiitoomou/ とか
文系でプログラマーになったけど色々失敗して3年半で会社を辞めた話
https://note.mu/denkigai/n/nafff6bd87802

は、プログラムが結構書ける人のプログラミングの覚え方だと思う。

教育現場で、プログラミング教育を声高に言う人は、
・ぜんぜんわかっていない人か
・プログラムが得意な人
だと思う。

しかし、多くの人は、プログラミングに向いているとは限らない。
ということは、
プロの世界では、プログラミングを向かない人が、プログラムを作る可能性があるということ
その人たちは、プログラムを作らない・・・ということは残念ながら?できないので、
プロの世界では、プログラミングの別の学び方があり、
その方法は、プログラミングに向いていない人にも有効な学習法だということだ。




で、その方法は、

  サンプルを利用する!

プロの世界では、あるプログラムを作ろうとした場合、たいていサンプルがある
サンプルは、研究所とか、一次請けの会社がつくる。これらを作る人は、プログラミングに向いている人)
そのサンプルをもとに、サンプルと違うところをコーディングして、プログラムを作るということになる。

・この方法があるからこそ、mainがない、一部だけ記述すればいいフレームワークを使ったプログラムや
・アルゴリズムはよくわからない(プログラミングに向いていたり、好きな人はアルゴリズムを考える)

プログラムが作れる。

これと、ぐぐってプログラムを書くことの違いは、
・ぐぐってプログラムを書く場合、プログラムを組み合わせる。この組み合わせが間違えていると、
 おかしなことになる
・なので、サンプルの場合は、組み合わせるのではなく、例を見つけて、穴埋めする。

たとえば、「オークションサイトをつくれ」と言われた場合、

・サンプルを利用する場合は、いくつかのオークションサイトをみて、ぱちってくることになる。
・プログラム好きで、アルゴリズムを考える人は、画面を一つ一つ考えつくっていく・・・と、先が見えない
・ググるひとは・・なにをググっていいかわからない

となる。

プログラムが目的な人はサンプルでつくるなんて、もってのほか何だろうけど、
プログラムが手段の人は、できればいいわけで、
そいう人は、「サンプルをもとに違うところだけコーディングして、できるようになっていく」というのが、
プログラミングの近道。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする