概要:
情報工学で重要となる主要分野のとして知識工学,制御工学,ディジタル信号処理に関連する内容を取り扱い,より専門的な知識やスキルを身につける。
人間が日常的に行っている知的活動をコンピュータに完全に代行させることは不可能である。本講義では,パタン認識の課題を取り上げ,直感的手法に基づく自動認識には限界があることを学び,確率・統計に基づく認識手法の学習を通して,知識情報分野における数学の役割を理解する.
これまで学習してきた確率・統計の学習内容を主な基盤として,予測・推論の仕組みやパタン認識の理論について学ぶ.予測・推論の仕組みを習得を通して,人工知能分野における基盤の一つである「学習」や,未来の事象の確率的予測,結果から原因を確率的に推測する方法について学びながら,適切な予測が可能な確率的ネットワークの構築法と,ネットワークを利用した基本的な推論法を習得する.
授業の進め方・方法:
各回で完結する内容や複数回にわたって行われる課題もあり,内容により授業,演習,実験形式で行われる。教師室や電算室,実験室など状況に応じて実施場所が異なる。
プログラミングやエクセルなども利用し進める。
最終的な課題の内容および一般的な実現方法を解説した上で,それを実現するための小課題を提示する.小課題に関しては必要に応じて実現のためのヒントを与えるが,基本的には各自が考えてプログラムを作成する.
また課題全体が完成した時点で,作成したプログラムの性能評価実験を行い,実装したアルゴリズムの問題点について考察を行う.
機械学習およびベイジアンネットワークについて学び,それぞれの理論を幾つかの小テーマに分けて解説し,それらを用いたプログラムを実装することにより,理論に対する理解度を高める.
注意点:
課題等の提出物は設定された締切までに提出すること。予習や自学自習を取り入れ取り組むこと。
C言語のプログラムは一通り書けることを前提に授業を進めるので,プログラミング言語については十分に復習しておくこと.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ベクトルと内積
画像処理関数の実装 課題を実現するために必要な画像処理関数を実装する |
ベクトルの内積計算とその計算プログラミングを扱うことができる.
ビット演算の概念を理解し,モノクロ画像データを扱うプログラムが作成できる. C言語の基礎を理解し,与えられた小課題に対するプログラムが作成できる.
|
2週 |
正弦波と直交関数,演習
画像処理関数の実装(続き) |
正弦波を利用した直交関数について理解できる.
C言語の基礎を理解し,与えられた小課題に対するプログラムが作成できる.
|
3週 |
実フーリエ級数と係数,演習
画像処理関数の実装(続き) 認識アルゴリズムの検討 課題を実現するための手法を検討する.またそのための一般的手法を解説する |
実フーリエ級数,係数の計算を理解できる.
C言語の基礎を理解し,与えられた小課題に対するプログラムが作成できる. 課題に対するプログラムが設計できる.
|
4週 |
複素数と複素フーリエ級数と係数,演習
認識プログラムの開発 決定した手法をプログラムとして実現する
|
複素数フーリエ級数,係数の計算を理解できる.
数学に基づく評価式を検討し,実装することができる.
|
5週 |
複素フーリエ級数とフーリエ変換,演習
認識プログラムの開発(続き) |
フーリエ変換について理解できる.
数学に基づく評価式を検討し,実装することができる.
|
6週 |
フーリエ変換の性質,演習
|
基本的なフーリエ変換の性質を理科できる.
数学に基づく評価式を検討し,実装することができる.
|
7週 |
専門分野のフーリエ変換,演習
評価実験 完成したプログラムの性能評価を行うため認識実験を行う
|
専門分野におけるフーリエ変換について理解できる.
数学に基づく評価式を検討し,実装することができる.
|
8週 |
相関係数,演習,プログラミング演習
機械学習の基礎 確率計算の復習 |
離散信号を利用し,相関係数の計算とその計算プログラミングを扱うことができる.
人工知能分野における機械学習の位置づけについて理解する. ベイズ統計学で用いる基本的な確率計算法を理解する.
|
2ndQ |
9週 |
相関関数,プログラミング演習
ベイズの定理(1) ベイズの定理(2)
|
離散信号を利用し,相関関数の計算とその計算プログラミングを扱うことができる.
ベイズ統計学の基盤となるベイズの定理について理解する. ベイズの定理の一般形、および通常のベイズの定理との相違について理解する.
|
10週 |
離散フーリエ変換と窓関数,演習
ベイズの定理(3) ベイズの定理(4) |
離散フーリエ変換の計算を行うことができる.
ベイズ更新の計算法について理解する. 多値の確率変数を対象としたベイズの定理の計算法を理解する.
|
11週 |
離散フーリエ変換と窓関数,プログラミング演習
ベイジアンネットの基礎(1) ベイジアンネットの基礎(2)
|
離散フーリエ変換の計算プログラミングを扱うことができる.
ベイジアンネットの活用対象である学習・適応の仕組みやデータマイニングの概要について理解する. ベイジアンネットの定義や特徴について理解する.
|
12週 |
PCMとWAVEファイル,プログラミング演習
方向依存性分離 ノード間の確率的依存関係 |
WAVEファイルの操作を行うことができる.
ベイジアンネットを特徴づける方向依存性分離の概要を理解する. ベイジアンネットにおける2ノード間の確率的依存関係を測る尺度について理解する.
|
13週 |
離散コサイン変換と圧縮,プログラミング演習. ディジタルフィルタ,プログラミング演習
ベイジアンネットの結合構造の妥当性 ベイジアンネットの構造学習法 |
離散コサイン変換の計算とその計算プログラミングを扱うことができる. ディジタルフィルタ処理のプログラミングを扱うことができる.
ベイジアンネットにおけるネットワーク全体の妥当性を測る尺度について理解する. ベイジアンネットの結合構造を決定するアルゴリズムについて理解する.
|
14週 |
適応フィルタとアルゴリズム
ベイジアンネットの結合構造を用いた確率推論法(1) ベイジアンネットの結合構造を用いた確率推論法(2) |
適応フィルタの計算とその計算プログラミングを扱うことができる.
サンプリング法にもとづく確率推論法について理解する. 信念伝搬法を活用した確率推論法について理解する.
|
15週 |
|
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 工学実験技術(各種測定方法、データ処理、考察方法) | 工学実験技術(各種測定方法、データ処理、考察方法) | 物理、化学、情報、工学における基礎的な原理や現象を明らかにするための実験手法、実験手順について説明できる。 | 3 | |
実験装置や測定器の操作、及び実験器具・試薬・材料の正しい取扱を身に付け、安全に実験できる。 | 3 | |
実験データの分析、誤差解析、有効桁数の評価、整理の仕方、考察の論理性に配慮して実践できる。 | 3 | |
実験テーマの目的に沿って実験・測定結果の妥当性など実験データについて論理的な考察ができる。 | 3 | |
実験ノートや実験レポートの記載方法に沿ってレポート作成を実践できる。 | 3 | |
実験データを適切なグラフや図、表など用いて表現できる。 | 3 | |
実験の考察などに必要な文献、参考資料などを収集できる。 | 3 | |
実験・実習を安全性や禁止事項など配慮して実践できる。 | 3 | |
個人・複数名での実験・実習であっても役割を意識して主体的に取り組むことができる。 | 3 | |
共同実験における基本的ルールを把握し、実践できる。 | 3 | |
レポートを期限内に提出できるように計画を立て、それを実践できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | |
情報数学・情報理論 | コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 4 | |
その他の学習内容 | メディア情報の主要な表現形式や処理技法について説明できる。 | 4 | |
ディジタル信号とアナログ信号の特性について説明できる。 | 4 | |
情報を離散化する際に必要な技術ならびに生じる現象について説明できる。 | 4 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 4 | |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 4 | |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 4 | |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | |