この講義について 担当: 楫 勇一(かじ ゆういち),ソフトウェア基礎学研究室 3年前まで,全15回の専門科目として実施 ベーシックな部分を抜き出し,全8回の基礎科目として再構成 基本的に,情報系以外の学部を卒業した学生向け 少し専門的な内容は,III期の「符号理論」にて 情報を正確に,効率よく伝えるための理論と技術を学ぶ 本講義スライド http://isw3.naist.jp/~kaji/lecture/ 1 about this class This class is given in Japanese. English slides are available at http://isw3.naist.jp/~kaji/lecture/12/ but the slides are based on an previous version of this course; 15-classes more extensive Use them with your own risk. Feel free to visit me @ A615. 2 情報理論 1948年の C. E. Shannon の論文からスタート 情報通信の数学的側面に着目 今日のデジタル技術に多大な影響 有線・無線の通信・放送技術 CD/DVD/HDD等のデータ記録技術 データ圧縮 Claude E. Shannon 1916-2001 暗号,言語学,バイオ情報学,ゲーム理論,... 本講義では,情報理論の基礎的な知見について学ぶ 3 講義の構成 最初の能書き + 3つの章: 能書き:講義内容全体の予告編 chapter 1: 情報を測る chapter 2: 情報をコンパクトに表現する chapter 3: エラーから情報を守る 4 シャノン当時の時代背景を知る 1940年代の通信技術... 電信が広い用途で一般的に使われていた モールス符号: 「トン ( ∙ )」と「ツー ( − )」の記号の組み合わせ トン = 1 単位時間, ツー = 3 単位時間 記号と記号の間は,1単位時間の空白 英文字間は3単位,英単語間は8単位時間の空白 10101000111000101110001011101000111 00000001110100011101110111000101110111 ある意味で,「デジタル通信」が既に用いられていた 5 情報処理の自動化・機械化 通信の一部を自動化する「装置」が出現 Teletype model 14-KTR, 1940 http://www.baudot.net/teletype/M14.htm Enigma machine http://enigma.wikispaces.com/ 機械...人間より高速で,ミスを犯さない(と思われていた) 当時の興味の方向性:限られた資源(時間,通信路)の中で... 【効率の問題】 どれだけ多くの情報を伝えることができるか 【信頼性の問題】 どれだけ正確に情報を伝えることができるか 6 通信のモデル 通信は,下記のようにモデル化できる 伝送路 情報源 送信機 (符号化器) 雑音源 受信機 受領者 (復号器) C.E. Shannon, A Mathematical Theory of Communication, The Bell System Technical Journal, 27, pp. 379–423, 623–656, 1948. 通報 通信 = 広い意味での情報の伝達 7 効率的であるとは 通信を効率化する = B のサイズを小さくする ただし A = D (または A ≈ D) の必要あり 通信路に雑音あり(B ≠ C ), 雑音なし (B = C)の2つのケース A B C D 8 問題その1:効率性 例:天気を毎日記録したい(情報源 =天気) 通報 = {晴, 曇, 雨} 記録には “0” と “1”だけが使用可能(空白等の使用はNG) 天気 晴 曇 雨 符号語 00 01 10 0100011000 1日当たり2ビットの記号を送信することになる 送信すべきビット数を減らすことができれば,より効率的 9 良い符号はあるか? 天気 晴 曇 雨 符号 A 00 01 10 符号 B 00 01 1 符号 A...0100011000 符号 B...010001100 符号 B のほうが,よりコンパクトに情報を表現できる 符号語の長さが違っているが,正しく復号できるか? 先頭から処理すれば問題ナシ 符号 B よりも良い符号はあるか? Yes でもあり,No でもある(→ 次ページ) 10 「平均」で考える 天気の発生確率は,一般には均等でない... 天気 晴 曇 雨 確率 0.5 0.3 0.2 符号 A 符号 B 符号 C 00 00 1 01 01 01 10 1 00 一日あたりの記録に必要なビット数は 符号 A:2.0 bit 符号 B:20.5 + 20.3 + 10.2 = 1.8 bit 符号 C:10.5 + 20.3 + 20.2 = 1.5 bit ... 「工夫次第で,効率的な符号を作ることができる」 11 最良の符号 たとえば,一日あたり,平均 0.0000000001 bit で表現できる? ...無理っぽい 「どこかに限界がある」ことは,直感的にわかる シャノン:「どこに限界があるのかを数学的に解明したい」 → この確率分布では,一日あたり 1.485 ビットが絶対に必要 天気 晴 曇 雨 確率 0.5 0.3 0.2 天気の情報そのものの「量」 「情報を格納する容器(符号語)のサイズは, 格納される情報の量よりも小さくできない」 12 本講義の前半部分について 能書き:講義内容全体の予告編 chapter 1: 情報を測る 情報を定量的に測るための技術に ついて学ぶ chapter 2: 情報をコンパクトに表現する 情報をコンパクトに表現するための 技術と限界について学ぶ chapter 3:エラーから情報を守る 13 信頼性の高さとは 通信の信頼性を上げる = 「A = D (または A ≈ D)」を保証する 雑音の影響により,B ≠ Cとなるおそれがある B のサイズをあまり大きくせず,A = Dとなる確率を上げたい A B C D 14 問題その2:信頼性 伝送路は,必ずしも信頼できるものではない 送信情報 ≠ 受信情報 ABCADC ABCABC 伝送路上での誤りを根絶することは難しい 日常会話では...「符丁」の利用により問題回避 ABC Alpha, Bravo, Charlie あさひの「あ」 いろはの「い」 Alpha, Bravo, Charlie ABC 15 符丁とは 送りたい通報 誤り対策のため,やむを得ず 付加する冗長な記号 = 必要のない 余分な 符丁では,冗長な記号を故意に付加する 冗長記号により,誤りを訂正可能とする →これと同種の機構を,0-1 データ上で実現したい 16 冗長性について Q. どうやって 0-1 データに冗長性を付加するか? A. パリティビットを使えばよい パリティビットとは... データ中の1 の個数を偶数にするための「追加ビット」 00101 → 001010 (2個の1 → 2個の 1) 11010 → 110101 (3個の1 → 4個の 1) パリティビットを一個使うと,奇数個のビット誤りを検出可能 17 誤りを訂正するには? パリティビットを複数使うと,誤りを訂正できる(場合もある) 例: 4ビットデータ (a0, a1, a2, a3)に対し,パリティビットを5個付加 a0 a1 p0 a2 a3 p1 q0 q1 r 符号語 = (a0, a1, a2, a3, p0, p1, q0, q1, r) 18 誤り訂正の例 1011 を送信する... 100110011 が受信された... 1 0 1 1 0 1 ○ 1 1 0 0 1 0 × 0 1 1 0 1 1 ○ × ○ ○ 符号語 = 1 0 1 1 1 0 0 1 1 1ビット誤りを訂正可能 (だが,あまりにも安直) 3ビット目が怪しい... 「送信されたのは101110011 だろう」 19 本講義の後半部分について 能書き:講義内容全体の予告編 chapter 1: 情報を測る chapter 2: 情報をコンパクトに表現する chapter 3:エラーから情報を守る 誤りを発見し,訂正するための技術に ついて学ぶ 20 授業日程 火曜1限(9:20~10:50) 4/7, 14, 21, 28, 5/12, 19, 26, 6/2 5/26 は休講(補講日程調整中) 中間レポート... 4月末前後 試験... 6月 2日(最終回の講義) 講義資料(本スライド) http://isw3.naist.jp/~kaji/lecture/ http://isw3.naist.jp/~kaji/lecture/12/ (old version in English) 21 chapter 1: 情報を測る 22 測るべき「情報」 情報とは,何かを伝えるもの.ただし... まったく興味のないことを教わっても,「情報」とは思わない わかりきったことを教わっても,「情報」とは思わない 情報とは... 不確実性を持つ興味対象について,その不確実さを減らすもの Before After 不確実さが 大きい 不確実さが 小さい 23 興味対象を,どのように表現するか 興味対象は様々 明日の天気,野球の試合結果,テストに出る問題, 友人の予定,夕食のおかず ... 現実の細部はバッサリと切り落とし,確率・統計の世界で考える 興味対象は,確率変数の値 どれくらいの確率で,どの値を取るかはわかっている 実際に発生する(発生した)値は,いまのところ不明 「サイコロの目」が典型例 24 復習:確率変数とは 確率変数 𝑋 : 中身を覗けない「箱」のようなもの 箱の中には, 𝑣1 , … 𝑣𝑀 のどれか一個が入っている 何が入っているかは,箱を開けてみないとわからない 𝑣1 , … , 𝑣𝑀 ...確率変数の実現値と呼ぶ 実現値の集合... 𝐷 𝑋 = {𝑣1 , … , 𝑣𝑀 } と書く 𝑋 = 𝑣𝑖 である確率が 𝑝𝑖 のとき 𝑃𝑋 𝑣𝑖 = 𝑝𝑖 と書く 𝑝1 + ⋯ +𝑝𝑀 = 𝑣∈𝐷 𝑋 𝑃𝑋 𝑣 = 1 25 復習:確率変数の例 「サイコロの目を,確率変数𝑋で表す」 𝑋の値は1, 2, … , 6 のどれか,全部同じ確率 𝐷 𝑋 = {1,2,3,4,5,6} 𝑃𝑋 1 = 𝑃𝑋 2 = 𝑃𝑋 3 = 𝑃𝑋 4 = 𝑃𝑋 5 = 𝑃𝑋 (6) = 1/6 「今夜のメニューを確率変数𝑋で表す」 𝐷 𝑋 = {カレー, とんかつ, ラーメン, … } 𝑃𝑋 (カレー) = 1/6, 𝑃𝑋 (とんかつ) = 1/4, ... 26 情報の伝達と確率変数 確率変数 𝑋の値を知りたい 𝑋の実現値の集合や,確率分布は既知 実際に 𝑋 が取った値は不明 𝑋の値について,なんらかの情報を得る 𝑋の確率分布が変化する 正確で完全な情報 ⇒ 𝑋 の値が一意に定まる 不正確,不完全な情報 ⇒ 多少の不確実さが残る 27 情報伝達の例 𝑋はサイコロの目を表す確率変数,𝑃𝑋 (1) = ⋯ = 𝑃𝑋 (6) = 1/6 1/6 不確実さ:大 1 2 3 4 5 6 ① 「𝑋は 4だ」 1 ② 「𝑋は 3の倍数ではない」 1/4 不確実さ:0 1 2 3 4 5 6 不確実さ:小 1 2 3 4 5 6 28 情報の「量」と不確実さ ① 「𝑋は 4だ」 ② 「𝑋は 3の倍数ではない」 1 1/4 ① 1 2 3 4 5 6 ② 1 2 3 4 5 6 after 「情報量 = 不確実さの削減量」 として定義するのが自然 before 直感的には ... ①のほうが②よりも大きな「情報量」を持つ,ように思われる ① ... 不確実さを大きく削減 ② ... 不確実さを少しだけ削減 情報量 29 この後のシナリオ 最終目標:「情報」の量を測る定量的指標を導入する step 1: 確率変数の「エントロピー」を定義 エントロピー大 不確実さ大 今日 次回 step 2: 一つのニュースが持つ情報量を定義 情報量= (BEFORE エントロピー) – (AFTER エントロピー) step 3: 確率変数の間の相互情報量を定義 ある確率変数の値が,他の確率変数について何を語るか 𝑋 𝑌 30 エントロピーの定義 確率変数𝑋... 以下の値と確率分布を持つ ... 𝑣 𝑣 𝑣 (値は,あまり重要でない) 値 1 2 𝑀 ... 𝑝 (確率値が重要) 確率 𝑝1 𝑝2 𝑀 𝑋 の(一次)エントロピー 𝑀 𝐻1 (𝑋) = −𝑝𝑖 log 2 𝑝𝑖 = 𝑖=1 −𝑃𝑋 (𝑣) log 2 𝑃𝑋 (𝑣) (bit) 𝑣∈𝐷(𝑋) (ただし,0log 2 0 = 0とする) −log 2 𝑝𝑖 の平均(期待値)と考えることもできる −log 2 𝑝𝑖 を,値𝑣𝑖 の自己エントロピーと呼ぶ場合も 31 自己エントロピーの直感的意味付け 自己エントロピー −log 2 𝑝 ... 確率𝑝の出来事が起こったと 知ったときの「驚き」の量 𝑝に対して単調減少 ... 滅多にないことが起こる(𝑝が小さい)と,驚きが大きい 𝑝 > 0で連続 ... 同程度の確率であれば,驚きも同程度 𝑝 = 𝑞1 𝑞2 ならば,− log 𝑝 = − log 𝑞1 − log 𝑞2 ... 驚きの「加法性」に対応している(次ページ) 32 驚きの加法性 トランプのカードを一枚引く 𝑁1 =「ダイヤの5だった」... 1/52の確率 𝑁2 =「ダイヤだった」... 1/4の確率 𝑁3 =「5だった」... 1/13の確率 𝑁1 を知ったときの驚き 1 − log 2 52 𝑁2 を知り,その後に 𝑁3 を知ったときの驚き 1 1 − log 2 − log 2 4 13 自己エントロピーは,我々の直感的な理解と良く対応している 33 エントロピーの定義(再) 𝑋 の(一次)エントロピー 𝑀 𝐻1 (𝑋) = −𝑝𝑖 log 2 𝑝𝑖 (bit) 𝑖=1 確率で重み付けした,自己エントロピーの平均値 確率変数の値が与える「驚き」の平均値 = 不確実さ − log 2 𝑝 −𝑝 log 2 𝑝 34 エントロピー計算の例(1) コインを投げて出た面を確率変数𝑋で表す 𝑋の取りうる値は「表」か「裏」の2種類 𝑃𝑋 表 = 𝑃𝑋 裏 = 1/2 𝐻1 𝑋 1 2 1 2 1 2 = − log 2 − log 2 1 2 1 2 = − log 2 = log 2 1 = 1 bit 1bit の情報は,2進数1桁で表現できる ⇒ Chapter 2 35 エントロピー計算の例(2) 2枚の異なるコインを投げる 𝑋 ∈ { 表,表 , 表,裏 , 裏,表 , 裏,裏 } 𝑃𝑋 (表, 表) = ⋯ = 𝑃𝑋 (裏, 裏) = 1/4 𝐻1 𝑋 1 4 1 4 1 4 1 4 1 4 1 4 1 4 = − log 2 − log 2 − log 2 − log 2 1 4 1 4 = − log 2 = log 2 22 = 2 bit コイン1枚のときの2倍のエントロピー ...不確実さが「2倍」 36 エントロピー計算の例(3) サイコロ投げ 𝑋の取りうる値は 1, 2, 3, 4, 5, 6 𝑃𝑋 1 = 𝑃𝑋 2 = ⋯ = 𝑃𝑋 6 = 1/6 𝐻1 𝑋 1 6 1 6 1 6 1 6 1 6 = − log 2 − log 2 ⋯ − log 2 1 6 1 6 = − log 2 = log 2 6 = 2.585 bit コイン投げのときと同じ尺度で比較ができる 37 エントロピー計算の例(4) 公正でないサイコロ 𝑋の取りうる値は 1, 2, 3, 4, 5, 6 𝑃𝑋 1 = 0.9, 𝑃𝑋 2 = ⋯ = 𝑃𝑋 6 = 0.02 𝐻1 𝑋 = −0.9 log 2 0.9 − 0.02 log 2 0.02 ⋯ − 0.02 log 2 0.02 = 0.701 bit コインを1枚投げるときより,不確実さが小さい 38 唯一尺度としてのエントロピー 𝐻1 𝑋 = 1 𝐻1 𝑋 = 2 𝐻1 𝑋 = 2.585 𝐻1 𝑋 = 0.701 様々な現象に対し,エントロピーを計算できる 違ったタイプの現象の「比較」ができる エントロピーが何を意味するのか ... これから議論 39 本日のまとめ 講義概要 エントロピーの定義 復習問題(レポートではありません) 講義 webページにあるデータを使い,エントロピーを計算せよ http://isw3.naist.jp/~kaji/lecture/ 英語の文字出現頻度 株価の騰落データ 40
© Copyright 2024 ExpyDoc