嶋田 遼平

¾¼½¾ 年度修士論文
ソフトウェア開発プロジェクトデータによ
る潜在フォールト数の予測
ßコネクショニストアプローチß
法政大学工学研究科
システム工学専攻
½½Ê ¾½¾
嶋田遼平
ÊÝÓ
指導教員
ËÀÁÅ
木村 光宏 教授
概要
ソフトウェア開発プロジェクトにおいて,将来発生するフォールトに関するリスクを早期に予測すること
が,ソフトウェアの品質を高めることにつながると考えられる.従って,精度の高い信頼性予測モデルを構築
することが必要とされる.この問題に対して,従来は重回帰モデルによって予測を行っていたが,本研究で
は,
Å À´ ÖÓÙÔ Å Ø Ó
Ø À Ò Ð Ò µ によって構築されたモデルとニューラルネットワークによって
構築されたモデルを提案する.そこで,既存の論文内で使われたソフトウェア開発属性データを用いて,重回
¾
帰モデルによって構築されたモデルと上記 つのコネクショニストアプローチによる予測モデルを予測精度の
観点から比較し,各モデルの有用性を評価する.
×ØÖ Ø
Ì × Ô Ô Ö ÔÖÓÚ × Ò Û ÔÔÖÓ × ØÓ ×Ø Ñ Ø Ø ×Ó ØÛ Ö Ö Ð Ð ØÝ Ý Ò ÐÝÞ Ò Ø
Ø × Ø×
Ó Ø Ò ÖÓÑ Ø ÙÔÔ Ö ÔÖÓ ×× Ó ×Ó ØÛ Ö Ú ÐÓÔÑ Òغ Ï ¬Ö×Ø ÜÔÐ Ò Ø ÓÒ ÔØ Ó Å À
ÔÔÖÓ
Ò Ò ÙÖ Ð Ò ØÛÓÖ ÓÒ º Ï ÐÐ Ø ÑÓ Ð Ò ÓÒÒ Ø ÓÒ ×Ø ÔÔÖÓ
Ò × ÓÛ ÓÛ Û
ÓÒ×ØÖÙ Ø Ø ÔÔÖÓÔÖ Ø ÑÓ Ðº Ý Ù× Ò Ø ØÙ Ð Ø × Ø× ÖÓÑ ÙÔÔ Ö ÔÖÓ ×× Ó Ø Ö Ð ×Ó ØÛ Ö
Ú ÐÓÔÑ Òظ Û ØÖÝ ØÓ ×Ø Ñ Ø Ø ÒÙÑ Ö Ó Ò Ö ÒØ ×Ó ØÛ Ö ÙÐØ׺ Ï ÓÑÔ Ö × Ú Ö Ð ÔÖÓÔÓ×
ÑÓ Ð× Ò ØÖ Ø ÓÒ Ð ÑÙÐØ ÔÐ Ö Ö ×× ÓÒ ÑÓ Ð Ò Ø ÖÑ× Ó Ø ÓÓ Ò ××¹Ó ¹¬Ø ØÓ Ø
Ø × Ø× Ò
Ø ÔÖ Ø ÓÒ ÙÖ Ýº
目次
½
¾
¿
½º½
½º¾
½º¿
¾º½
¾º¾
½
序章
ººººººººººººººººººººººººººººººººººººººººººººº ½
研究の目的 º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º
¿
本論文の構成 º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º
研究の背景
ÖÓÙÔ Å Ø Ó Ó
Ø À Ò ÐÒ
Å À の概要 º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º
モデルの推定方法 º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º
ニューラルネットワーク
¿º½ ニューラルネットワークの概要
¿º¾ バックプロパゲーション º º º º
¿º¾º½ È アルゴリズムの概要 º º º
¿º¾º¾ 本研究で扱う È 計算 º º º º
º½
º¾
º½
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º ½¼
º ½¼
º ½¼
½
ソフトウェアプロジェクトデータ
変量の意味づけ
説明変数の選択
適用例
ºººººººººººººººººººººººººººººººººººººººººº ½
º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼
ºººººººº
º½º½ 重回帰分析 º º º º º º º º
º½º¾ Å À º º º º º º º º º
º½º¿ ニューラルネットワーク
º½º 結果 º º º º º º º º º º º
º¾ 予測 ´½µ º º º º º º º º º º
º¾º½ 重回帰 º º º º º º º º º º
º¾º¾ Å À º º º º º º º º º
º¾º¿ ニューラルネットワーク
º¾º 結果 ´予測µ º º º º º º º
º¿ 予測 ´¾µ º º º º º º º º º º
チューニング
考察
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
¾¾
¾¾
¾¾
¾¿
¾
¿¾
¿¿
¿
¿
¿
¿
¿
¿
表目次
½
¾
¿
ÆÓº はプロジェクト番号).
相関行列 º º º º º º º º º º º º º º º º º º º
各シナプス結合係数 ´Û Ñ µ の値. º º º º
各シナプス結合係数 ´ÛÑÓ µ の値. º º º º
各シナプス結合係数 ´Û Ñ µ の値. º º º º
各シナプス結合係数 ´ÛÑ µ の値. º º º º
各シナプス結合係数 ´Û Ó µ の値. º º º º º
推定結果 ´チューニングµ. º º º º º º º º º º
各シナプス結合係数 ´Û Ñ µ の値. º º º º
各シナプス結合係数 ´ÛÑÓ µ の値. º º º º
各シナプス結合係数 ´Û Ñ µ の値. º º º º
各シナプス結合係数 ´ÛÑ µ の値. º º º º
各シナプス結合係数 ´Û Ó µ の値. º º º º º
推定結果 ´予測µ º º º º º º º º º º º º º º º
実測データ
(
×
×
½¼
½½
½¾
½¿
½
½
×
×
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
変数を用いたニューラルネットワークによる予測結果.
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
¾¼
¾½
¿½
¿½
¿½
¿¾
¿¾
¿¿
¿
¿
¿
¿
¿
¿
¿
図目次
½
¾
¿
½¼
½½
½¾
½¿
½
½
½
½
ººººººººººººº
Å À の構造の概略. º º º º º º º º º º º º º º º º º
階層型モデルの概要. º º º º º º º º º º º º º º º º º º
ニューロンのモデルの模式図(入力層から中間層)
. º º
シグモイド関数の概形 ´« ½µ. º º º º º º º º º º º º
最急降下法. º º º º º º º º º º º º º º º º º º º º º º º
中間層数 ¾. º º º º º º º º º º º º º º º º º º º º º º º
中間層 ¹½ 個の階層型ニューラルネットワークの概形.
ºººººººº
ºººººººº
ºººººººº
ºººººººº
ºººººººº
ºººººººº
ºººººººº
ºººººººº
重回帰モデルによる予測結果(横軸:プロジェクト番号,縦軸:誤差二乗和)
. º º º º º º º º
Å À モデルによる予測結果(横軸:プロジェクト番号,縦軸:誤差二乗和). º º º º º º º
中間層のニューロン数の変化に対する誤差二乗和の変化 ´横軸:中間層数,縦軸:誤差二乗
和,学習回数:各 ½¼ 万回µ. º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º
中間層数 ¾ つの変化に対する誤差二乗和の変化 ´横軸:中間層数 ´Å½µ,奥行:中間層数 ´Å¾µ,
縦軸:誤差二乗和µ. º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º
学習回数ごとの誤差二乗和 ´横軸:学習回数,縦軸:誤差二乗和µ. º º º º º º º º º º º º º º
学習係数の変化に対する誤差二乗和の変化 ´横軸:学習回数,縦軸:誤差二乗和µ. º º º º º º
ウォーターフォール・モデル.
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
º
¾
½½
½
½
¾¾
¾
¾
¾
¾
¾
過去の結果に依存するシナプス結合係数と依存しないシナプス結合係数の誤差二乗和の変化
´横軸:学習回数,縦軸:誤差二乗和µ. º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾
本研究で扱うシグモイド関数º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼
ニューラルネットワークモデルによる予測結果(横軸:プロジェクト番号,縦軸:誤差二乗
和)
.
º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¿¼
½
序章
½º½
研究の背景
現在は高度情報化社会であると言われているように,社会の様々な分野において
Á Ì への依存度が益々高
まってきていることから,コンピュータシステムはビジネスの現場だけでなく,個人にとっても不可欠な存在
º
になっている 人間が頼っているシステムの多くはコンピュータプログラム,いわゆるソフトウェアを含んで
おり,システムの機能が拡大するにつれてソフトウェアが大規模化,複雑化,多様化し,需要量も急速に増大
している.実際にソフトウェアに依存しているシステムには,銀行のオンラインシステム,自動車のブレーキ
制御システム,電話交換システム,病院の患者診断システムなど数多く存在する.このようにコンピュータシ
ステムは様々な分野において重要な役割を担っている.これらのシステムは,社会生活で重要な責務を果たす
ものであり,故障や障害を起こしてはならないか,起こしたとしても許容可能な程度でなければならない
特に人命に関わる場合は重大であり,実際に
¾¼¼
年に起きた,速度計の不具合による飛行機が
½.
¾ 度も立て続
けに急降下した事故の原因は,飛行操縦システムのたった一つのバグによるものであった.これにより,死者
½¾ 人の重傷者を出すことになった例もある ¾ .
は出なかったものの,
コンピュータシステムはハードウェアとソフトウェアに大別されるが,近年では
Á
技術や定量生産技術な
どの技術革新により,ハードウェアの性能および信頼性の向上が目覚ましく進歩してくると,コンピュータの
運用技術としてのソフトウェアが重要となってきた.しかし,近年ではユーザの複雑化,多様化した要求の実
現や,ソフトウェアの需要量の増大,開発期間の短縮化の傾向が強まってきたことから,製品の不具合やトラ
ブルで多くのユーザに迷惑がかかるような事態が多発している.従って,このようなトラブルをなくすため
に,ソフトウェアの信頼性を向上させることが重要になってきている.ユーザの要求品質を満たすソフトウェ
アの開発を確実に成功へ導くためには,ソフトウェア開発プロセスにおいて,プロジェクトマネージャがソフ
トウェア開発プロジェクトから得られたプロセスデータを統計的に分析し,適切なプロジェクトマネジメント
を実施することが非常に重要である(例えば
¿ )º ソフトウェア製品は,ハードウェア製品とは異なり,コン
ピュータシステム上である動作を実現するために考えられた論理の集まりをプログラムによって実現した知的
生産物であり,外部環境からの運用時の影響を度外視すれば,ソフトウェア製品の故障の発生の原因は入力
データと,プログラム内部の状態のみに依存すると言える.つまりソフトウェアの故障は,ソフトウェア開発
プロセスにおいて人為的ミス等によって作りこんでしまったプログラム内の論理的な誤りやフォールトによっ
て発生する.ソフトウェアの故障によってシステムダウンが長期化することになれば,企業や個人の生活への
º
影響が生じることになり,社会生活を困難にさせることも考えられる これらの克服,あるいは未然防止のた
めに,
ÁÌ を構成する大きな要素の一つであるソフトウェアの開発形態には,大規模化,複雑化,あるいは多
様化への対応が求められている.一般的なソフトウェア開発形態として,ソフトウェアの開発過程をいくつ
かの工程に分解して,各工程の終了時には文書を作成して次の工程に移るというウォーターフォールモデル
がある.これは要件定義,外部設計,内部設計,プログラミング,テストの
´ ½ 参照µ.
つの工程からなる 図
ウォーターフォールモデルは滝の水が逆流することがないのと同じように,次の工程に進んだら前のステップ
に逆戻りをしないように開発を進める.これにより,全体を見通すことができ,スケジュールの立案や資源配
分,進捗状況の理解が容易にできるなどの点から,現在でも大規模プロジェクトではこの方法がとられてい
る.以下に,各工程についての説明を示す
.
½
図½
要件定義
ウォーターフォール・モデル.
´×Ô ¬ Ø ÓÒµ
経営課題や業務課題を通じて,情報システムの目的とシステムの目的と達成目標を明らかにし,業務分析を
通じて,適切な業務のあり方を考えながら,開発するシステムの機能を中心に,要求される様々な要求事項を
決定する.最終的には,これらの要求事項と,システムの実現可能性,システム構成案,開発スケジュールな
どのシステムの計画を合わせて,要求定義書の作成を行う.プロジェクトの根本的な部分となるため,プロ
ジェクトを成功に導く上で重要な工程である.
外部設計
´ ÜØ ÖÒ Ð × Òµ
新しいシステムを使った場合に業務がどのように変わるかを考えながら,システムの画面や帳票,周辺の情
報システムとの間のインタフェース¶½ などの設計を行う.つまり,要求仕様に基づいて,開発するシステムの
機能を決定する工程で,ソフトウェアの実相を意識せずに,ユーザ視点で記述する.これによりおよそのシス
テム規模が明らかになり,開発スケジュールと予算が試算できるようになる.これらはユーザと
Ë
との間で
行われる工程である.
内部設計
´ ÒØ ÖÒ Ð × Òµ
外部設計に対して,内部設計は外部設計で決めた機能を実現するための「仕組み」をプログラミングの観点
から設計する.具体的には,処理ロジックやモジュール構造の設計,テスト計画の詳細化などが挙げられる.
この工程はユーザがあまり関与することはなくソフトウェア開発者中心で行われる.
プログラミング
´ÔÖÓ Ö ÑÑ Ò µ
内部設計で決められたプログラムの詳細機能の使用に基づいて個々のプログラム単位であるモジュールの仕
様を作成し,各モジュールをコーディングしてモジュールを作成していく.また,モジュール単体でのテスト
を実施し,サブシステム内でモジュールをつなぎ合わせて行う結合テストをこの工程に組み込むこともある.
変数の名づけ方,タブ,コメントの使い方などについて,同じルールを用いてコーディングを行うことによっ
¶½ ¾ つの物体などの接点を言うが,ここではシステム間で交換される情報や制御などを指す.
¾
て,スムーズに開発を進めることができる.一般に,この工程が最も人手のかかる工程となる.
テスト
´Ø ×ص
単体テスト,結合テストに加え,システム全体を統合するシステムテスト,新システムの下での業務遂行を
確認する運用テストなどがある.外部設計や要求定義書に記載された機能や要件が期待通りに機能し,新シス
テムの下で業務をスムーズに行うことが出来るかどうかをユーザを交えて検証する.この工程で発見され阿多
バグや問題点が修正・解決されれば,研修・導入・移行などの作業を経て,新しいシステムの稼働となる.
以上のような工程からソフトウェア開発は構成される.ソフトウェアの信頼性を高めるという観点において
は,最終工程であるテスト工程が重要である.前述の通り,ソフトウェアが故障する原因は人為的ミス等に
よって組み込まれてしまった論理的な誤りによるものであり,この誤りを発見し取り除くことが出来るのはテ
スト工程であるからである.この工程では発見されていないフォールトを発見するために多様なテスト項目が
用意されており,新たに発見されたフォールトに基づいてプログラムの修正を行う.これにより,出荷前のソ
フトウェアを出荷する前にその品質,信頼性を高めることができる.しかし,これらのテスト項目に引っかか
らないフォールトが潜んだまま出荷されてしまえば,品質の低いシステムがユーザが使用し,様々なトラブル
を引き起こす原因となりうる.つまり,ソフトウェアに潜在しているフォールトをテスト工程ですべて検出
することが出来れば,信頼性の高いソフトウェアを作ることが出来る.しかしながら,テスト工程において
フォールトを除去することはウォーターフォール型開発の下では,それが出荷前の最後のチャンスであること
に注意が必要である.
½º¾
研究の目的
ソフトウェアの実行環境においては,実際にソフトウェアが故障して初めてプログラム内に故障の原因であ
るフォールトが滞在しているのかを知ることになる.したがってウォーターフォールモデルにおけるテスト工
程開始時において,プログラム内にフォールトがどのくらい存在しているのかを予測することが非常に重要で
ある
¸ ¸
.なぜなら,テスト工程終了時のフォールト数が予測値に達しなかった場合,そのプログラムに
は未発見のフォールトが潜んでいると考えられるため,テストのやり方を変えることによって本来発見されな
かったフォールトを取り除くことができるからである.
先行研究
では,多変量線形解析の手法をテスト工程以前に得られたソフトウェア開発プロジェクトデー
º
タに適用することによって,ソフトウェア開発プロセス改善の影響について量的に分析した 主に,フォール
ト数,費用超過率,納期延期率を目的変数,ソフトウェア開発プロジェクトデータを説明変数として重回帰分
º
析を適用し,それぞれの予測を行った これらの予測値が早期にわかり,問題が発見されれば,十分な契約の
再検討やプロジェクトマネジメント技法を使うことによって,ソフトウェアの品質を下げる要因になりうる
É
º
を早期に改善する事ができる 従って,これらの予測はプロジェクトを成功に導くために不可欠なもの
であり,正確な予測値が算出される必要がある.先行研究において作らたフォールト数に関する予測モデルに
ついては精度が悪く,十分な予測が出来ていなかったため,結果としてソフトウェアのフォールト数に関する
º
実用的な予測モデルを構築することができなかったといえる そこで,本研究では古典的な重回帰モデルに変
º
では Ë Å´ËØÖÙ ØÙÖ
ÕÙ Ø ÓÒ ÅÓ Ð 構造方程式モデルµ を適用
を適用する試みがなされ,例えば文献
しているº これらに対して,本研究では Å À´ ÖÓÙÔ Å Ø Ó Ó À Ò Ð Ò µ ½¼¸ ½½¸ ½¾ )による予測モデル
と,ニューラルネットワーク ´Æ ÙÖ Ð Æ ØÛÓÖ µ ½¿ による予測モデルの二つを提案するº これらの予測モデル
わる,新しいアプローチによるフォールト数の予測モデルを提案する 近年は重回帰モデルに対し,他の手法
¿
と実測データを使って,開発途上にあるソフトウェアに含まれる潜在フォールト数の予測精度が,従来の重回
帰モデルに対してどの程度向上するかについて検討・考察する.また,制約条件を除去し,各手法の特徴を十
º
分に活かすことによって構築された予測モデルの予測精度についての考察も行う なお,本論文においては,
Å À およびニューラルネットによるアプローチをコネクショニストアプローチと称する.精度の良い予測
モデルをソフトウェア開発プロジェクトに組み込むことによって,テスト工程の開始時におけるフォールト数
の予測値がわかれば,その予測値を目標に設定して多様なテストを行い,フォールトを除去することができ
る.これにより,高品質のソフトウェアを作ることができ,ユーザに多大な迷惑をかけるという事態を減らす
ことができると考えられる
½º¿
º
本論文の構成
¾
本研究が提案するコネクショアプローチによるモデルの概要について述べる. 章にて
¿
Å À の概要およ
びモデルの構築過程, 章にてニューラルネットワークの概要およびモデルの構築方法を示す.そして,文献
で扱った,上流工程から得られるソフトウェアプロジェクトデータの詳細について
章で述べる.ここで
は各ソフトウェアプロジェクトデータの意味付けおよび相関関係を示し,説明変数の選択方法について述べ
る. 章では,ソフトウェアプロジェクトデータを実際に使って,従来の重回帰モデルおよびコネクショニス
トアプローチによる予測モデルを構築し,各予測モデル,適用例,および結果について,チューニングと予測
の観点から示す.なお,予測精度の評価方法は,各モデルによる予測値と実測値との残差平方和を比較するこ
ととし,その比較結果,考察についても示す.また,さらに実用的な予測モデルを構築するために,各モデル
の特徴を生かした予測モデルについての提案も行う. 章にて,本研究の結論および今後の課題について検討
する.
¾
¾º½
ÖÓÙÔ Å Ø Ó Ó
Ø À Ò ÐÒ
Å À の概要
Å À は º º ÁÚ Ò Ò Ó(たとえば ½ ¸ ½
)によって提案され,複雑な構造をもった非線形システム
に対して入出力データから発見的自己組織化の原理に基づいてモデリングを行う方法論である.本研究で用い
Å À ½¾
る
の特徴は,少数の入力変数を組み合わせた基礎関数について回帰分析を行い,より正確な推定
モデルを,与えられた選択基準に従って多層的に積み重ねることである.これは,多くの入力変数を用いて重
回帰分析を行う場合などに,回帰係数が非常に多くなること,最適な関数形や次数を決定しにくいこと,多量
の入出力データと膨大な計算時間を要することを避けようというものである.
Å À では,入力変数の選択
方法や入出力データの分割方法,部分表現式の表現方法,モデルの選択方法,アルゴリズムの終了判定などに
一定の方式はなく,モデリングを行う対象のシステムに適応して種々に変更できる.この多様性により多種多
様なアルゴリズムを構成できるので,
Å À の多層構造によるモデルの表現能力に加えて,より複雑な多変
数や非線形系のシステムに対しても同定や予測が可能である.ソフトウェア信頼性の分野での他の適用例とし
ては,例えば文献
¾º¾
½
などが挙げられる.
モデルの推定方法
以下に,
Å À のモデルパラメータの推定について,文献 ½¾¸ ½
½
[手順 ]
Æ µ が与えられたとする.ここで,Ü は Ò 種
´Ü½ ܾ
Ü µ を意味す
類の入力変数(説明変数)からなる 番目のベクトルであり,具体的には Ü
る.また Ý は目的変数である.これら Ò 種類の入力変数から,Ü Ü のように ¾ つを選択し組み合わせた,
いま,入出力データが Æ 組,すなわち
´Ü Ý µ ´
½¾
で述べられた方法に沿って示す.
¡¡¡
¡¡¡
Ô
以下の重回帰モデルを基礎関数として用いる.ここで, ¼
Þ
¼
½
Õ
は定数係数である.
¡¡¡
· ½ Ü · ¾ Ü · ¿ ܾ · ܾ · Ü Ü
´ ½,¾, ,Ò´Ò ½µ ¾µ
Ô
Õ
Ô
Ò
Ô
Õ
¡¡¡
Õ
´¾º¾º½µ
Å À は柔軟性の高い手法であり,基礎関数に用いる説明変数の種類数や次数はモデル適用者の自由である
¾
¾ 次までとした.
[手順 ¾]
が,ここではパラメータ推定の煩雑さなどを踏まえ, 種類かつ
以下の誤差二乗和
Æ
´Ý Þ µ¾ ´
½¾
´¾º¾º½µ の回帰係数
¼∼
½
を最小化する回帰分析により,式
¡¡¡
Ò´Ò ½µ ¾µ,
´¾º¾º¾µ
を推定する.そのとき,変数選択のために各係数
において,どのパラメータを採用するかについては総当たり法で調べる.すなわち,基礎関数の候補を以下の
ようにすべて検証し,説明変数を取捨選択する.
Þ
Þ
Þ
Þ
Þ
Þ
¼
· ½Ü
Ô
¼
· ¾Ü
Õ
¼
ºº
º
· ¿ ܾ
Ô
¼
· ܾ
Õ
ºº
º
· ½ Ü · ¾ Ü · ¿ ܾ · ܾ ¾
¾
¼ · ½Ü · ¾Ü · ¿Ü · Ü · Ü Ü
¼
Ô
Õ
Ô
Õ
Ô
Õ
Ô
Õ
Ô
Õ
ÁÒ ÓÖÑ Ø ÓÒ Ö Ø Ö ÓÒ,赤池情報量規準 ½ µ を用いる. Á が最小となる
ように説明変数を取捨選択した重回帰式を推定する.これは Å À の部分表現式であり,Þ は中間変数と
呼ばれる ½¾ .ここでたとえば,入力変数の種類数 Ò が Ò ¿ の場合は,中間変数は Þ½ ,Þ¾ ,および Þ¿ の3
その選択基準には,
Á ´
つとなる.
¿
第 ½ 層の結果として,Þ
[手順 ]
« および ¬ を用いて,層の出力がすべて ½ 変数の ½ 次式 Þ « · ¬Ü
Þ の推定値¶¿ Þ を手順 ½ において与えられたデータであるとみることにより,
ܽ ޽ ܾ ޾
Ü
Þ として新たな入出力データを構成し,手順 ½ に戻る.以後,手順 ½ から
« · ¬Ü の形で表されたとき,この手
手順 ¿ までを繰り返す.一方,層の出力がすべて ½ 変数の ½ 次式 Þ
が定数
の形式に表せない場合¶ ¾ ,
¡¡¡
Û
Û
順を終了する.最後の部分表現式に前層での中間変数を代入し,同じ操作を第
最終的な推定モデル
½ 層まで逆向きに繰り返して,
Á は,定義により以下のとおりである.
Ò ÐÓ ´É Òµ · ¾ × ´ · ½µ
を得る.なお,本研究で用いる
Á
´¾º¾º¿µ
´¾º¾º½µ の右辺で実際に採用されている説明変数の個数,É は 個の説明
変数を採用したときの残差平方和である.ここで, Á 値を小さくする説明変数の組み合わせが複数あると
き,選択されている説明変数が少ないもの,または次数が低い組み合わせを採用する. Å À の構造を図 ¾
に示す ½½ .
ここで,Ò はデータの総数, は式
¶¾ ここで Ü は ÜÔ
¶¿ Ò
¿ のとき
ÜÕ Ü¾Ô Ü¾Õ ÜÔ ÜÕ のいずれかである.
½ ¾ ¿.
図¾
Å À の構造の概略.
¿
ニューラルネットワーク
すでに数多くの分野においてニューラルネットワークによるモデルが用いられている.本研究では,中間層
を
½ つおよび ¾ つもつ階層型ニューラルネットワークモデルを採用することとするが,モデル自体には新規性
はない.しかしながら計算手順などについて述べておく.
¿º½
ニューラルネットワークの概要
ニューラルネットワークはその形態によって,階層型ニューラルネットワークと相互結合型ニューラルネッ
¾ 種類に大別でき,本研究では階層型ニューラルネットワークを用いる.階層型ニューラルネット
ワーク(Ð Ý Ö Ò ÙÖ Ð Ò ØÛÓÖ )は,パターン認識のため,心理学者ローゼンブラット( º ÊÓ× Ò Ð ØØ)に
より提案されたパーセプトロン(Ô Ö ÔØÖÓÒ)がその原型であり,入力層( ÒÔÙØ Ð Ý Ö)と出力層(ÓÙØÔÙØ
Ð Ý Ö)の間に ½ つ以上の中間層(
Ò Ð Ý Ö)と呼ばれる中間的層をもつ多層構造になっている ½¿¸ ¾¼ .
また,各層はニューロンと呼ばれるノードから構成される.図 ¿ にその概要を示す ½ .
トワークの
図 ¿ 階層型モデルの概要.
このモデルでは,外部から入力層に入力されたデータを中間層へ,中間層に入力されたデータを出力層へと
伝達する.各ニューロン間にはシナプス結合係数と呼ばれる変数 Û があり(図
を参照)
,出力層のニューロ
ンの出力値と教師信号(望ましい出力値)が一致するようにその値が決められる.具体的には,その初期値と
してランダムに数値を与えておき,繰り返し計算を通じてシナプス結合変数の値が求められる.
図
ニューロンのモデルの模式図(入力層から中間層).
すなわち,出力値と教師信号の誤差二乗和を誤差関数として定義し,最急降下法によってこれが小さくなる
´ µ
ÔÖÓÔ Ø ÓÒ)学習法 ´ ȵ という.誤差逆伝播学習法では,最急降下法を
ように各シナプス結合係数を変化 学習 させることによって,最終的に正しい出力が得られるようにする.
この方法を誤差逆伝搬(
ÖÖÓÖ
用いて誤差関数の大域的最小値の探索を試みるが.この最急降下法は本質的には局所的な最小値を見つける方
法であり,大域的最小値を見つける保証はない.
なお,最急降下法を利用するにあたり,各ニューロンの出力関数は微分可能な関数でなければならない.以
´¿º½º½µ のシグモイド関数は微分可能であり,式 ´¿º½º¾µ のように導関数が元の関数を使った形に
.なお,« はシグモイド関数の傾きに影響し,
なるため,本研究ではこれを用いることにする ½¿ (図 参照)
下に示す式
これはゲインと呼ばれる.
½
´Üµ ½ · ÜÔ´
«Üµ
Ü « ´Üµ´½ ´Üµµ
´¿º½º½µ
´¿º½º¾µ
図
シグモイド関数の概形 ´«
½µ.
¿º¾
バックプロパゲーション
¿º¾º½
È アルゴリズムの概要
バックプロパゲーションのアルゴリズムを以下に示す
¾¼ º
½º ネットワークの初期化
重みの初期値を,乱数を用いて小さな値に設定する.
¾º 入力ベクトルの入力 ´前向きµ
まず,入力層に入力ベクトルが入力される.入力ベクトルは出力層へ向けて伝播する.各ニューロン
は,前層のニューロンの出力と各シナプス結合係数との積和を求め,シグモイド関数によって出力値が
決定する.
¿º 出力層への教師信号の入力
出力層へは,入力ベクトルに対応した教師ベクトルが与えられる.
º 誤差逆伝播によるシナプス結合係数の学習
次式に基づいて,シナプス結合係数を更新する.
´新しいシナプス結合係数µ ´前のシナプス結合係数µ
·´学習係数µ δ ´ニューロンの出力µ
¢
¢
´¿º¾º¿µ
ここで,ニューロンの出力とは,そのシナプス結合係数に繋がる二つのニューロンのうち,前のニュー
ロンからの出力を意味する.すなわち,そのシナプス結合係数を通る値ということになる.δは次のよ
うになる.
出力層に繋がるシナプス結合係数の学習時:
Æ ´出力µ ´½ ´出力µµ ´´教師信号µ ´ニューロンの出力µµ
¢
¢
´¿º¾º µ
それ以外のシナプス結合係数の学習時:
Æ ´出力µ ´½ ´出力µµ ´½ つ後ろの層からのÆのシナプス結合係数を含む積和µ ´¿º¾º µ
¢
¢
º ¾ へ戻る
¾ から の動作を繰り返して,シナプス結合係数を学習していく.¾ から
の動作を,任意の学習回数
行ったら終了する.
¿º¾º¾ 本研究で扱う È 計算
前述のとおり,本研究で採用した中間層数は
½ つおよび ¾ つとするため,各場合におけるそれぞれのシナプ
ス結合係数の学習過程と変数の定義について以下に示す.
中間層数
½
中間層と出力層のシナプス結合係数の学習
出力層の一つのニューロンの出力 Þ は誤差関数
数として記述できる.また,出力 Þ は,ニューロン
´¿º¾º µ のような関
における内部状態 Ù をシグモイド関数 ´Üµ に適用し
を構成する変数であり,形式的に式
´¿º¾º µ のように記述できる.さらに内部状態 Ù は,各ニューロンに繋がるシナプス結合
係数 ÛÑÓ から構成されるので式 ´¿º¾º µ のように記述できる.以上より,式 ´¿º¾º µ,式 ´¿º¾º µ,および式
たものなので,式
½¼
´¿º¾º µ は式 ´¿º¾º µ のような合成関数の関係になっている.
´Þ µ,
Þ
´Ù µ
Ù
´ÛÑÓ µ
´ ´ ´ÛÑÓ µµµ
´¿º¾º
´¿º¾º
´¿º¾º
´¿º¾º
誤差逆伝播法では,各シナプス結合係数が一斉に最急降下法により値の更新を行う.ここで ÛÑÓ
関数
を構成する変数になるので,
を
ÛÑÓ
で偏微分を行い,最急降下法に従って ÛÑÓ
µ
µ
µ
µ
は誤差
の値を更新
する.
図
´¿º¾º½¾µ のように展開で
きる.式 ´¿º¾º½¾µ の偏微分を計算すると式 ´¿º¾º½¿µ∼式 ´¿º¾º½ µ となり,¡ÛÑÓ は式 ´¿º¾º½¾µ のように求
められる.また.修正前のシナプス結合係数を ÛÑÓ ´Ôµ すると.修正後のシナプス結合係数 ÛÑÓ ´Ô · ½µ
は式 ´¿º¾º½ µ のように求められる.ここで,Ô は繰り返し計算のインデックスである.
は修正量をあまり
シナプス結合係数の修正量を
¡ÛÑÓ
最急降下法.
とし,合成関数の微分の連鎖律により,式
½½
大きくしないための学習係数とする.以下にこれらの定式化の結果を列挙しておく.
½
¾
Ù
¡ÛÑÓ
Þ
Þ
Ù
Ò
½
Ñ
½
´Þ
Ø µ¾
´¿º¾º½¼µ
´¿º¾º½½µ
Ý ÛÑÓ
ÛÑÓ
Þ
½
Þ ¾
¡
Ò
½
Þ
Ù
´Þ
¡
Ù
ÛÑÓ
Ø µ¾ Þ
Ù ´Ù µ «Þ ´½ Þ µ
´¿º¾º½¾µ
Ù
Ý ÛÑÓ
Ý
ÛÑÓ
ÛÑÓ
½
¡ÛÑÓ
´Þ Ø µ«Þ ´½ Þ µÝ
ÛÑÓ ´Ô · ½µ ÛÑÓ ´Ôµ · ¡ÛÑÓ
Ñ
Ø
´¿º¾º½¿µ
´¿º¾º½ µ
´¿º¾º½ µ
´¿º¾º½ µ
´¿º¾º½ µ
ここで Ø は Þ のための教師信号である.
入力層と中間層のシナプス結合係数の学習
中間層と出力層のシナプス結合係数の学習と同様に,誤差逆伝播法によって値の更新を行う.中間層の一
Ý ,中間層の内部状態を Ó ,入力層と中間層の各シナプス結合係数を Û Ñ ,入力
層の一つのニューロンの出力を Ü とする.¡Û Ñ は式 ´¿º¾º¾ µ のように求められる.また.修正前のシナ
プス結合係数を Û Ñ ´Ôµ とすると.修正後のシナプス結合係数 Û Ñ ´Ô · ½µ は式 ´¿º¾º¾ µ のように求めら
つのニューロンの出力を
れる.
½¾
´Ó µ
Ý
Ð
Ó
¡Û Ñ
´¿º¾º½ µ
ÛÑ
Ý
¡
Ò
Ý
Ù
Ý
Þ
½
Ó
ÛÑ
¡Û Ñ
¡
Ñ
Ý
½
Ò
Ý
Ý
Ó
´¿º¾º½ µ
ÜÛ Ñ
½
´Þ
Ý
Ó
Þ
Ù
¡
¡
Ó
ÛÑ
Ù
Ý
Ý ÛÑÓ
½
´¿º¾º¾¼µ
´¿º¾º¾½µ
ÛÑÓ
Ø µ«Þ ´½ Þ µÛÑÓ
´¿º¾º¾¾µ
´¿º¾º¾¿µ
«Ý ´½ Ý µ
´¿º¾º¾ µ
Ü
´¿º¾º¾ µ
Ò
½
´Þ
Ø µ«Þ ´½ Þ µ
ÛÑÓ «Ý ´½ Ý µÜ
Û Ñ ´Ô · ½µ Û Ñ ´Ôµ · ¡Û Ñ
¢
´¿º¾º¾ µ
´¿º¾º¾ µ
この学習を繰り返すことによって,シナプス結合係数を改善し,最終的に出力層の出力値を望ましい出力に
近づける.十分な回数の学習を通して得られたシナプス結合係数をモデルに採用することにする.
中間層数
図
¾
¿ で示した中間層を図
のように
Ž,ž の二つに分けるº
½¿
図
新たに,変数を以下のように定義する
Ú
Ý
Ô
Ó
Û Ó
ÛÑ
ÛÑ
×
×
×
×
Û Ó
中間層数 ¾.
º
¾
中間層 Å ½ の 番目のニューロンの出力
中間層 Å ¾ の × 番目のニューロンの内部状態
中間層 Å ½ の 番目のニューロンの内部状態
中間層 Å ¾ の × 番目のニューロンと出力層の 番目のニューロンのシナプス結合係数
中間層 Å ½ の 番目のニューロンと中間層 Å ¾ の × 番目のニューロンのシナプス結合係数
入力層の 番目のニューロンと中間層 Å ½ の 番目のニューロンのシナプス結合係数
中間層 Å の × 番目のニューロンの出力
Ñ の学習について述
べるº 修正前のシナプス結合係数を Û Ñ ´Ôµ とすると,修正後のシナプス結合係数 Û Ñ ´Ô · ½µ は式のよ
×
の学習及び,ÛÑ
うに求められる
×
の学習方法については前述と同様となるため,ここでは Û
º
½
´Ù µ
Þ
Ø
Ù
Ú
Õ
´¿º¾º¾ µ
×
½
×
´Õ µ
Ý ÛÑ
×
½
×
´Ù µ
Ý
Ð
Ù
´¿º¾º¿¾µ
ÛÑ
Ý
×
Ý
Ó
Ú
Õ
Þ
Ù
¡
¡
½
Ú
Þ
¡
½
×
×
×
½
Þ ¾
Þ
Þ
Ù
Ù
Ú
Ò
½
´Þ
´¿º¾º¿ µ
´¿º¾º¿ µ
×
¡
¡
´¿º¾º¿ µ
×
Ø µ¾ Þ
´¿º¾º¿ µ
Ø
Ù ´Ù µ «Þ ´½ Þ µ
´¿º¾º¿ µ
Ø
Ú
×
Ú
Ú
Õ
Õ
Ý
×
×
´Þ
×
´¿º¾º¿ µ
Û Ó
×
×
Ø µ«Þ ´½ Þ µÛ Ó
×
×
Ñ
½
Ø
Ý
Ó
×
×
Ý
ÚÛ Ó
½
×
´¿º¾º ¼µ
×
Õ ´Õ µ«Ú ´½ Ú µ
×
Ó
ÛÑ
Ó
ÛÑ
Õ
Ý
Ù
Ú
¡
×
Ò
Ú
´¿º¾º¿¿µ
ÜÛ Ñ
½
Ø
Ý
´¿º¾º¿¼µ
´¿º¾º¿½µ
×
Ñ
¡Û Ñ
´¿º¾º¾ µ
ÚÛ Ó
×
×
×
½
×
Ý ÛÑ
´Þ
×
ÛÑ
×
Ø µ«Þ ´½ Þ µÛ Ó
×
×
Ð
½
´¿º¾º ¾µ
×
«Ú ´½ Ú µÛÑ
Ó ´Ó µ«Ý ´½ Ý µ
¢
´¿º¾º ½µ
×
ÜÛ Ñ
½
Ü
×
´¿º¾º ¿µ
´¿º¾º µ
´¿º¾º µ
¡Û Ñ
ÛÑ
Ý
Ø
×
¡
Ò
½
½
Ý
Ó
´Þ
¡
Ó
ÛÑ
Ø µ«Þ ´½ Þ µÛ Ó
×
«Ú ´½ Ú µÛÑ «Ý ´½ Ý µÜ
Û Ñ ´Ô · ½µ Û Ñ ´Ôµ · ¡Û Ñ
¢
中間層数
×
×
×
´¿º¾º µ
´¿º¾º µ
½
複数の中間層からなるニューラルネットワークモデルにおける一般的なシナプス結合係数の学習過程につい
て以下に示す.図
に示すような Ñ 層から構成される階層型ニューラルネットワークを考える
図
第
層
´
¾¿
¡¡¡
中間層 ¹½ 個の階層型ニューラルネットワークの概形.
ѵ の各ニューロンの出力関係は次式のように示される.
´Ù µ
Ý
Ù
ここで,Ý は,第
Û ½
は,第
層の
½ 層の
Ò
½
½
´¿º¾º µ
Û ½ Ý ½
番目のニューロンの出力値,Ù は,第
番目のニューロンと第
ロンのシナプス結合係数,
は,第
層のニューロン数である.そして,Ø
Ñ
Ô
層の
½ 層の
´¿º¾º µ
層の
番目のニューロンの内部状態,
番目のニューロンと第
´
層の
番目のニューロンの入出力関数 シグモイド関数
番目のニュー
µ¸Ò
は,第
を最終層 Ñ 層のニューロン Ô の出力に対する教師信号とし,ニューラ
Ñ
ルネットワークの評価関数として,出力層の出力に対する教師信号 ØÑ
Ô と実際の出力 ÝÔ の
と,
½¿ .
は以下のようになる.
½
¾ 乗誤差
とする
½
¾
シナプス結合係数
¡Û ½
Û ½
ÒÑ
½
Ô
´Ý
Ñ
Ô Ø µ¾
´¿º¾º ¼µ
Ñ
Ô
を評価関数が小さくなるように変化させればよいので,シナプス結合係数の変化量
には次式のような関係式が成り立っている.
¡Û ½
´¿º¾º ½µ
Û ½
» ここで,右辺の式は次式のように分解できる.
Û ½
さらに,右辺の積の第
Û ½
´¿º¾º ¾µ の右辺の第 ½ 項を Æ
Ò
½
Ð
½
Û ½
´¿º¾º ¾µ
Û ½ Ý ½ Ý ½
´¿º¾º ¿µ
Ð
Ð
と表すと以下のようになる.
Æ
式
Ù Û ½
¾ 項は次式のように表せる.
Ù
式
Ù
´¿º¾º µ
Ù
´¿º¾º ¿µ と式 ´¿º¾º µ から式 ´¿º¾º ¾µ は以下のように表される.
Æ Ý ½
Û ½
¡Û ½
にÆ
ここで,最急降下法を適用するためには,
´¿º¾º µ
Ý ½ に比例して修正すればよいので,以下の式が作
られる. は学習係数を表す.
Æ
´¿º¾º µ
Ù
Ý
Ý Ù
´¿º¾º µ
´Ù µ
´¿º¾º µ
´¿º¾º µ の第 ¾ 項は以下のように分解できる.
Ý
Ù
式
Æ Ý ½
を分解すると以下のように表せる.
Æ
式
Û ½
´¿º¾º µ で用いる関数
はシグモイド関数となるため,式
Ý
Ù
また,式
Ù
´¿º¾º µ は式 ´¿º½º½µ から以下のように表せる.
«Ý ´½ Ý µ
´¿º¾º µ の右辺の第 ½ 項を計算する場合,次の ¾ つの場合に分けて考える必要がある.
½
´¿º¾º µ
½º 出力層のニューロン Ô の出力値 Ý の変化の評価関数 への影響を考える場合
¾º 入力層または中間層における第 層のニューロン の出力値 Ý の評価関数 への影響を考える場合
Ñ
Ô
½ の場合,式 ´¿º¾º µ を利用すると,式 ´¿º¾º µ は以下のように表せる.
Ý
Æ
´Ø
«´Ø
Ñ
Ô
¾
また, の場合,式
Ñ
Ô
Ñ
Ô Ý µ
Ñ
Ô Ý µÝ ´½ Ý µ
´¿º¾º ¼µ
´¿º¾º ½µ
Ñ
Ô
Ñ
Ô
Ñ
Ô
Ñ
Ô
´¿º¾º µ を利用すると ´¿º¾º µ は以下のように表せる.
Ý
Ù
½
Ð
Ù
½
Ð
Ò
Ð
½
Ò
·½
´
Ð
·½
Ð
·½
«
½
Ð
·½
Ò
Ò
´
Ù ·½ Ý
½
Ð
´¿º¾º ¾µ
Ð
·½
Ð
·½
Ò
Æ
Ù ·½
Ý
·½
Ò
½
Û
´Æ ·½ Û
Ð
´Æ ·½ Û
Ð
Ð
½¾
·½
ݵ
·½
µ
µÝ ´½ Ý µ
Ñ
Ô
¾¿
Ò
¡¡¡
·½
Ð
·½
Ð
Ð
Û
Ñ
Ô
¡¡¡
Ñ ½µ.
´¿º¾º ¿µ
以上をまとめると,Ñ 層からなる階層型ニューラルネットワークのバックプロパゲーションによるシナプス
結合係数の修正量
¡Û ½
は以下のように表せる.
¡Û ½
Æ
Ñ
Ô
Æ
´
«´Ø
´¿º¾º µ より,
および Ý
½¾
Ñ
Ô «
´
式
Æ Ý ½
Ò
Ð
·½
½
¡¡¡
Ò ½
Ý µÝ ´½ Ý µ
Ñ
Ô
Ñ
Ô
´Æ ·½ Û
Ð
½¾
¡¡¡
Ð
·½
½¾
¡¡¡
Ò
¾¿
¡¡¡
ѵ.
Ñ
Ô
µÝ ´½ Ý µ
Ñ
Ô
¾¿
Ò
Ñ ½µ.
½ の値は既知であることから,シナプス結合係数の修正量 ¡Û ½
算することにより求められる.まず,式
´¿º¾º µ の Æ
Ñ
Ô
´¿º¾º µ
´¿º¾º µ
Ñ
Ô
¡¡¡
´¿º¾º µ
の値を出すことによって,Ñ は Æ を計
½ 層と Ñ 層の間のシ
½ Ñ の修正量が求まる.次に,式 ´¿º¾º µ に今求まった ÆÑ を代入し,既知の ÝÑ ½ と
ナプス結合係数 ¡Û
Ð
Ñ ½ Ñ
Ñ ½
ÛÐ
を用いて,Æ
が求まる.これを式 ´¿º¾º µ に代入することによって,シナプス結合係数の修正量
Ñ ¾ Ñ ½
¡Û
が求まる.すなわち,¾ 番目に Ñ ¾ 層と Ñ ½ 層のシナプス結合係数が求まる.このように,
Ñ
Ô
出力層に近いシナプス結合係数から入力層に向かって修正が行われる.
½
ソフトウェアプロジェクトデータ
本研究の目的の一つは,ソフトウェア開発の最終段階であるテスト工程に入るまでに得られた多変量データ
(ソフトウェアプロジェクトデータと称する)を用いて,コネクショニストアプローチによる予測モデルを上
述のように構築することで,プログラム内に含まれたソフトウェアフォールト数をできるだけ早期に精度よく
に基づいて,あるソフトウェア開発プロジェクトにおいて観
見積りたいというものである.以下に,文献
測された
º½
½
個のプロジェクトデータの意味付けおよび変数の選択方法を示す.
変量の意味づけ
本研究では,既存の論文
で使われたソフトウェア開発プロジェクトのデータを用いて,構築されたモデ
ルの予測精度を評価した.以下に,各データの意味付けも合わせて列挙する.このデータは文献
½
により解
析されたものでもあり,以下の変数リストはそこでの記述と同様であることを付記しておく.
ܽ
プロジェクト初期のリスク率
½ Ò
´¼∼½¼¼µ
¸
リスク評価表における ∼ 個までのリスク項目はそれぞれ重さを持っており リスク率の範囲は
¼か
½¼¼ の間とするº プロジェクトリスクはリスク評価表に基づいてインタビューすることによって確認
されるº 確認されたリスクから初期のプロジェクトのリスク率は,
ら
Ê× Ö ØÓ
によって計算される
ܾ
Ö × Ø Ñ´ µ Û
Ø´ µ
¢
½
º
´
½¾
´ »ÃÄÇ ¶ µ:
開発の大きさに対する契約内容の問題数 数
¡¡¡
Òµ.
º
契約の再検討の間に発見された問題の算出された数である その問題とは問題の規模に依存した重さ
である
º
問題の重さ=主要な問題
Ü¿
· 中程度の問題 ¼
¢
+小さな問題 ¢
¼ ½.
´ »ÃÄÇ µ:
開発の大きさに対する日数 日
契約内容の確認の時に発見される問題を解決する際にかかった日数の総数
解決されるべき契約を再検討している間にその問題が発見されるのにかかる日数の合計である
Ü
´ »ÃÄÇ µ:
開発の大きさに対する計画の問題の数 数
プロジェクト計画の確認の際に発見された問題の数の総数
プロジェクト計画を再検討している間に発見される問題の算出された数である
Ü
º
´ »ÃÄÇ µ
º
開発の大きさに対する日数 日
プロジェクト計画の確認の際に発見される問題を解決する際にかかった日数の総数
この変数は解決されるべきプロジェクト計画を再検討している間にその問題が発見されるのにかかる日
数の合計である
Ü
º
設計品質評価の層別因子
¶ Ã ÐÓ Ä Ò × Ó
Ó
´½
¼
評価あり,
評価なし
.
½
µ
開発中及びテスト中に発見されたフォールト数
Õ
フォールト数 = 受け入れテスト中に発見されたフォールト数 + 製品中のフォールト数
費用超過率
»
費用超過率 = 実際の費用 予算
もし費用超過比が
½º¼ 以上になれば¸ 費用がソフトウェア開発予算を超えたということを意味する.
納期延期率
»
納期延期率 = 実際の開発期間 予定の開発期間
もし納期延期比が
とを意味する
表
½ に文献
º
½º¼ 以上になれば¸ 開発期間が予定されたソフトウェアの開発期間を超えたというこ
に掲載されたデータセットを示す¶ .
表 ½ 実測データ
ÆÓº
½
¾
¿
½¼
½½
½¾
½¿
½
½
½
½
½
½
º¾
表
¶
ܽ
½
½¿
½½
¾
½
¾
¿
¾
¾
¿
¾
¿¼
¾
¿
¾¿
¾
¾
½
¿¼
ܾ
¼º¿¾¿
¼º ¼
¼º½¾
¼º½ ¼
¼º½¿½
¼º ¿
¼º¾ ½
¼º¼
¼º¼
¼º¿¾¿
¼º¿¾
¼º¾
¼º½
½º¾ ¼
¼º¿¿½
¼º¿
¼º¼
¼º¼¼¼
¼º¼
Ü¿
º¼
º ¿
º¿¾¾
¿º¼ ¿
½º¿ ¿
¾º ¿
º¼ ¼
¼º½¿
¼º ¿
¾º½
¾º¿¿
½º ¾¿
½º ¼
º ¼¼
º
½¼º¿
¾º ½
¼º¼¼¼
¼º½½
(ÆÓº はプロジェクト番号).
Ü
¼º ¿
¼º¾
¼º¼
¼º¾ ¿
¼º¼ ¾
¼º
¼º
¼º¼
¼º¼
¼º¾
¼º¾ ¾
¼º¿¾½
¼º¾¾
½º ¿
¼º½
¼º¿
¼º¼¼
½º½
¼º½
Ü
½¼º ¿¼
¾º ½
½º½
½½º ¼
º ¾
¼º¼¼¼
½ º¿
¼º ½
¼º ¿
¿º¾¾
¿º ¾¿
¿º¾¼
¾º
¾º ¼¼
º
½º ¿
¼º¼
½¼º¼¼¼
¼º ½
Ü
¼
¼
¼
¼
¼
¼
¼
¼
¼
¼
¼
¼
¼
¼
½
½
½
½
½
Õ
½ ½º¼¾ ½º¼
¼ ½º¼¾ ½º¼
¾ ¼º ½º¼¼
½º¼¼ ½º¼¼
¼ ½º¼¼ ¼º
½ ½º¼¿ ½º¼
½º¼ ½º¼
¼ ¼º ½º¼¼
¿ ½º¼ ½º¼
½º½¼ ½º¼
½º½ ½º¼
¿ ½º¼ ½º¼
¾ ½º¼¼ ½º¼¼
¼ ½º½¼ ½º¾¾
¼ ¼º ½º¼
¼ ¼º ½º¼¼
¼ ¼º ½º¼¼
¼ ¼º ¼º
¼ ¼º ¾ ½º¼¼
説明変数の選択
½ のデータを相関分析することによって得られた各変数間の相関関係を表 ¾ に示す.
ܾ から Ü
については小数点以下第
位を四捨五入して掲載した.
¾¼
表 ¾ 相関行列
ܽ
ܾ
ܽ
½
ܾ ¼º¾¾
½
Ü¿ ¹¼º¼¾ ¼º ½
Ü ¼º½
¼º
Ü ¼º¾ ½ ¼º ½
Ü ¹¼º¼
¹¼º¾
Ü
½
¼º¾¾
¼º ¼
¼º½ ¼
¼º ¿¼ ¹¼º½ ¼ ¹¼º½
¼º ¾ ¼º ¿ ¼º¼ ¾
¼º
¼º
¼º¿ ¼
Õ
表
Ü¿
Ü
½
¼º ½
¹¼º¼¼¾
¹¼º½ ¼
¹¼º¼½
¼º
Ü
½
¹¼º½ ½ ½
¹¼º½ ¹¼º ¼¿
¼º¾¾ ¹¼º ¿
¼º
¹¼º¾ ½
¾ より,相関関係について以下のことが考えられる.
¯
Õ
¯
は ܽ と Ü に強い相関を示す.
¯
¯
は ܽ と Ü に強い相関を示す.
は ܾ と Ü に強い相関を示す.
¯
¯
は ܽ と Ü に強い相関を示す.
ܾ は Ü¿ と Ü
ܾ と Ü は Ü
に強い相関を示す.
に強い相関を示す.
以上の相関関係および,全てのパターンの重回帰分析による適合度を考慮して説明変数の選択を行った.その
結果,各目的変数に対して選ばれた説明変数は以下のようになった.
Õ
:ܽ ,ܾ ,Ü
:ܽ ,ܾ ,Ü ,Ü
:ܽ ,ܾ
É に対する予測を重回帰モデルによって行っている.開発中及び
テスト中に発見されたフォールト数 ´ µ,費用超過率 ´ µ および納期延期率 ´ µ についての予測モデルおよ
このデータを解析した文献
では,各
Õ
び予測結果を以下に示す.
Õ
Ë
Ë
Ë
¼ ¼ · ¼ ½ ¿Ü½ ¾ ¿ ܾ ¾
¾
¼ ¾ · ¼ ¼¼ ܽ · ¼ ½ ¿Ü¾ ¼ ¼ ¾Ü
¼ ¾
¼ ¼ · ¼ ¼¼¾ ܽ · ¼ ½ ¼Ü¾
¼ ¼¿
Ü
¼ ¼ ¼Ü
´
´
´
´
´
´
º¾º½µ
º¾º¾µ
º¾º¿µ
º¾º µ
º¾º µ
º¾º µ
本研究では重回帰モデルの代わりにコネクショニストモデルを用いたとき,どの程度の予測精度が向上するか
に興味があるため,式
´ º¾º½µ 同様3つの変数,ܽ ,ܾ ,および Ü
測値と実測値の残差平方和を Ë とする.
¾½
を選び,モデルの構築を行った.また,予
適用例
上記の
¿ つの手法による予測モデルについて,チューニングと予測の観点から精度がどれほど向上するかを
考察,検討する.
º½
チューニング
文献
では,表
½ にある ½
個の開発プロジェクトデータを用いてモデルを構築した.これは本来予測す
べきフォールト数も考慮したモデルになるため,厳密には予測モデルではないが,本研究の目的は古典的なモ
´
µ
デル 重回帰モデル とコネクショニストアプローチによるモデルを予測精度という観点において比較し予測
½
精度が向上したかどうかを検討・考察することである.従って,
½
個の全てのデータから予測し,
個の予
測値を求めることを本論文ではチューニングと称し,各モデルの適用例及び結果について示す.
º½º½ 重回帰分析
文献
による重回帰分析による推定結果は以下のとおりである.
Õ
Ë
図
¿,
¼ ¼ · ¼ ½ ¿Ü½ ¾ ¿ ܾ ¾
¾
Ü
± 信頼区間を示す.実測値が信頼区間に入らないプロジェクトは ÆÓº
,½¼,½½,½¿,½ および ½ の プロジェクトとなった.
に実測値,予測値,およびその
, ,
´ º½º½µ
´ º½º¾µ
図
重回帰モデルによる予測結果(横軸:プロジェクト番号,縦軸:誤差二乗和).
¾¾
º½º¾
Å À
Å À による推定結果は以下のとおりである.第 ½ 層
¼ ¼ ¾ ¿½Ü½ · ¼ ¼½½½ ¿Ü¾½ ¾ ¿¾ ¼ ¼Ü¾¾
½
Ë ¿½ ¾ ¿
¼ ¾ ¿½ ¿ · ¼ ¼¼¾ ܾ½ ¼ ¼ ¼¾Ü½Ü
¿ ½½
´ º½º µ
´ º½º µ
¿
¾ ¼ ½¿ ¾ ½ ¾ Ü
¿ ½¾
´ º½º µ
´ º½º µ
Ë
第
½
¸
´ º½º¿µ
´ º½º µ
¾
Ë
ここで,左辺の
¾ 及び
½
½ ܾ¾
¿ は中間変数を表す.
¾ 層第 ½ 層で求められた中間変数の表現式を ¾ つずつ組み合わせ,以下のような新しい回帰式を推定する.
また,部分表現式に前層での中間変数を代入し,得た推定モデルを示す.
½
½
¼
¾
¼ ¿¿
½ · ½ ¿¿
· ¾ ½ ܾ¾ ¼
·¼ ¼¾¼ ¿¿ ܾ½Ü
¾½
Ë
¾
¾
¾¾ ¾½ · ¼ ¾¼ ¿¼ ½ ¾
ܽ ¼ ¼
ܾ½ · ¼ ¼¼¾ ¾ Ü¿½ ¼ ¼¼¼¼¾ ¼¾ ܽ
¼¾ ܾܽ¾ · ¼ ¼½¿ ½ ½Ü¾½Ü¾¾ ½ ½ ½ ܾ ¼ ¾¿ ¿ ܽÜ
¼ ¼¼¼ ½ ¾ Ü¿½Ü · ¼ ½½¾ ½¾Ü½Ü¾¾ Ü
¿
¿
Ë
´ º½º½¼µ
´ º½º½½µ
¼¾ ¼ ·¼ ¼
½ ¿
¼ ¼ ¼ ¿ ܽ · ¼ ¼½¾¾ ½Ü¾½
¿Ü¾¾ · ¼ ¿ ½ ܾܽ¾
¾ ¾
¼ ¼¼ ¼½ ¼ ܾܽ · ½
ܾ ½ ½ Ü · ¼
Ü½Ü ¼ ¼½½ ¿¾Ü¾½Ü
·¾
ܾ¾Ü
½ ¿
´ º½º½¾µ
¼ ¼¿ · ¼ ½ ¾ ¿
¼ ¾ ¼ ¼ · ¼ ¼¼¿¾½ ܾ½ ¼ ¾¿½ ܾ¾ ¼ ¼¼¾¿ ¼¿¿Ü¾½Ü¾¾ ¼ ¿¼ Ü
¼ ¼ ¿¾¿ Ü½Ü ¼ ¼¼¿½¼ ܾ½Ü · ¼ ¼ ½¿ ¾½Ü½Ü¾¾ Ü · ¼ ¼ ¿ ½Ü½Ü¾
½ ¿¼ ¼
´ º½º½ µ
Ë
´ º½º µ
¾¿
´ º½º½¿µ
´ º½º½ µ
´ º½º½ µ
´ º½º½ µ
第
¿層
½
½
¼ ½
·½
¾ ¾ ¼ ¼ ¾ ¾¾
¼ ¾¿ ¿¿Ü½ ¼ ¼½ ½Ü¾½ · ¼ ¼¼½¼ ½½ Ü¿½ ¼ ¼¼¼¼½ ¾ ¾Ü½
¿ ¾ ¼ ܾ¾ ¼ ¼½ ¾ ܾܽ¾ · ¼ ¼ ½½¾ ܾ½Ü¾¾ ¼ ¼¼½
Ü¿½Ü¾¾
¾
·¼ ¼¼¼¼¾¼ ¼ ܾܽ ¿ ¼¾ ¿Ü¾ · ¼ ¾¿¿Ü½Ü¾ ¼ ¼¾ ½ ܾ½Ü¾
·¼ ¼¼¼ ¼ Ü¿½Ü¾
½¼ ܽ ܾ · ¾ ¾ ½Ü¾ ¼ ½¾½ ܾܽ
·¼ ¼¼¿½ ܾ½Ü¾ ¼ ¿¿½¾ ܾ ¾ ¿¾¿½Ü ¼ ¾¿¼¾¼¾Ü½Ü · ¼ ¼ ¿ ¿ ܾ½Ü
¼ ¼¼¾½¼ Ü¿½Ü · ¼ ¼¼¼¼¾ ½ ܽÜ
½¼ ½ ܾ¾Ü · ½ ½½¿ ¾Ü½Ü¾¾ Ü
¾ ¾
¿ ¾
¼ ¼ ¾ ܾܽ Ü · ¼ ¼¼½ ¼ ܾܽ Ü ¼ ¼¼¼¼¾¼½ ¿ ܾܽ¾ Ü
·
¿Ü¾Ü ¼ ¿¾½¿ ܾܽ Ü · ¼ ¼¼ ¿ ½ ܾ½Ü¾ Ü ¼ ¾ ¿Ü¾Ü
¾ ¼½½Ü¾ · ¼ ¿¿Ü½Ü¾ ¼ ¼¿½½¼¾ ܾ½Ü¾ · ¼ ¼¼½¼½ Ü¿½Ü¾
¼ ¼¼¼¼½¿¾ ¿Ü½Ü¾ · ¾ ½ ܾ¾Ü¾ ¼ ¾½½ ܾܽ¾ ܾ
·¼ ¼¼ ¾ ܾ½Ü¾¾ ܾ ¼
ܾܾ
½
¿
Ë
¾
¾
Ë
¿
¿
第
´ º½º¾½µ
¼ ¼ ¿ ¿ · ¼ ½¼¿ ¾ · ¼ ¿ ¿
¿ ½ ¿ ¼ ¾ ½¾ ܽ · ¼ ¼¼ ¿¼ ܾ½ ¿ ¿ ܾ¾ · ¼ ½ ¼ ܾܽ¾
¼ ¼¼ ¼ ¿ ܾ½Ü¾¾ · ½ ¼¾¿ ܾ ¾
Ü · ¼ ¾¼¼¾¿ Ü½Ü ¼ ¼¼ ¼½ ܾ½Ü
·½ ¿ ¾Ü¾¾Ü · ¼ ¼¿ ¾ ¼ ܾܽ¾ Ü · ¼ ¼ ½ ¾Ü½Ü¾
½ ¾¿¾
´ º½º¾ µ
´ º½º¾¾µ
´ º½º¾¿µ
層
第
´ º½º½ µ
´ º½º¾¼µ
¼ ¼¼¼¼¼¼ · ½ ¼¼¼¼¼¼ ¿
¼ ¾ ¼ ¼ · ¼ ¼¼¿¾½ ܾ½ ¼ ¾¿½ ܾ¾ ¼ ¼¼¾¿ ¼¿¿Ü¾½Ü¾¾ ¼ ¿¼ Ü
¼ ¼ ¿¾¿ Ü½Ü ¼ ¼¼¿½¼ ܾ½Ü · ¼ ¼ ½¿ ¾½Ü½Ü¾¾ Ü · ¼ ¼ ¿ ½Ü½Ü¾
½ ¿¼ ¼
Ë
´ º½º½ µ
層におけるすべての部分表現式は,第
´ º½º¾ µ
´ º½º¾ µ
¿ 層の部分表現式と同じになったので,中間変数および入力変数
を代入した形は省略した.
½
¼ ¼¼¼¼¼¼ · ½ ¼¼¼¼¼¼
½
¿
½
´ º½º¾ µ
´ º½º¾ µ
¾
¼ ¼¼¼¼¼¼ · ½ ¼¼¼¼¼¼
½ ¾¿¾
¿
´ º½º¾ µ
´ º½º¿¼µ
¿
¼ ¼¼¼¼¼¼ · ½ ¼¼¼¼¼¼
½ ¾¿¾
¿
´ º½º¿½µ
´ º½º¿¾µ
Ë
Ë
Ë
´ º½º¾ µ¸ 式 ´ º½º¾ µ 及び式 ´ º½º¿½µ のように,すべての式が ½ 変数 ½ 次式の形になったのでここ
で,次の層への移行を打ち切る.また,残差平方和が最も小さい ´ º½º¾ µ の式と ´ º½º¿½µ の式が採用される.
ここで,式
なお,これらは同じ推定式となる.
½¼ に実測値,予測値,およびその ± 信頼区間を示す.実測値が信頼区間に入らないプロジェクトは
ÆÓº , および の ¿ プロジェクトとなった.
図
¾
図 ½¼
Å À モデルによる予測結果(横軸:プロジェクト番号,縦軸:誤差二乗和).
º½º¿ ニューラルネットワーク
本研究で扱うニューラルネットワークによる予測モデルは以下のとおりである.なお,誤差逆伝搬学習法を
用いる時には,ニューラルネットワークのパラメータの値をまず決める必要がある.この作業は対象とする問
題に応じて行う必要があり,設計理論が確立しているわけではない
½¿ .そこで,各パラメータにおける適切
な値を探索した結果を以下に示す.
[各層のニューロン数]
バックプロパゲーションでは,最急降下法を用いて誤差関数の大域的最小値の探索を試みている.しかし,
前述のとおり,最急降下法は大域的最小値を見つける保証はない.ニューラルネットワークは,中間層数およ
び各層のニューロン数が多いほど局所的最小値に陥る可能性が高くなる.しかし,これらが多いほどパターン
識別能力が増すことが知られている.従って,中間層数および中間層におけるニューロン数は試行錯誤的に
決めるのが一般的である.入力層のニューロン数は,文字,数字,画像などのパターン認識の場合は,各パ
ターンの識別に必要な特徴ベクトルの次元数である.説明変数が入力層数に対応する為,本研究では入力層の
ニューロン数を
¿ 個とし,出力層のニューロン数は予測値に対応する為,½ 個とする.中間層数および中間
層におけるニューロン数の決定方法については様々な方法が提案されている.本研究では.中間層における
ニューロン数以外のパラメータを一定とし,中間層のニューロン数を変化させて誤差二乗和の小さくなった時
のニューロン数を採用とする.中間層数
½ の場合における中間層数の変化に対する誤差二乗和の変化を図 ½½
に示し,これより中間層のニューロン数 Ñ を Ñ
とした.
¾
図 ½½ 中間層のニューロン数の変化に対する誤差二乗和の変化 ´横軸:中間層数,縦軸:誤差二乗和,学
習回数:各 ½¼ 万回µ.
中間層数
¾ の場合の誤差二乗和の変化を図 ½¾ に示す.これより,中間層数が多いほど誤差二乗和が小さく
なることがわかる.また,中間層を複数抱えるモデルの場合,それぞれの中間層のニューロン数を同じまたは
同程度にすることが一般的であるため,本研究では各中間層におけるニューロン数を同じにして予測モデルを
構築した.
図 ½¾
中間層数 ¾ つの変化に対する誤差二乗和の変化 ´横軸:中間層数 ´Å½µ,奥行:中間層数 ´Å¾µ,縦
軸:誤差二乗和µ.
[学習回数]
学習回数は解くべき問題や学習係数等の他のパラメータとの関係で適正な値が決まるので理論値はないが,
¾
½¼¼¼∼½¼ 万回が一般的である.学習回数の設定値を模索するために,本研究ではいくつかの設定値を試した.
図 ½¿ は学習回数が ½¼¼¼ 回までの誤差二乗和の変化を示しており,学習回数が増加するにつれて,低減傾向
は徐々に弱まるが概ね低下することが分かった.これらの結果を踏まえて本研究では学習回数を ½¼ 万回∼ ¼
万回とした.
図 ½¿
[学習係数]
学習係数
は
学習回数ごとの誤差二乗和 ´横軸:学習回数,縦軸:誤差二乗和µ.
½ 未満の小さな値とし,半ば試行錯誤的に決めるのが一般的である.図 ½
は学習係数の変化
に伴う誤差二乗和の変化を示しており,学習係数が大きければ大きいほど早く収束することがわかる.しか
し,最急降下法を用いる場合,学習係数が大きいと大域的最小値あるいは局所的最小値を通り過ぎてしまうこ
とがあり,振動が大きくなり,うまく収束しないことが知られている.従って,本研究では学習係数
的な
¼ ¼½ とした.
¾
を一般
図½
学習係数の変化に対する誤差二乗和の変化 ´横軸:学習回数,縦軸:誤差二乗和µ.
[シナプス結合係数の初期値]
シナプス結合係数の修正量は前述のとおりである.ここで,式
ナプス結合係数の初期値が
´¿º¾º µ∼式 ´¿º¾º µ からわかるとおり,シ
¼ だった場合,修正量が ¼ となり修正が行われない.そこで,シナプス結合係数の
初期値には乱数を与えられることが知られている.本研究では,一般的に行われるシナプス結合係数を小さな
乱数で与えて探索の初期値とする方法を踏襲した.図
½
ÆÓºÒ´Ò ≧ ¾µ 番目の予測モデルを構築する際の
は,
ÆÓºÒ ½ 番目までの学習によって得られたシナプス結合係数を引用した場合,
シナプス結合係数の初期値に,
つまりシナプス結合係数が過去の結果に依存する場合と,Ò 番目のシナプス結合係数の初期値に新たな乱数を
与えた場合,つまりシナプス結合係数が過去の結果に依存しない場合の各モデルにおける学習回数の変化に対
する誤差二乗和の変化を表したものである.
¾
図½
過去の結果に依存するシナプス結合係数と依存しないシナプス結合係数の誤差二乗和の変化 ´横軸:
学習回数,縦軸:誤差二乗和µ.
[シグモイド関数の傾き]
シグモイド関数の係数
« は入出力関数の非線形性の程度を表している.傾きが小さければ線形関数に近く,
傾きが大きければステップ関数に近づく.一般に,シグモイド関数の導関数の値の大きい領域に入力の分布が
入るようにすると,出力値の差をつけやすくパターン識別能力が増すとされる
½¿ .本研究では,試行錯誤的
に以下に示す関数を採用した.
´Üµ ½ · ÜÔ´¾ ½½ ¼ ¿ ܵ
¾
´ º½º¿¿µ
図½
図
ÆÓº
½
に実測値,予測値,およびその
, および
図½
の
本研究で扱うシグモイド関数º
± 信頼区間を示す.実測値が信頼区間に入らないプロジェクトは
¿ プロジェクトとなった.
ニューラルネットワークモデルによる予測結果(横軸:プロジェクト番号,縦軸:誤差二乗和).
なお,当モデルを構成する十分な学習を終えたシナプス結合係数の値は以下のとおりである.
¯
中間層数
½´
½µ
¿¼
中間層数を
½ 個とした場合の各シナプス結合係数の値を以下に示す.なお,中間層のニューロン数は
個とした.
表 ¿ 各シナプス結合係数 ´Û
入力層
´µ
中間層
½
¾
¿
¾´
¾
µ の値.
¿
¼º½ ¾ ¼º½ ¾ ¼º¿
¼º½
¹¾º¼¿¾ ¹¾º¼
¼º ¼ ¹¾º¿¼½
¹½º ¾ ¹¾º½ ¹¼º½¼ ¹¾º ¾
各シナプス結合係数 ´ÛÑÓ µ の値.
中間層
中間層数
½
¼º½
¹½º
¹½º
表
¯
´µ
Ñ
´µ
出力層
´µ
½
¾
¿
½
¿º
º¼¼
º
¹¿º ¾¼
º ¼
¾µ
¾ 個とした場合の各シナプス結合係数の値を以下に示す ¾½ .なお,中間層 Ž および ž
におけるニューロン数はそれぞれ ½¼ 個とした.
中間層数を
表
ÈÈÈÈ
È
½
½
¾
¿
¼º½
¹½º
¹½º
Ž´ µ
È
È
ÈÈÈ
入力層 ´ µ
¾
各シナプス結合係数 ´Û
Ñ
µ の値.
¿
½¼
¼º½ ¿ ¼º½
¼º½ ¼ ¼º½
¹¾º¼¿¼ ¹¾º ¼ ¹¼º ¼¾ ¹¾º
¹¾º
¹¿º¾ ¹½º¼¿ ¹¿º¿
¿½
¼º½
¹¾º
¹¾º
¼º½
¹¾º¿½
¹¾º¿¾
¼º¿½ ¼º½ ¼ ¼º½
¼º ¾¼ ¹½º¾ ¹½º ¼
½º½ ¹¼º
¹½º
各シナプス結合係数 ´ÛÑ
表
ÈÈÈ
ÈÈÈÈž´×µ
ÈÈÈ
Ž´ µ
½
¾
¿
½¼
½
¾
¿
½º½
¾º¾
¾º ¾
¼º ¾¾
¾º ¼½
¾º¿½¾
¾º½¼¿
¹¾º ¿
¼º ¼¼
½º ½
¼º
¼º ¼¾
¼º
¼º½ ¿
¼º
¼º ¼
½º¼
½º¼½
¼º ¼¾
¼º
½º¾½¾
¾º¼
¾º ¿
¼º ¼¾
¾º½½
¾º¼ ¼
½º ¿
¹¾º ¿¼
½º¾¼
½º¼ ¼
表
½¼
¼º ¾
½º
½º
¼º½ ¼
½º½
½º ¼¾
½º¼
¹¼º
¼º ¿
½º¼½
È出力層
ÈÈȴȵ
È
½
¾
¿
½¼
º½º
上記
¼º¾¿
¼º ¾
¼º
¼º½¾
¼º
¼º ½
¼º¿
¼º ¿
¼º¾ ¾
¼º ¿
各シナプス結合係数 ´Û
ÈÈÈÈ
ž´×µ
× µ の値.
Ó×
¼º ¿¼
¼º¼
¼º¾ ¿
½º¼¾¾
¼º¿¿
¼º¾
¼º ¼
½º½¿
¼º¾½
¼º
½º ½
½º ¿½
½º ¾¿
¼º ½
½º
½º¿½
½º ¾
¹½º ¿
½º½
½º ¾¾
¼º ¼
¼º½ ½
¹¼º½¿
¼º
¹¼º½¼
¼º ¾
¼º
¾º ¾
¼º
¼º ½½
½
º
¹½º½¼
¿º
½º¼¾
¹¼º
¹½º ¾
¾º¼
¾º¾
½º¼¿½
¹¿º½¿¿
結果
つのモデルによるチューニング結果は表 のとおりである.表
ると,表中で £ がついた最適モデルのプロジェクト数は,重回帰が
´
¼º ¾
½º
½º
¼º
½º
½º½ ¼
½º¿ ½
¹¼º ¿
¼º¾
¼º ¿
µ の値.
では,各プロジェクト毎に
デルを適用した結果として,実測値と推定値との残差平方の値を示した.これにより
ト
½º
½º¾
½º ¿½
¼º
¾º ½¿
½º
½º¾¾
¹½º
¼º
½º¾ ¼
½µ が ¿ 個,ニューラルネット ´
¾µ が
つのモ
つのモデルの性能をみ
¿ 個, Å À が ½½ 個,ニューラルネッ
個となり,各プロジェクト毎にモデルの優劣は変わるが,
コネクショニストアプローチによるモデルは重回帰モデルに比べて,重回帰モデルよりは良い推定値を与えて
いることがわかる.プロジェクト全体を通して残差平方和を求めた結果(表の合計欄を参照),コネクショニ
¿¾
ストアプローチによるモデルのほうが,重回帰モデルよりも適合度が良くなっていることが分かった.また,
ニューラルネットワークによるモデルについては,中間層数を増やした方がより精度の良いモデルを構築でき
ることが分かった.
推定結果 ´チューニングµ.
表
ÆÓº
½
¾
¿
½¼
½½
½¾
½¿
½
½
½
½
½
½
重回帰
Õ
予測値
½ ½º¾¿¼
¼ ¹¼º ¼
¾ ¼º ¼
¾º ¼
¼ ½º ¼
½ ½º ¿¿
¿º
¼ ¾º ½½
¿ ¿º¾
¿º
º ¼¼
¿ ¾º
¾ ¿º¼¾
¼ ¼º
¼ ¹¼º
¼ ¼º¼½
¼ ¼º¿¾½
¼ ¹¼º ¾
¼ ½º¼¼½
合計
(注:残差 ¾ は
º¾
´
Õ 残差 ¾
¼º¼ ¿
¼º
½º
º ¼¿£
¾º¾ ¾
¼º ¿
¼º¼
º ¼½
¼º¼
½º½½½
¾º¾
¼º¼¼¼£
½º¼ ½
¼º ¿¾
¼º ¿
¼º¼¼¼£
¼º½¼¿
¼º¾
½º¼¼½
¾º
Õ
Å À
予測値
½º¼ ½
¼º¿ ½
½º¿¼
½º ½
½º½
½º ½¼
º¼
½º ½½
¾º
º
º¿¾
¾º ¼¼
¾º ¼
¹¼º¾¿½
¼º¼
¼º¼½
¼º¼
¼º¼ ¾
¼º½½
µ¾ を意味し,£ は
残差 ¾
¼º¼¼¿£
¼º½ ¿
¼º £
½¼º
½º¿¿ £
¼º¾ ¼
¼º¼¼ £
¿º ½£
¼º¾
¼º¼¾ £
¼º½¼
¼º¼ ¼
¼º½ £
¼º¼ ¿£
¼º¼¼¿
¼º¼¼¼£
¼º¼¼
¼º¼¼ £
¼º¼½ £
½º¾
ニューラルネット
´
残差 ¾
予測値
½µ
ニューラルネット
予測値
¼º¼¼¿£
¼º¼ £
½º¼
¼º¾¼
½º¾ ¾
¾º¼
½º
½º¿ ¿
º½ ½
¾º ½¾
¿º½ ½
º ½½
º¿
¾º ½
¾º ¾¿
¼º
¹¼º ¼
¹¼º¿
¹¼º¼
¹¼º½
¼º ¼
½º½
¼º
½º¾
¾º¼¿
½º
½º¿¾¼
º½ ¿
¾º ¿
¿º¼
º ¾
º
¾º ½
¾º ¾
¼º ¿¼
¹¼º¼ ¿
¼º¼¼¼
¼º½
¼º¾¼
¼º¿¾
¼º ¿¼
º ¿½
¾º½
¼º½¾
¼º¼¿
º¿½½
¼º¼¾
¼º¼ ¿
¼º¼¾
¼º¼½
¼º
¼º
¼º ¾
¼º½ ¾
¼º¼¼ £
¼º¼¾¾
¼º¾¿¼
½º
´
残差 ¾
¾µ
¼º¼ ¼
¼º ¾
¼º ½
º ¾
¾º½
¼º½¼¾£
¼º¼¿¼
º¿
¼º¼½¼£
¼º¼
¼º¼¼¼£
¼º¼
¼º ¾
¼º ¿¿
¼º¼¼¾£
¼º¼¼¼£
¼º¼¾¾
¼º¼ ¾
¼º½¼
½º
つのモデルでの最少値を示す.
)
予測 ´½µ
¸
各モデルを予測精度の観点から比較するため,前章同様 ܽ ܾ および Ü を説明変数とし,予測モデルを構
½
築した.なお,本研究における予測モデルの構築方法は,
を取りおき,残りの
½
個の開発プロジェクトデータから
½ 個のデータ
個のデータから予測モデルを構築することとする.その後,構築された予測モデルに
取りおいたデータを入力することによって出力される値を予測値とし,これを
½
パターン行った.各モデル
による予測値と実測値によって算出された残差平方和を比較する.適用例の一部と結果を以下に示す.
¿¿
º¾º½ 重回帰
一例として
ÆÓº½∼ÆÓº½
ÆÓº½
のデータを使って,
の予測値を求めるために構築した予測モデルを以下に
示す.
Õ
º¾º¾
¼½ ¾
ܽ ¿ ¼
¿ ¼ ܾ ¾ ¿¾ ¿ ¾¿Ü
¼
´ º¾º¿ µ
Å À
ÆÓº½∼ÆÓº½
Õ
ÆÓº½ の予測値を求めるために構築した予測モデルを以下に示す.
¼¾½ ¼ ¿ ¾¿ ܽ · ¼ ¼½½¼¼ ܾ½ ¿¿ ¾ ܾ¾ · ¼ ¿½ ܾܽ¾ ¼ ¼¼ ¾¾½ ܾ½Ü¾¾
·¾ ½ ½Ü¾
¼ Ü · ¼ ¼¾ Ü½Ü ¼ ¼½½½¼ ܾ½Ü · ¾ ¼½ ܾ¾Ü
´ º¾º¿ µ
のデータを使って,
º¾º¿ ニューラルネットワーク
ÆÓº½∼ÆÓº½
ÆÓº½
のデータを使って,
の予測値を求めるために構築した予測モデルにおける,各シナプス
結合係数の値は以下のとおりである.
¯
中間層数
½´
中間層数を
数は
½µ
½ 個とした場合の各シナプス結合係数の値を以下に示す.なお,中間層におけるニューロン
個とした.
表
入力層
´µ
各シナプス結合係数 ´Û
中間層
´µ
½
¾
¿
¾
¼º½
¹½º
¹½º
表 ½¼
µ の値.
¿
¼º½
¼º½
¹½º ¿ ¹½º
¹½º¾ ¼ ¹¾º¾
¼º¿¾¾ ¼º½
¹¼º¼ ¼ ¹½º ¿
¹½º¿ ¿ ¹¾º
各シナプス結合係数 ´ÛÑÓ µ の値.
中間層
¯
½
Ñ
´µ
出力層
½
¾
¿
´µ
½
º ¿
º½
º¾¾
¹ º¾¾¿
º
¾´ ¾µ 中間層数を ¾ 個とした場合の各シナプス結合係数の値を以下に示す ¾½ .中間層
Ž および ž におけるニューロン数はそれぞれ 個とした.
中間層数
¿
ÈÈÈ
ÈÈ
Ž´ µ
È
È
ÈÈÈ
入力層 ´ µ
½
¾
¿
ÈÈÈ
È
Ž´ µ
表 ½½ 各シナプス結合係数 ´Û
½
¾
½
¾
¿
µ の値.
¿
¼º½
¼º½ ½ ¼º½ ¼ ¼º½¿
¹¾º¼ ¹¾º
¹½º¿ ¹¼º
¹¿º ¿¿ ¹ º
¹¾º¾½ ¹½º
¼º½ ¾ ¼º½
¼º½ ½ ¼º½¿
¹½º ¿¾ ¹¾º ½¼ ¹¾º ¼ ¹½º½¿
¹¿º½ ¾ ¹ º ¾¾ ¹ º
¹½º½
各シナプス結合係数 ´ÛÑ
表 ½¾
×µ
ÈÈÈž´
ÈÈÈ
Ñ
½
¾
¿
½º
¾º
¼º ¿
¼º
½º¾
¾º¾¿
¾º¾¿¼
¼º
¹¼º
½º
¾º¾
½º½¼
¼º
½º¼ ¾
½º
¾º½
½º¾¼
¹¼º ½
¼º¾
¼º¾ ¼
¹¼º¼ ¾
¼º¼¼¼
¼º ¿
¼º
¼º¿
¼º ¾
½º ¾
表 ½¿
½º¿¼½
½º ½
½º
¼º
½º¿ ¿
½º ¿
¾º¼ ¿
¼º ¼
¹¼º½
ž´×µ
È出力層
ÈÈȴȵ
È
½
¾
¿
¿
× µ の値.
½º
¾º ½¼
¼º ¼
¼º
½º ¼
¾º½¿
¾º½¿
¼º¼¿
¹¼º
各シナプス結合係数 ´Û
ÈÈÈÈ
¼º¿¼
¹¼º½
¹¼º ¼
Ó×
½º
¾º¿
½º¾
¼º¼
½º
¾º
½º
¼º
¹¼º
µ の値.
½
¿º½
½º ¿
¹¾º
½º ¿¼
¿º¼¿½
¾º ¿½
¹¾º ½
¹ º½ ¿
º
¿ ¼º¼¾
¼º ½
¼º
¼º½½½
¼ ¼º ¾¾
¼ ¼º
¾ ¹¼º¼ ¿
¾ ¼º½
½ ½º¼ ½
¹¼º ¾
¼º¼ ½
¼º ½¾
¼º¿¾
¼º ¾
¹¼º ¾
¹¼º¿
¼º½ ¼
¾º
½º ¿¼
¾º ¾¾
½º ½¼
¼º¿½
½º
¾º
¾º
¼º¾¼¿
¹½º
º¾º
結果 ´予測µ
各モデルの適用性を評価した結果を表
½
に示す.表
½
は表
同様,実測値,予測値および残差平方和を
表したものである.各プロジェクトにおける最適プロジェクト数は重回帰が
ルネット
´
½µ が
´
個,ニューラルネット
¾µ が
¾ 個, Å À が
個となり,予測という観点においてもコネクショニ
ストアプローチの方が重回帰モデルよりも良い推定値を与えていることが分かる.しかし,
ÆÓº½
ÆÓº½
の予測値が異常値になってしまった.
計算した結果を以下に示す
¾½ .
表½
ÆÓº
½
¾
¿
½¼
½½
½¾
½¿
½
½
½
½
½
½
合計
予測値
残差 ¾
予測値
½ ½º¾ ¾ ¼º¼
¼º ¿¾
¼ ¹½º½¾½ ½º¾
¼º ½
¾ ¼º½¿ ¿º ¿ ¹¼º¿¼¿
¾º½
º
½º¼¾¼
¼ ½º ¼¼ ¿º¾ ½ ½º½ ¾
½ ½º
¼º ½¿ ½º
¿º ½ ¼º¼ ½ ¿º ¾
¼ ¿º½
½¼º½
¾º
¿ ¿º¿ ¼ ¼º½½
½º ¾
¿º ¼ ½º
º
¿º ¿¾ º¾
º
¿ ¾º
¼º¼¼¼£ ¾º¾ ¿
¾ ¿º½ ¼ ½º¾
¾º
¼ ¾º¾¼
º ¾ ¹½ º
¼ ¹½º¼¿ ½º¼ ¾ ¼º¾¼
¼ ¼º¼¾ ¼º¼¼½£ ¼º¼ ¼
¼ ¼º ¼ ¼º½
¼º¾
¼ ¹¼º ¾½ ¼º ¾¼ ¼º¾ ½
¼ ½º¿¼ ½º ¼
¼º¾ ¿
¾º
(注:残差 ¾ は
´
Õ Õ
の残差平方のデータを除き,残りの
µ¾ を意味し,£ は
½
Å À における
個の残差平方和を
推定結果 ´予測µ
Å À
重回帰
Õ
個,ニューラ
ニューラルネット
残差 ¾
¼º¼¾
¼º¾
º¿¼¾
½º
½º¿ £
¼º¿¿
¼º¼¼ £
º £
½º¼
¼º½¼ £
¼º ½½
¼º
¼º¾¼½£
¿ ¾ ¿º¼
¼º¼ ¿
¼º¼¼¾
¼º¼ ¼
¼º¼
¼º¼
¿ ¾ º ¼¿
予測値
½º¼ ¿
¼º½¼
½º½
½º
½º ¼
½º ½
º¾¼
¾º ¾
¿º½ ¾
º¼
º ¼
¾º
¾º
¼º ½
¹¼º
¹¼º ¿
¼º¼¿
¼º¾
¼º ¾
´
残差 ¾
¼º¼¼ £
¼º¼½½£
¼º ¾ £
½½º ¼
¾º
¼º½ £
¼º¼
º½
¼º¼¾¿£
¼º½ ¿
¼º¼¾¼
¼º¼
¼º
¼º
¼º¿
¼º¾
¼º¼¼½£
¼º¼
¼º½ ¼
¾º
つのモデルでの最少値を示す.
)
¿
½µ
ニューラルネット
予測値
½º ¼
½º¼ ¾
½º½¾½
¾º¾¾¼
½º ¿
½º
º¿½
¾º ¿
¿º¿¼
º ¿
º¼
¾º ¼
¾º
¼º
¹¼º¼
¹¼º¾
¹¼º¼
¼º½ ¿
¹¼º½¿
´
残差 ¾
¼º ¿
½º½
¼º ¾
º¾£
¾º¼
¼º ¼
¼º½¼¼
º¿
¼º¼
¼º½ ¿
¼º¼¼ £
¼º¼
¼º ¼
¼º ½ £
¼º¼¼ £
¼º¼
¼º¼¼
¼º¼¿¿£
¼º¼½ £
¾¾º ¿¾
¾µ
¿ ¼¿
Å À ¿¿
ニューラルネット ´
½µ ¾ ¾¿
ニューラルネット ´
¾µ ¾½ ½
重回帰
以上より,残差平方和という観点においてもコネクショニストアプローチのほうが適合度が良くなっているこ
とが分かった.
º¿
予測 ´¾µ
本研究は文献
で扱ったプロジェクトデータを用いて,古典的な重回帰モデルに対し,コネクショニスト
アプローチによるモデルを構築して各モデルを予測精度の観点から比較したが,各モデルを比較するにあたり
Å À は説明変数の数が多ければ計算過程
様々な条件を統一せざるを得なかった.たとえば,重回帰および
以上の実験は行わなかったなど,各モデ
がより複雑になり,計算量が膨大になりかねないため,説明変数が
ルの特徴を十分に活かすことが出来なかった.しかし,本来の目的は上流工程に得られたデータを用いて,テ
スト工程の開始時におけるフォールト数を容易かつ精度よく見積もりたいということである.
´
µ
ニューラルネットワークは入力層のニューロン数 説明変数の数 が多いほどパターン識別能力が増すこと
が知られている.また,ニューラルネットワークのシステムが構築されていれば,入力層におけるニューロン
数の増加は容易に可能となる.したがって,文献
なわち入力層のニューロン数が
µ
で扱った
´
個のプロジェクトデータをすべて用いて す
となる 予測モデルを構築し,フォールト数の予測を行った.その結果を以
下に示す.
¿
表½
変数を用いたニューラルネットワークによる予測結果.
ÆÓº
½
¾
¿
ニューラルネットワーク
Õ
½
¼
¾
¼
½
½¼
½½
½¾
½¿
½
½
½
½
½
½
¼
¿
¿
¾
¼
¼
¼
¼
¼
¼
残差 ¾
予測値
½º¿¼
½º½ ¿
¼º ½
º¿
¹¼º ¾
½º¿¼
º¼½¿
½º ¾½
½º ½¿
º½
º
¾º ½
¾º ¾¿
¼º½¼¿
¹¼º¼
¼º¼ ½
¼º¾ ¼
¹¼º¿ ¾
¹¼º¼
½
の結果から,表
½
変数
µ
¼º¼
½º¿¼
½º
¼º¼¼
¼º¾
¼º¼
¼º¼¼¼
¾º¼¾½
½º½ ¾
¼º¼¿½
¼º¼ ¿
¼º½
¼º½
¼º¼½½
¼º¼¼¿
¼º¼¼¿
¼º¼
¼º½½
¼º¼¼
º¾
合計
表
´
で表された各モデルの残差平方和よりもはるかに精度が向上したことがわかる.
¿
考察
本研究は,ソフトウェア開発工程の上流工程で得られた様々なデータを用いて,テスト工程の開始時に潜在
するフォールト数の予測値を得るために,従来の予測モデルよりも精度の良い新たな予測モデルの提案をし
た.文献
で扱われたソフトウェア開発属性データを用いて,実際にコネクショニストアプローチによる予
測モデルの構築を行い,様々な観点において古典的な重回帰モデルと比較した結果,本研究の本質的な目的で
ある予測精度の向上という点において,本研究が提案した予測モデルが従来の予測モデルに勝るという結果を
± 向上し,従来よりも有用性のあるモデルを構築することができた
得た.残差平方和においては,最大約
と考えられる.
また,本研究では従来のモデルとの比較のほかに,コネクショニストアプローチの特徴を生かすことによっ
てよりよい精度の予測モデルの構築を行った.ニューラルネットワークは,入力層のニューロン数が多いほど
パターン識別能力が増すという特徴があるため,文献
で扱われている
個の変数をすべて用いてニューラ
ルネットワークによる予測モデルを構築したところ,残差平方和という観点において,重回帰モデルに対して
約
¿± ,ニューラルネットワークモデル ´
¾µ に対しては約 ± 予測精度が向上した.これにより,本研
究が提案した予測モデルが実際のソフトウェア開発工程に組み込まれれば,導出された予測値を目安にテスト
¸
項目数を変化させ 新たに発見されたフォールトを取り除くことによって,ソフトウェアの信頼性および品質
の向上に一助となる可能性がある.
しかしながら,コネクショニストアプローチによるモデルにはいくつかの問題点が散見された.
による予測モデルにおいては
ÆÓº½
の値が
½º¾
ÆÓº½
に予測値に異常値が発生してしまった.これは,説明変数 ܾ における
に対して,他のプロジェクト
であることから,平均値の約
Å À
´ÆÓº½
のデータを除く
ÆÓº½∼ÆÓº½ µ の値の平均値が ¼º¾¿
倍の値になっていることが原因だと考えられる.また,ニューラルネットワー
クによる予測モデルにおける問題点は,シグモイド関数の形が予測精度に与える影響が大きいことである.
バックプロパゲーションによる学習において,出力層からシグモイド関数を通って出力された値
´
µ
´¼∼½µ と
教師信号の値との差を利用してシナプス結合係数の修正 学習 を行う.本研究では教師信号をフォールト数
½
としたため,教師信号が整数となり, 以上の値になることが十分考えられる.この場合,正確な学習が行
われないため,本研究では教師信号もシグモイド関数に通して学習を行った.その際に,想定されるフォー
ルト数の範囲に応じてシグモイド関数の形を変える必要がある.たとえば,ゲイン
関数
¼º
´ ´Üµ
«
¼ のシグモイド
¼¾,¿¼ の場合は
µ から出力される値は,フォールト数 ´Üµ が ¾¼ の場合は ¼º
となり,フォールト数の差は ½¼ あるにもかかわらず,シグモイド関数を通した後のそれぞれの
½
½· ´ «Üµ
値はほとんど差がないため,正しい学習が行われない.従って,精度の良いモデルを作るためには,シグモイ
ド関数から出力される値に差が出るようなシグモイド関数の構築が必然となる.また,ニューラルネットワー
クにおける
変数の予測モデルを構築したことによって良好な結果を得られたが,できるだけ少ない説明変数
で精度良く予測値を見積もりたいと考えるのは自然である.ニューラルネットワークの特徴である,入力変
数の増加が精度の向上につながるという利点を利用すべく, ܽ ,ܾ および
Ü
の
¿ 変数を用いて,入力層の
ニューロン数を新たに増やすことができれば,より精度の高いモデルが構築されると考えられる.以上の課題
に取り組み,本手法を展開することでより実用的な予測モデルが構築されることが,高度情報化社会に微力な
がら貢献すると考えられる.
¿
参考文献
½ 山田茂,ソフトウェア信頼性評価技術,À Â 出版局 ´½ µ.
¾ Ü Ø ニュース¸ ØØÔ »»ÛÛÛº Ü Ø º Óº Ô»Æ Û×»Ò Ø ÐÑ»¾¼½½½¾¾¾»ËÐ × ÓØ ½½ ½¾ ¾¾ ¼¼ ¿¾ º ØÑи
¾¼½¾»½»¾¼ アクセス
¿ 山田茂,福島利彦,品質指向ソフトウェアマネジメント ¹ 高品質ソフトウェア開発のためのプロジェクト
マネジメント,森北出版 ´¾¼¼ µ.
Å ÒØ(経営情報研究会),図解でわかる ソフトウェア開発のすべて,日本実業出版 ´¾¼¼¼µ
木村光宏,藤原隆次,ソフトウェアの信頼性,日科技連出版社 ´¾¼½½µ.
山田茂,高橋宗雄,ソフトウェアマネジメントモデル入門 ßソフトウェア品質の可視化と評価法ß,共立
出版 ´½ ¿µ.
山田茂,ソフトウェア信頼性の基礎ßモデリングアプローチ,共立出版 ´¾¼½½µ.
˺ Ñ Ò Âº Ñ Û , Ò ÑÔ Ö Ð ËØÙ Ý ÓÒ ËØ Ø ×Ø Ð Ò ÐÝ× × × ÓÒ ËÓ ØÛ Ö ÈÖÓ¹
×× ÅÓÒ ØÓÖ Ò Ø Û Ø ÁÒ Ø Ð ÈÖÓ Ø Ê × × , ÈÖÓ º Ó ½ Ø ÁËË Ì ÁÒØ ÖÒº ÓÒ º ÓÒ Ê Ð Ð ØÝ
Ò ÉÙ Ð ØÝ Ò × Ò¸ Î Ò ÓÙÚ Ö¸ Ò ¸ ÔÔº ¿ ¹¿ ´¾¼½½µº
ź à ÑÙÖ ¸ ̺ Ù Û Ö Ò Ëº Ñ ¸ ÒÓØ ÓÒ ×ØÖÙ ØÙÖ ÕÙ Ø ÓÒ ÑÓ Ð Ò ÓÖ ×Ó ØÛ Ö
Ö Ð Ð ØÝ ×× ××Ñ ÒØ × ÓÒ Ö Ú Û¹Ö Ð Ø Ø ¸ ÈÖÓ º Ó ½ Ø ÁËË Ì ÁÒØ ÖÒº ÓÒ º ÓÒ Ê Ð Ð ØÝ
Ò ÉÙ Ð ØÝ Ò × Ò¸ Î Ò ÓÙÚ Ö¸ Ò ¸ ÔÔº ¿ ¹¿ ¿ ´¾¼½½µº
½¼ 田村担之,近藤正,最近の Å À の方法論と応用,オペレーションズ・リサーチ,ÎÓк ¾¿¸ ÆÓº ¾¸ ÔÔº
½¼ ¹½½½ ´½ µº
½½ 林勲,「 Å À」¸ 日本ファジイ学会誌,ÎÓк ¸ ÆÓº ¾¸ ÔÔº ¾ ¼¹¾ ´½ µº
½¾ 植松哲太郎,大島康次郎,「 Å À による切削工具磨耗の予測」,生産研究,ÎÓк ¿¾¸ ÆÓº ½½¸ ÔÔº ¹
´½ ¼µº
½¿ 吉富康成,ニューラルネットワーク¸ 朝倉書店¸ ÔÔº ½¼¹½ ´¾¼¼¾µº
½ º º ÁÚ Ò Ò Ó¸ À ÙÖ ×Ø × Ð ¹ÓÖ Ò Þ Ø ÓÒ Ò ÔÖÓ Ð Ñ× Ó Ò Ò Ö Ò Ý ÖÒ Ø × ¸ ÒØÓÑ Ø ¸
ÎÓк ¸ ÔÔº ¾¼ ¹¾½ ´½ ¼µº
½ º º ÁÚ Ò Ò Ó¸ ÈÓÐÝÒÓÑ Ð Ø ÓÖÝ Ó ÓÑÔÐ Ü ×Ý×Ø Ñ× ¸ Á
ÌÖ Ò׺ ËÝ×غ Å Ò Ý ÖÒº¸ ÎÓк
ËÅ ¹½¸ ÔÔº ¾ ¹¿ ´½ ½µº
½ 篠原康秀,土肥正,尾崎俊治,「 Å À ネットワークによるソフトウェアのテスト進ちょく度に対する
´½ µº
予測評価」
,電子情報通信学会論文誌,ÎÓк  ¼¹ ¸ ÆÓº ½½¸ ÔÔº ½ ¾¹½
½ 嶋田遼平,木村光宏,「開発属性データを用いたGMDHによるソフトウェアの信頼性予測に関する一考
察」
,信学技報,ʹ¾¼½¾¹¾¸ ÔÔº ¹½¼ ´¾¼½¾µº
½ 赤池弘次,甘利俊一,北川源四郎,樺島祥介,下平英寿,赤池情報量基準 Á ßモデリング・予測・知識
発見,共立出版 ´¾¼¼ µº
½ 嶋田遼平,木村光宏,「ソフトウェア開発属性データを用いたニューラルネットワークによる潜在フォー
ルト数の予測」
,信学技報,ʹ¾¼½¾¹ ¼¸ ÔÔº ¹½¼ ´¾¼½¾µº
¾¼ 谷萩隆嗣,萩原将文,山口亨,ニューラルネットワークとファジィ信号処理¸ コロナ社¸ ディジタル信号
処理ライブラリー¸ ÎÓк ¸ ÔÔº ½ ¹¿ ´½
µº
¾½ 嶋田遼平,木村光宏,「ソフトウェア開発プロジェクトデータによる信頼性予測 ßコネクショニストアプ
,電子情報通信学会総合大会報文集 (¾¼½¿)
(発表予定)
.
ローチß 」
¼
謝辞
本研究,および本論文の執筆に関して,終始多大なご指導ご鞭撻を頂きました木村光宏教授に心より感謝
致します.また,様々な助言や温かい言葉を頂いた信頼性工学研究室の緒先輩方,同輩ならびに後輩諸氏
に感謝の意を表します.
½
著者の文献リスト
½
Å À によるソフトウェアの信頼性予測に関する一考
察」
,電子情報通信学会技術研究報告(信学技報)
,ʾ¼½¾¹¼ ¸ ÔÔº ¹½¼ ´¾¼½¾µº
¾ 嶋田遼平,木村光宏:「ソフトウェア開発属性データを用いたニューラルネットワークによる潜在フォー
ルト数の予測」
,電子情報通信学会技術研究報告(信学技報)
,ʾ¼½¾¹½½¸ ÔÔº ½¹ ´¾¼½¾µº
¿ ź à ÑÙÖ Ò Êº Ë Ñ ¸ ÆÓØ ÓÒ ËØ Ø ËÓ ØÛ Ö Ê Ð Ð ØÝ ÅÓ Ð× Ý Å À ÓÑÔ Ö ×ÓÒ
Û Ø ÅÙÐØ ÔÐ Ê Ö ×× ÓÒ ÅÓ Ð ¸ ÈÖÓ Ò × Ó ½ Ø Á
È ¬ Ê Ñ ÁÒØ ÖÒ Ø ÓÒ Ð ËÝÑÔÓ× ÙÑ ÓÒ
Ô Ò Ð ÓÑÔÙØ Ò ´ÈÊ ¾¼½¾µ¸ Æ Ø ¸ Â Ô Ò¸ ¹ÊÇÅ ´¾¼½¾µº
嶋田遼平,木村光宏:
「開発属性データを用いた
嶋田遼平,木村光宏,
「ソフトウェア開発プロジェクトデータによる信頼性予測
¹ コネクショニストアプローチ ¹」,電子情報通信学会総合大会報文集 (¾¼½¿)(発表予定).
¾