(58)【調査した分野】(Int.Cl.,DB名)
ボウリングボールの性能に関する入力データを受け付ける入力層と、前記ボウリングボールの軌道に関する出力データを出力する出力層と、を有する予測モデルを記憶する記憶部を備える、
請求項1に記載のボウリングボール選択支援システム。
前記記憶部は、ユーザ毎に、ボウリングボールの性能に関する入力データと、ユーザがレーン上にフックで当該ボウリングボールを投球した際の当該ボウリングボールの軌道に関する出力データと、を含む学習データを記憶しており、
前記ボウリングボール選択支援システムは、前記記憶部に記憶されたユーザ毎の学習データのデータ数に応じて、ユーザ毎に、前記学習演算部による学習演算が実行可能かどうかを判定する学習演算処理実行可能性判定部を備え、
前記学習演算部は、前記学習演算処理実行可能性判定部により前記学習演算部による学習演算が実行できないと判定されたユーザについて、前記記憶部に記憶され、当該ユーザと身体特性及び投球スキルが類似する他の複数のユーザが有している学習データを用いて、前記予測モデルの重み係数を算出する、
請求項2〜5のいずれか1項に記載のボウリングボール選択支援システム。
前記投球データ予測部が予測した未投球のボウリングボールの軌道に関するデータに基づいて、前記ボウリングボールの軌道を二次元で表現した相関図を作成する相関図作成部と、
前記相関図作成部が作成した相関図を表示する表示部と、
を備える、
請求項1から6のいずれか1項に記載のボウリングボール選択支援システム。
【発明を実施するための形態】
【0020】
以下、本発明に係るボール選択支援システム、ボール選択支援方法及びプログラムの実施の形態を、図面を参照しながら詳細に説明する。各図面においては、同一又は同等の部分に同一の符号を付す。また、各実施の形態では、ボウリングレーンの長手方向をX軸、ボウリングレーンの幅方向をY軸、上下方向をZ軸とする直交座標系を使用する。
【0021】
なお、本明細書では、「所有ボール」との用語は、ユーザが既に所有しており、レーン上に実際に投球したことのあるボールを意味する。ユーザが「所有ボール」をレーン上に投球した際のスキット、曲がり度等の投球データは、測定され、コンピュータに記憶されているものとする。また、「未投球ボール」との用語は、ユーザがボールを所有しているかどうかに関わりなく、ユーザがレーン上に投球した場合に、スキット、曲がり度等の投球データを測定していないボールを意味する。
【0022】
(実施の形態1)
図1〜
図9を参照して、本発明の実施の形態1に係るボール選択支援システム、ボール選択支援方法及びプログラムについて説明する。
【0023】
図1は、ボール選択支援システム100の構成を示すブロック図である。ボール選択支援システム100は、例えば、汎用コンピュータである。ボール選択支援システム100は、指示受付部110と、表示部120と、通信部130と、記憶部140と、制御部150と、を備える。指示受付部110、表示部120、通信部130、記憶部140は、制御部150と有線又は無線の通信回線を介して相互に通信可能に接続されている。
【0024】
指示受付部110は、ユーザの指示を受け付け、受け付けた操作に対応する操作信号を制御部150に供給する。指示受付部110は、例えば、ボタン、キーボード、マウス、ジョイスティック等を含む。また、指示受付部110は、外部の指示装置等を接続可能なコネクタ等であってもよい。
【0025】
表示部120は、制御部150から供給される各種の画像データ等に基づいて各種の画像等を表示する。表示部120は、例えば、表示パネルと表示パネル駆動回路とを備える。表示パネル駆動回路は、制御部150から供給される画像データに従って表示パネルを駆動し、表示パネルに画像を表示させる。表示パネルは、液晶パネル、有機EL(Electro Luminescence)パネルによって実現される。また、表示部120は、ボール選択支援システム100に設けられたコネクタを介して接続可能な外部の表示装置等であってもよい。
【0026】
なお、指示受付部110と表示部120とは、タッチパネルによって一体に構成されてもよい。タッチパネルは、所定の操作を受け付ける操作画面を表示すると共に、操作画面においてユーザが接触操作を行った位置に対応する操作信号を制御部150に供給する。
【0027】
通信部130は、インターネット等の通信ネットワークに接続することが可能なインターフェースである。通信部130は、外部の端末、サーバ、メモリ等と通信ネットワークを介して通信する。
【0028】
記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置、フラッシュメモリ等を備え、制御部150により実行され、後述するデータ取得部151、学習演算部152、投球データ予測部153、相関図作成部154として機能させるプログラムや各種データ、アプリケーションを記憶する。また、記憶部140は、制御部150が処理を実行するためのワークメモリとして機能する。
【0029】
記憶部140は、所有ボール性能データベース141と、所有ボール投球データベース142と、未投球ボール性能データベース143と、予測モデル144と、を備える。以下、
図2のデータテーブルを参照して、各データベース141〜143について説明する。
【0030】
図2(a)は、所有ボール性能データベース141を示すデータテーブルである。所有ボール性能データベース141は、ユーザ毎に作成され、所有ボールの性能データを記憶する。性能データには、例えば、RG(Radius of Gyration)、ΔRG、マスバイアス、表面仕上げに関するデータ等が含まれる。性能データは、ボールの製造メーカがユーザに提供しているデータである。
【0031】
RGは、ボールの回転半径であり、ボールの転がりにくさを示す指標である。RGが大きいほどボールはレーン上を転がりにくくなる。RGは、アメリカボウリング協会(American Bowling Congress:ABC)により、2.46インチ〜2.80インチの範囲内に規定されている。
【0032】
ΔRGは、回転半径RGの最大値と最小値の差である。ΔRGについて説明するために、
図3を参照して、ボウリングボール10の構造について説明する。
図3は、ボウリングボール10の構造の一例を示す図である。
図3に示すように、ボウリングボール10は、ポリエステル、ウレタン樹脂等で形成された表面のシェル11と、シェル11の内部に設けられた中心部のコア12と、を備える。なお、実際のコア12は所望の性能を実現するために、より複雑な形状を有しているが、
図3では、以下の説明を容易にするためにコア12の形状を円柱形として例示している。
【0033】
ボウリングボール10の内部に埋め込まれたコア12が球形の場合、どの方向に回転させたとしてもRGが変わらないため、ΔRGはゼロである。他方、
図3に示すように、コア12が円柱形の場合、コア12を長手方向軸の周りに回転させた場合(矢印A)と、径方向の軸周りに回転させた場合(矢印B)とで、回転半径RGが異なる。このため、コア12が円柱形の場合、ΔRGはゼロにならない。
【0034】
図4は、レーン上を転がるボールの軌道を示す図である。
図4に示すように、ボーラーがX軸方向に投球したボールは、レーンの後半にあるバックエンドでY軸方向に曲がる。回転(旋回)しながらレーン上を進むボールは、ボールにおけるレーンに接触する面が次々に変化する。ΔRGが大きいほど、ボールにおけるレーンに接触する面の変化を示す指標であるトラックフレアが大きくなる。ΔRGを大きくする(トラックフレアを大きくする)ことにより、レーン上のオイルに接触していないボールの面を次々にレーンに接触させることができるため、レーン上におけるボールの滑りを抑制でき、バックエンドにおけるボールの曲がりを大きくできる。このため、ΔRGはフレアポテンシャルとも呼ばれる。ΔRGは、前述のABCにより、0.060インチ以下に規定されている。
【0035】
図2(a)に戻り、マスバイアスは、ボウリングボール10の質量の偏りを示す指標である。コア12へのウエイトブロックの埋め込み、コア12の変形等により、コア12に質量の偏りを生じさせてマスバイアスを調整する。マスバイアスを調整することにより、ピンの近くでのボールの曲がり方(バックエンドリアクション)が変化する。
【0036】
表面仕上げは、シェル11の表面粗さを示す指標である。表面仕上げは、例えば、シェル11の表面を研磨するサンドペーパーのグリッド番号で表現される。ボール表面に形成された細かな溝は、レーン上に塗布されたオイルを吸収することにより、レーン上でのボールの滑りを抑制し、ボールの回転やバックエンドリアクションを発生させる。ボール表面の溝の幅や深さを調整することにより、ボールの回転とバックエンドリアクションを調整できる。
【0037】
図2(b)は、所有ボール投球データベース142を示すデータテーブルである。所有ボール投球データベース142は、ユーザ毎に作成され、所有ボールをユーザが実際にレーン上に投球した際のボールの軌道を示す投球データを記憶する。投球データには、ボールのスキットや曲がり度に関するデータが含まれる。
図4に示すように、スキットは、ユーザがボールをレーン上に投球した際のボールの進み度合いを示す指標である。スキットが大きいほどボールがレーンの後半まで曲がらずにX軸方向に直進する。曲がり度は、ユーザがボールをレーン上に投球した際にボールがレーンの幅方向(Y軸方向)に曲がる度合いを示す指標である。
【0038】
図2(c)は、未投球ボール性能データベース143を示すデータテーブルである。未投球ボール性能データベース143は、ユーザ毎に作成され、未投球のボールの性能データを記憶する。未投球ボール性能データベース143が記憶する性能データは、所有ボール性能データベース141が記憶する性能データと同一の種類である。
【0039】
次に、
図5を参照して、記憶部140に記憶された予測モデル144について説明する。以下、階層型ニューラルネットワークを用いた場合を例にして説明するが、予測モデル144は、入力データと出力データとの関係を規定しており、入力層にデータを供給して出力層から出力データを得ることができる手法であれば、いかなる手法を用いて構築してもよい。
【0040】
図5は、予測モデル144の具体例を示す図である。
図5に示すように、予測モデル144は、入力層と、中間層と、出力層と、を備える階層型ニューラルネットワークを用いたモデルである。予測モデル144では、入力層に入力された入力データX
iは、中間層及び出力層で演算され、最終的に出力層から出力データY
kが出力される。
【0041】
入力層は、複数の入力用ニューロンS
i(i=1〜n)を備える。入力層の入力用ニューロンS
iは、入力データX
iを中間層にそのまま伝える。入力用ニューロンS
iの数は、例えば、ボールのスキット及び曲がり度と相関関係を有する要因に基づいて設定される。例えば、
図2(a)の所有ボール性能データベースを用いる場合、入力変数が4つであるため、入力層は、4つの入力用ニューロンS
1〜S
4を備える。つまり、n=4である。
【0042】
中間層は、複数の中間ニューロンT
j(j=1〜m)を備える。中間層の中間ニューロンT
jの数は、入力用ニューロンS
iの数及び出力用ニューロンU
kの数に基づいて、出力データ(予測値)Y
kと出力データ(実測値)Y
k’との誤差ができるだけゼロに近づくように決定される。
【0043】
出力層は、複数の出力用ニューロンU
k(k=1、2)を備える。
図5の具体例における出力層は、2つの出力用ニューロンU
1、U
2を備えているが、出力用ニューロンの数は2つに限定されず、出力層から出力させる出力データY
kの数に応じて、任意に設定できる。
【0044】
入力用ニューロンS
iと中間ニューロンT
jとの間、及び中間ニューロンT
jと出力用ニューロンU
kとの間には、それぞれニューロン間の結合状態を設定する重み係数W
ji、V
kjが設定されている。階層型のニューラルネットワークでは、誤差逆伝播法(バックプロパゲーション)による学習演算処理を実行することにより、入力データX
i及び出力データY
kからなる学習データを用いて重み係数W
ji、V
kjが最適化される。最適化された重み係数W
ji、V
kjを用いて、入力層に入力された入力データX
iに基づいて出力データY
kを算出する予測モデル144が構成される。
【0045】
以下、入力層、中間層及び出力層の間のデータの流れについて説明する。まず、入力用ニューロンS
iには、スキット及び曲がり度と相関関係を有する入力データX
iが入力される。
図2(a)の所有ボール性能データベース141、
図2(c)の未投球ボール性能データベース143を用いる場合、入力データX
1はRG、入力データX
2はΔRG、入力データX
3はマスバイアス、入力データX
4は表面仕上げを示す。
【0046】
入力層の入力用ニューロンS
iに入力された入力データX
iは、それぞれの重み係数W
jiで重みづけされ、中間層の各中間ニューロンT
jに入力される。中間ニューロンT
jに入力されたそれぞれの値は加算されて各中間ニューロンT
jの値となる。したがって、各中間ニューロンT
jの値は、以下の式(1)で表される。
T
j=X
1W
j1+X
2W
j2+…+X
iW
ji+…+X
nW
jn …(1)
【0047】
次に、中間層の各中間ニューロンT
jに入力されて加算された値T
jは、活性化関数(入出力関数)fにより値H
jに非線形変換される。したがって、H
jは以下の式(2)で表される。
H
j=f(T
j) …(2)
【0048】
中間層から出力された値H
jは、それぞれの重み係数V
kjで重み付けされ、出力層の出力用ニューロンU
kに入力される。出力用ニューロンU
kに入力されたそれぞれの値は加算されての各出力用ニューロンU
kの値となる。したがって、各出力用ニューロンU
kの値は以下の式(3)で表される。
U
k=H
1V
k1+H
2V
k2+…+H
jV
kj+…+H
mW
km …(3)
【0049】
次に、出力用ニューロンU
kの値は、活性化関数fで非線形変換され、出力データY
kとして出力される。したがって、出力データY
kは以下の式(4)で表される。
図2(b)の所有ボール投球データベース142を用いる場合、出力データY
1はスキット、出力データY
2は曲がり度を示す値である。
Y
k=f(U
k) …(4)
【0050】
中間層及び出力層における活性化関数fとしては、入力データX
iと出力データY
kとの非線形な関係を表すために、シグモイド関数、マックス関数、ガウス関数等が用いられる。例えば、活性化関数fとしてシグモイド関数を用いる場合、活性化関数fは以下の式(5)で表される。
f(x)=1/(1+exp
−x) …(5)
【0051】
図1に戻り、制御部150は、例えば、CPU(Central Processing Unit)等のプロセッサを備え、ボール選択支援システム100の各部の制御を行う。制御部150は、記憶部140に記憶されているプログラムを実行することにより、
図8の学習演算処理、
図9の投球データ予測処理を実行する。
【0052】
制御部150は、機能的には、データ取得部151、学習演算部152、投球データ予測部153、相関図作成部154を備える。以下、制御部150の機能的な各構成について説明する。
【0053】
データ取得部151は、通信部130を用いて外部端末又は外部サーバ(例えば、製造メーカの端末、サーバ等)とデータ通信を行い、若しくはユーザの操作を指示受付部110が受け付けることにより、所有ボール及び未投球ボールについて、RG、ΔRG、マスバイアス差及び表面仕上げ等に関する性能データ、並びにスキット及び曲がり度等の投球データを取得する。そして、データ取得部151は、所有ボールに関する性能データを所有ボール性能データベース141に登録し、未投球ボールに関する性能データを未投球ボール性能データベース143に登録し、所有ボールに関する投球データを所有ボール投球データベース142に登録する。
【0054】
学習演算部152は、ユーザが所有するボールを投球した際のスキット、曲がり度合いの実測値等を出力データY
kとして、誤差逆伝播法により学習演算を行うことにより、階層型ニューラルネットワークの予測モデル144の重み係数W
ji、V
kjを最適化する学習演算手段の一例である。
【0055】
以下、学習演算部152が実行する誤差逆伝播法を用いた学習の流れについて説明する。まず、学習演算部152は、入力層の入力用ニューロンS
iに対して入力データX
iを入力した場合の出力用ニューロンU
kからの出力データY
kと、ユーザが実際にボールを投球した場合の出力データ(実測値)Y
k’と、に基づいて二乗誤差Eを算出する。二乗誤差Eは以下の式(6)で表される。
E={(Y
1’−Y
1)
2+(Y
2’−Y
2)
2+…+(Y
k’−Y
k)
2}/2k …(6)
【0056】
そして、学習演算部152は、入力用ニューロンS
iの入力データX
iにより出力される出力データY
kが出力データ(実測値)Y
k’に近似するように、それぞれの重み係数W
ji、V
kjを最適化する。出力データY
kを出力データ(実測値)Y
k’に近似させるには、二乗誤差Eをゼロに近づける必要がある。
【0057】
以下、
図6を参照して、重み係数W
jiを最適化する手法について説明する。以下、重み係数V
kjが既に最適化されているものとする。
図6は、重み係数W
jiと二乗誤差Eとの関係を示すグラフの一例である。誤差逆伝播法を用いた実際の処理では、まず、重み係数V
kjを更新し、次に、重み係数W
jiを更新する必要があるが、重み係数V
kjを最適化する手法は、重み係数W
jiを最適化する手法と同一であるため、以下の説明を省略する。
【0058】
図6に示すように、二乗誤差Eの極小値が二乗誤差Eの最小値と同一であると仮定した場合、重み係数W
jiは二乗誤差Eが最小となるように更新すればよい。Eが最小となる重み係数(最適化された重み係数)がW
jioptであり、現在の重み係数がW
jioldであるとすると、W
jioldがW
jioptに近づくように重み係数W
jiを更新すればよい。更新された重み係数W
jinewは、現在の重み係数W
jioldと重み係数の変化量ΔW
jiとを用いて、以下の式(7)で表される。
W
jinew=W
jiold+ΔW
ji …(7)
【0059】
重み係数の変化量ΔW
jiを算出するには、現在の重み係数W
jioldにおける二乗誤差Eの傾きを利用すればよい。二乗誤差Eの傾きは、重み係数W
jiを変数として二乗誤差Eを微分した偏微分(∂E/∂W
ji)で表すことができる。
図6に示すように、二乗誤差Eの傾きが正のとき、重み係数W
jiを減少させればよく、二乗誤差Eの傾きが負のとき、重み係数W
jiを増加させればよい。したがって、重み係数の変化量ΔW
jiは、係数η(0<η<1)を用いて以下の式(8)で表される。
ΔW
ji=−η×(∂E/∂W
ji) …(8)
【0060】
式(8)で求めた重み係数の変化量ΔW
jiを式(7)に代入して、新たな重み係数W
jinewを算出する。そして、算出された重み係数W
jinewを現在の重み係数W
jioldとして、上記の手法を繰り返すことで、重み係数W
jiをW
jioptに近づける。以上の手順により重み係数W
jiが最適化される。
【0061】
図1に戻り、投球データ予測部153は、学習演算部152が最適化した重み係数W
ji、V
kjを用いて、ユーザが未投球のボールを投球した際に予測されるスキット、曲がり度等の投球データの予測値を算出する投球データ予測手段の一例である。
【0062】
相関図作成部154は、所有ボール投球データベース142に記憶されたスキット、曲がり度の実測値と、投球データ予測部153が予測したスキット、曲がり度の予測値と、に基づいて、ユーザが所有ボール及び未投球ボールをそれぞれ投球した場合のスキットと曲がり度との関係を二次元で表す相関図を作成する。相関図作成部154は、作成された相関図に関する画像データを表示部120に送信して、表示部120に相関図を表示させる。
【0063】
図7は、相関図作成部154が作成する相関図の具体例を示す。縦軸が曲がり度、横軸がスキットである。相関図には、複数のボールに対応するマーク(点)が製品名と共に付与されている。このため、ユーザは、相関図を参照することにより、所有ボールをユーザが投球した場合のボールの曲がり度及びスキットの実測値と、未投球のボールをユーザが投球した場合に予想される曲がり度及びスキットの予測値との関係を一度に把握できる。
【0064】
図8は、実施の形態1に係る学習演算処理を示すフローチャートである。以下、
図8を参照して、実施の形態1に係るボール選択支援システム100を用いて実行される階層型ニューラルネットワークの学習演算処理について説明する。
【0065】
まず、データ取得部151は、ユーザの所有ボールに関する性能データ、ユーザが所有ボールを投球した際に測定された投球データを含む学習データを全て取得する(ステップS101)。データ取得部151が取得した学習データは、記憶部140に送信され、データの種類毎に所有ボール性能データベース141、所有ボール投球データベース142に記憶される。
【0066】
次に、学習演算部152は、階層型ニューラルネットワークの各層における全てのニューロン間の各重み係数W
ji、V
kjを初期化する(ステップS102)。各ニューロン間の重み係数W
ji、V
kjに対する初期値は、例えば−0.1〜+0.1の乱数で与えられる。
【0067】
次に、学習演算部152は、過去の複数の日時における、RG、ΔRG、マスバイアス差及び表面仕上げ等に関する入力データX
iを、入力層の入力用ニューロンS
iに入力し、入力データX
iに基づいて演算された出力層の出力データY
kを、ボーラーが実際のボールを投球した場合の出力データ(実測値)Y
k’と比較し、出力データ(予測値)Y
kと出力データ(実測値)Y
k’との二乗誤差Eを算出する(ステップS103)。
【0068】
次に、学習演算部152は、それぞれの重み係数V
kjについて、重み係数V
kjで二乗誤差Eを偏微分した値を重み係数の変化量ΔV
kjとして加算することにより、重み係数V
kjを更新する(ステップS104)。
【0069】
次に、学習演算部152は、それぞれの重み係数W
jiについて、重み係数W
jiで二乗誤差Eを偏微分した値を重み係数の変化量ΔW
jiとして加算することにより、重み係数W
jiを更新する(ステップS105)。
【0070】
次に、学習演算部152は、二乗誤差Eが閾値よりも小さいかどうかを判定する(ステップS106)。二乗誤差Eが閾値よりも小さい場合(ステップS106;Yes)、学習演算部152は、最適化された重み係数W
ji、V
kjを記憶する(ステップS107)。他方、二乗誤差Eが閾値よりも小さくない場合(ステップS106;No)、学習演算部152は、処理をステップS104に戻し、ステップS104〜ステップS106の処理を繰り返す。以上のステップにより学習演算処理が終了する。
【0071】
なお、学習演算処理では、学習データの一部を用いてステップS101〜ステップS106の処理を実行した後、二乗誤差Eが閾値よりも小さくなる重み係数W
ji、V
kjを算出し、当該重み係数W
ji、V
kjを学習データの残りを用いて適切かどうか評価し、適切な重み係数W
ji、V
kjであると評価されたときに、当該重み係数W
ji、V
kjが最適化された重み係数W
ji、V
kjとして記憶部140に記憶してもよい。
【0072】
図9は、実施の形態1に係る投球データ予測処理を示すフローチャートである。以下、
図9を参照して、学習演算処理が終了した後、実施の形態1に係るボール選択支援システム100が実行する投球データ予測処理について説明する。
【0073】
まず、データ取得部151は、未投球のボールに関するRG、ΔRG、マスバイアス差、表面仕上げ等に関する性能データを取得する(ステップS201)。データ取得部151は、ユーザにより指示受付部110に入力された性能データ、又は、ネットワークを介して通信部130が受信した性能データを取得して、当該性能データを未投球ボール性能データベース143に記憶する。
【0074】
次に、投球データ予測部153は、最適化された重み係数W
ji、V
kjを用いて、中間層、出力層へと演算処理を行い、ユーザが未投球のボールを投球した場合に予測されるボールのスキット及び曲がり度の予測値を算出する(ステップS202)。
【0075】
次に、相関図作成部154は、投球データ予測部153が予測したスキット及び曲がり度の予測値に基づいて、縦軸が曲がり度、横軸がスキットである相関図を作成する(ステップS203)。相関図作成部154は、相関図の該当する位置に未投球のボールを示すマークを製品名と共に付与することにより、
図7の具体例に示すような相関図を作成する。
【0076】
未投球のボールが複数存在する場合は、ステップS201〜ステップS203の処理をボールごとに繰り返し実行する。より詳細には、投球データ予測部153は、ボールごとのスキット、曲がり度の予測値を算出する。そして、相関図作成部154は、ボールごとの予測値に基づいて、作成した相関図の該当する位置に未投球のボールを示すマークを製品名と共に追加することにより、相関図を更新する。
【0077】
次に、相関図作成部154は、作成された相関図に関する画像データを表示部120に送信する(ステップS204)。表示部120は、相関図作成部154より送信された画像データに基づいて相関図を表示する。以上のステップにより、投球データ予測処理が終了する。
【0078】
ユーザは、未投球のボールに関するマークが付与された相関図を参照することにより、既存の所有ボールと未投球のボールとの関係を比較して、実際にボールを投球せずとも所望の性能を有するボールを選択できる。例えば、店舗等でボールの購入を検討する場面、ユーザが購入を検討しているボールに関する性能データを入力するだけで、ユーザの所有ボールに関する投球データと、ユーザが購入を検討しているボールに関する投球データとの関係を比較可能な相関図が表示部120に表示されるため、ユーザの投球力を考慮に入れた適切なボールの購入を支援できる。
【0079】
また、ボウリングの競技会では、ボーラーが持ち込めるボール数が制限されているため、ボウリング場の環境等にあわせて持ち込むボールを事前に選択する必要がある。ボーラーは、作成された相関図を参照することにより、競技会に向けてどのボールを持ち込むべきか、又は、ボールを新たに購入すべきかを判断できる。
【0080】
以上説明したように、実施の形態1に係るボール選択支援システム100では、未投球のボールの性能に関するデータに基づいて、学習演算部152が最適化した予測モデルの重み係数W
ji、V
kjを用いて未投球のボールの軌道に関するデータを予測する投球データ予測部153を備える。このため、ボールの性能やユーザの投球力等、複数の要因が絡み合って変化するスキット及び曲がり度等の投球データを高い精度で予測できるため、ユーザ個人の投球力を加味した適切なボールの選択を支援できる。
【0081】
また、実施の形態1に係るボール選択支援システム100では、ボールの性能に関する入力データX
iを受け付ける入力層と、中間層と、ボールの軌道に関する出力データY
kを出力する出力層と、を有する階層型ニューラルネットワークの予測モデル144を記憶する記憶部140を備える。このため、スキット及び曲がり度等の投球データを高い精度で予測できるため、より適切なボールの選択を支援できる。
【0082】
さらに、実施の形態1に係るボール選択支援システム100では、未投球ボールを投球した場合に予測されるスキット及び曲がり度等の投球データを二次元の相関図を用いて一覧表示する表示部120を備えている。このため、ユーザは所有ボールと未投球ボールとの関係を直感的に把握できるため、より適切なボールの選択を支援できる。
【0083】
(実施の形態2)
図10を参照して、本発明の実施の形態2に係るボール選択支援システム、ボール選択方法及びプログラムについて説明する。実施の形態1においては、RG、ΔRG、マスバイアス及び表面仕上げに関する入力データX
iを入力する入力用ニューロンS
iを備えていたが、入力層にボールのスキット及び曲がり度と相関関係を有する他の入力データX
iを入力する入力用ニューロンS
iを適宜追加してもよい。実施の形態2に係るボール選択支援システムの基本的な構成は、実施の形態1に係るボール選択支援システム100と同一であるため、以下、両者の異なる部分を中心に説明する。
【0084】
図10は、階層型ニューラルネットワークの入力層に入力される入力データと、出力層から出力される出力データと、を示すデータテーブルである。入力層は、RG、ΔRG、Indiff値(マスバイアス)、ファクトリーフィニッシュ(表面仕上げ)に関する入力データX
iを受け付ける入力用ニューロンS
iに加えて、コア、カバーに関する入力データX
iを受け付ける入力用ニューロンS
iを備える。コアに関するデータは、コア12の質量を示す指標である。また、カバーに関するデータは、シェル(カバー)11の質量を示す指標である。
【0085】
入力層に入力用ニューロンS
iを追加した場合、追加した入力用ニューロンS
iから中間層の各中間ニューロンT
jに対して、それぞれの重み係数W
jiで重み付けされた入力がなされるように階層型ニューラルネットワークの予測モデル144を構成する。
【0086】
実施の形態2に係るボール選択支援システムにおいては、入力層が受け付ける入力データX
iの数が増加している。このため、スキット、曲がり度等の投球データ(出力データY
k)をより高い精度で予測できる。
【0087】
(実施の形態3)
図11〜
図16を参照して、本発明の実施の形態3に係るボール選択支援システム100’、ボール選択方法及びプログラムについて説明する。実施の形態3では、
図8の学習演算処理に必要なデータ数の学習データを有していないユーザに関しても、未投球ボールを投球した場合の投球データを予測できるように構成している。実施の形態3に係るボール選択支援システムの基本的な構成は、実施の形態1、2に係るボール選択支援システムと同一であるため、以下、両者の異なる部分を中心に説明する。
【0088】
図11は、ボール選択支援システム100’の構成を示すブロック図である。記憶部140は、重み係数初期値データベース145と、ユーザ情報データベース146と、ユーザ層定義テーブル147と、をさらに備える。
【0089】
図12(a)は、重み係数初期値データベース145のデータテーブルの一例である。重み係数初期値データベース145は、所有ボール性能データベース141及び所有ボール投球データベース142に記憶され、
図8の学習演算処理の実行に必要なデータ数の学習データを有しているユーザ毎に算出された各重み係数W
ji、V
kjを重み係数初期値として記憶する。重み係数初期値データベース145は、ユーザ毎に、全ての重み係数W
11、W
12、…、V
12、V
22、…を重み係数初期値として記憶する。重み係数初期値は、
図8の学習演算処理の実行に必要なデータ数の学習データを有していないユーザが未投球ボールを投球した場合の投球データを予測するために使用される。
【0090】
図12(b)は、ユーザ情報データベース146のデータテーブルの一例である。ユーザ情報データベース146は、各ユーザの識別情報、身体情報及び投球スキル情報を含むユーザ情報を記憶する。識別情報は、例えば、ユーザ毎に付与されるユーザID(Identification)である。身体情報は、例えば、身長、体重、年齢、性別、握力を含む。投球スキル情報は、例えば、経験年数、平均スコア、投球技術、投球コンディション等を含む。なお、
図12(b)では、身体情報として身長、体重を、投球スキル情報として経験年数、平均スコアを用いた場合を例示している。
【0091】
投球技術は、プロボーラー等による各ユーザの投球技術を評価したものであり、例えば、ユーザ毎に、上級、中級、初級に分類されてもよく、各ユーザから投球されるボールの物理的な指標であってもよい。物理的な指標には、例えば、ボールのスピード、ボールの回転数、ボールの回転軸の傾き、フレアの幅と角度等が含まれてもよい。また、投球コンディションは、ユーザ自身による競技前の投球コンディションの自己評価であり、例えば、好調、普通、不調に分類されてもよい。
【0092】
図12(c)は、ユーザ層定義テーブル147のデータテーブルの一例である。ユーザ層定義テーブル147は、各ユーザ層に含まれるユーザの身体情報及び投球スキル情報の範囲を定義する。各ユーザ層は、身体特性及び投球スキルが類似するユーザの集合であり、各ユーザは、いずれかのユーザ層に分類される。各ユーザ層は、例えば、身長10cm幅、体重10kg幅、年齢10歳幅、性別毎、平均スコア10点幅で設定され、さらに、経験年数が2年未満か3年以上か、投球技術が初級、中級、上級のいずれか、投球コンディションが好調、普通、不調のいずれかにより分類される。なお、
図12(c)では、
図12(b)のユーザ情報データベース146に対応して、ユーザ層が身長、体重、経験年数、平均スコアにより定義されている場合を例示している。
【0093】
図11に戻り、制御部150は、機能的には、重み係数初期値算出部155と、学習演算処理実行可能性判定部156と、投球データ平均値算出部157と、学習データ統合部158と、をさらに備える。
【0094】
重み係数初期値算出部155は、所有ボール性能データベース141及び所有ボール投球データベース142に記憶され、
図8の学習演算処理の実行に必要なデータ数の学習データを有しているユーザ毎の学習データに基づいて、ユーザ毎にそれぞれ重み係数W
ji、V
kjを算出して、算出された重み係数W
ji、V
kjを重み係数初期値として重み係数初期値データベース145に登録する。
【0095】
学習演算処理実行可能性判定部156は、未投球のボールを投球した場合の投球データを予測しようとする対象ユーザが有している学習データのデータ数に応じて、
図8の学習演算処理の実行が可能かどうかを判定し、判定結果に基づいて投球データを予測するための処理を選択する。
【0096】
投球データ平均値算出部157は、対象ユーザが有している学習データのデータ数が不足しており、
図8の学習演算処理を実行できない場合に、対象ユーザが属しているユーザ層に属する各ユーザの重み係数初期値をそれぞれ用いて、未投球のボールを投球した場合の投球データの予測値を算出し、算出された複数の投球データの予測値から投球データの平均値を算出して、対象ユーザが未投球のボールを投球した場合の投球データの予測値とする。
【0097】
学習データ統合部158は、対象ユーザが有している学習データのデータ数が不足しており、
図8の学習演算処理を実行できない場合に、対象ユーザが属しているユーザ層に属する複数のユーザが有している学習データと、対象ユーザが有している学習データと、を統合して、
図8の学習演算処理が実行可能なデータ数の新たな学習データを生成する。
【0098】
(重み係数初期値算出処理)
図13を参照して、重み係数初期値算出部155が実行する重み係数初期値算出処理を説明する。重み係数初期値算出処理は、後述する学習演算処理実行可能性判定処理の前に実行され、
図8の学習演算処理に必要なデータ数の学習データを有していないユーザのために、
図15の投球データ平均値算出処理にて用いられる重み係数初期値を算出する処理である。以下、所有ボール性能データベース141及び所有ボール投球データベース142には、投球データを予測しようとする対象ユーザ以外の多数のユーザが有している、
図8の学習演算処理に必要なデータ数の学習データが記憶されているものとする。
【0099】
まず、重み係数初期値算出部155は、所有ボール性能データベース141及び所有ボール投球データベース142から、
図8の学習演算処理に必要なデータ数の学習データを有しているユーザの学習データを取得する(ステップS301)。
【0100】
次に、重み係数初期値算出部155は、取得された学習データを用いて、学習演算部152に
図8の学習演算処理を実行させ、学習データが取得されたユーザに関する重み係数W
ji、V
kjを算出させる(ステップS302)。
【0101】
次に、重み係数初期値算出部155は、算出された重み係数W
ji、V
kjをユーザIDと対応付けて、重み係数初期値として重み係数初期値データベース145に登録する(ステップS303)。
【0102】
次に、重み係数初期値算出部155は、所有ボール性能データベース141及び所有ボール投球データベース142に学習データが登録され、かつ、
図8の学習演算処理に必要なデータ数を有する全てのユーザに関して、重み係数初期値データベース145に重み係数が登録されているかどうかを判定する(ステップS304)。
【0103】
全てのユーザに関して重み係数が登録されている場合(ステップS304;Yes)、重み係数初期値算出処理を終了する。他方、重み係数初期値が登録されていないユーザがいる場合(ステップS304;No)、ステップS302に戻り、ステップS302〜ステップS304の処理を繰り返す。以上が、重み係数初期値算出処理の流れである。
【0104】
(学習演算処理実行可能性判定処理)
次に、
図14を参照して、
図13の重み係数初期値算出処理の実行後に、学習演算処理実行可能性判定部156が実行する学習演算処理実行可能性判定処理の流れを説明する。
【0105】
図8の学習演算処理では、対象ユーザが有している学習データを用いて重み係数W
ji、V
kjを最適化するため、
図8の学習演算処理に必要なデータ数の学習データを有していない対象ユーザの場合、重み係数W
ji、V
kjを最適化できない。そこで、学習演算処理実行可能性判定処理では、所有ボール性能データベース141及び所有ボール投球データベース142に記憶された対象ユーザが有している学習データのデータ数に応じて、
図8の学習演算処理の実行が可能かどうかを判定する。以下、学習データを有していないユーザが、ボウリングの競技会等に向けて新たなボールを選択又は購入するために、ボール選択支援システム100’の利用を開始する場合を例に説明する。
【0106】
ユーザは、例えば、ボール選択支援システム100’の会員登録時等において、指示受付部110を操作して、表示部120にて要求されるユーザ情報及び投球スキル情報を入力する。学習演算処理実行可能性判定部156は、指示受付部110が身体情報及び投球スキル情報を受け付けたかどうかを判定する(ステップS401)。
【0107】
指示受付部110が身体情報及び投球スキル情報を受け付けた場合(ステップS401;Yes)、ステップS402に移動する。指示受付部110が身体情報及び投球スキル情報を受け付けていない場合(ステップS401;No)、指示受付部110が身体情報及び投球スキル情報を受け付けるまで待機する。
【0108】
次に、学習演算処理実行可能性判定部156は、ユーザの身体情報及び投球スキル情報をユーザIDに対応付けてユーザ情報データベース146に登録し(ステップS402)、投球データ平均値算出部157に、
図15の投球データ平均値算出処理を実行させる(ステップS403)。
【0109】
(投球データ平均値算出処理)
以下、
図15を参照して、投球データ平均値算出部157が実行する投球データ平均値算出処理(ステップS403)を説明する。投球データ平均値算出処理は、対象ユーザが有している学習データのデータ数が不足しており、
図8の学習演算処理を実行できない場合に、対象ユーザが属しているユーザ層に属する各ユーザの重み係数初期値をそれぞれ用いて、各ユーザが未投球のボールを投球した場合の投球データの予測値を算出し、算出された複数の投球データの予測値から投球データの平均値を算出して、対象ユーザが未投球のボールを投球した場合の投球データの予測値とする処理である。
【0110】
まず、ユーザは、表示部120に表示されたメッセージに応じて、指示受付部110を操作して、未投球のボールの性能データを入力し、未投球のボールを投球した場合の投球データの予測値の算出を指示する。投球データ平均値算出部157は、指示受付部110が未投球のボールの性能データを受け付けたかどうかを判定する(ステップS501)。
【0111】
未投球のボールの性能データを受け付けた場合(ステップS501;Yes)、投球データ平均値算出部157は、ユーザ情報データベース146から対象ユーザの身体情報及び投球スキル情報を取得し、ユーザ層定義テーブル147を参照して当該ユーザが属しているユーザ層を選択する(ステップS502)。未投球のボールの性能データを受け付けていない場合(ステップS501;No)、未投球のボールの性能データを受け付けるまで待機する。
【0112】
次に、投球データ平均値算出部157は、重み係数初期値データベース145から、選択されたユーザ層に属している全てのユーザの重み係数初期値を取得する(ステップS503)。
【0113】
次に、投球データ平均値算出部157は、投球データ予測部153に、取得されたそれぞれの重み係数初期値を用いて、選択されたユーザ層に属しているユーザ毎に、それぞれ投球データの予測値を算出させる(ステップS504)。
【0114】
次に、投球データ平均値算出部157は、算出された複数の投球データの予測値の平均値を算出して、対象ユーザが未投球のボールを投球した場合の投球データの予測値とする(ステップS505)。
【0115】
対象ユーザが属しているユーザ層に属する2人のユーザA、Bが
図8の学習演算処理に必要なデータ数の学習データを有している場合を例に説明すると、対象ユーザの入力データxに対する出力データF(x)は以下の式で表される。
F(x)={F
A(x)+F
B(x)}/2 …(9)
ただし、ユーザAの出力データがF
A(x)であり、ユーザBの出力データがF
B(x)である。
【0116】
次に、投球データ平均値算出部157は、相関図作成部154に、算出された2種類の投球データの平均値を用いて相関図を作成させ(ステップS506)、投球データ平均値算出処理をリターンする。2種類の投球データは、例えば、スキット及び曲がり度であるが、それ以外の投球データの組み合わせであってもよい。表示部120は、投球データ平均値算出部157の指示により、相関図作成部154により作成された相関図を表示する。以上が、投球データ平均値算出処理(ステップS403)の流れである。
【0117】
図14に戻り、学習演算処理実行可能性判定処理の続きを説明する。ユーザは、例えば、作成された相関図に基づいてボールを選択して、レーン上にボールを投球する。ボールの投球後、ユーザは、指示受付部110を操作して、投球したボールの性能データと、当該ボールに対応する投球データと、を含む新たな学習データを入力する。学習演算処理実行可能性判定部156は、新たな学習データが所有ボール性能データベース141及び所有ボール投球データベース142に登録されたかどうかを判定する(ステップS404)。
【0118】
新たな学習データが所有ボール性能データベース141及び所有ボール投球データベース142に登録された場合(ステップS404;Yes)、ステップS405に移動する。新たな学習データが所有ボール性能データベース141及び所有ボール投球データベース142に登録されていない場合(ステップS404;No)、新たな学習データを登録するまで待機する。
【0119】
次に、学習演算処理実行可能性判定部156は、所有ボール性能データベース141及び所有ボール投球データベース142に記憶された当該ユーザが有している学習データのデータ数が第1の閾値よりも小さいかどうかを判定する(ステップS405)。第1の閾値は、対象ユーザが有している学習データのデータ数と、当該ユーザが属しているユーザ層に属する他のユーザが有している学習データのデータ数と、に基づいて設定され、両者の学習データを統合した場合に、
図8の学習演算処理が実行可能な程度に学習データのデータ数が得られるように設定される。
【0120】
学習データのデータ数が第1の閾値よりも小さい場合(ステップS405;Yes)、学習演算処理の実行が不可能であると判定して、ステップS403に戻る。学習データのデータ数が第1の閾値以上の場合(ステップS405;No)、学習演算処理実行可能性判定部156は、所有ボール性能データベース141及び所有ボール投球データベース142に記憶された対象ユーザが有している学習データのデータ数が第2の閾値よりも小さいかどうかを判定する(ステップS406)。第2の閾値は、第1の閾値よりも大きな値に設定され、対象ユーザが有している学習データのみで
図8の学習演算処理が実行可能な学習データの最小データ数である。
【0121】
学習データのデータ数が第2の閾値よりも小さい場合(ステップS406;Yes)、当該ユーザが有している学習データに、当該ユーザが属しているユーザ層に属する他のユーザが有している学習データを統合すれば、
図8の学習演算処理の実行が可能であると判定して、学習演算処理実行可能性判定部156は、学習データ統合部158に、
図16の学習データ統合処理を実行させる(ステップS407)。
【0122】
(学習データ統合処理)
以下、
図16を参照して、学習データ統合部158が実行する学習データ統合処理(ステップS407)を説明する。学習データ統合処理は、対象ユーザが有している学習データと、対象ユーザが属しているユーザ層に属する複数のユーザが有している学習データと、を統合して、
図8の学習演算処理に必要なデータ数の学習データを生成する処理である。
【0123】
まず、学習データ統合部158は、所有ボール性能データベース141及び所有ボール投球データベース142から、対象ユーザが属するユーザ層に属する全てのユーザに関する学習データを取得する(ステップS601)。
【0124】
次に、学習データ統合部158は、所有ボール性能データベース141及び所有ボール投球データベース142から、対象ユーザが有している学習データを取得する(ステップS602)。
【0125】
次に、学習データ統合部158は、ステップS601で取得した学習データと、ステップS602で取得した学習データとを統合して新たな学習データを生成し(ステップS603)、処理をリターンする。以上が、学習データ統合処理(ステップS407)の流れである。
【0126】
図14に戻り、学習演算処理実行可能性判定部156は、学習演算部152に
図8の学習演算処理を実行させ、重み係数W
ji、V
kjを算出させる(ステップS408)。
【0127】
次に、学習演算処理実行可能性判定部156は、投球データ予測部153及び相関図作成部154に、算出された重み係数W
ji、V
kjを用いて
図9の投球データ予測処理を実行させ(ステップS409)、処理をステップS404に戻す。
【0128】
他方、ステップS406で学習データのデータ数が第2の閾値以上である場合(ステップS406;No)、学習演算処理実行可能性判定部156は、対象ユーザが有している学習データのみで学習演算処理の実行が可能であると判定して、ステップS408及びステップS409の処理を実行し、処理をステップS404に戻す。以上が、学習演算処理実行可能性判定処理の流れである。
【0129】
以上説明したように、実施の形態3に係るボール選択支援システム100’では、対象ユーザが有している学習データのデータ数に応じて、投球データを予測するための処理を選択して実行するため、学習データのデータ数が少ない対象ユーザであっても投球データを予測できる。また、対象ユーザが有している学習データが蓄積されるにつれて、対象ユーザに適合した予測モデルを作成するため、対象ユーザが有している学習データの増加に伴い精度の高い投球データを予測できる。
【0130】
(変形例)
そして、本発明はこれに限られず、以下に述べる変形も可能である。
【0131】
上記実施の形態においては、階層型ニューラルネットワークの予測モデル144を用いて出力データY
kの予測値を算出していたが、本発明はこれに限られない。例えば、相互結合型ニューラルネットワークの予測モデルを用いて出力データY
kの予測値を算出してもよい。
【0132】
上記実施の形態においては、入力層、中間層及び出力層の3層からなるニューラルネットワークのモデルを用いていたが、本発明はこれに限られない。例えば、中間層の層数は2層以上であってもよく、中間ニューロンT
jの数は入力用ニューロンS
i、出力用ニューロンU
kの数等に応じて適宜調整してもよい。
【0133】
上記実施の形態においては、RG、ΔRG、マスバイアス、表面仕上げ、コア、カバーに関するデータを入力していたが、本発明はこれに限られない。例えば、レーン上のオイルパターン、ボールの表面素材に関するデータを入力層に入力してもよい。レーンのオイルパターンは、オイルの量、幅、長さに応じて分類され、例えば、大まかな分類としてオイル量の少ないものから多いものの順に、ドライ、ミディアム、ミディアムヘビー、ヘビーの4つに分類される。また、ボールの表面素材は、レーン上のオイルに対するキャッチ力を示す指標である。
【0134】
ボウリングのボールは、例えば、ドライからミディアムに対応、ミディアムからミディアムヘビーに対応、等のように、レーン上のオイル量に対応して分類され、市場に流通している。このため、レーンのオイル量に応じてある程度、適切なボールを選択することができる。しかし、さらなるスコアの向上を図るためには、ユーザのスキルやレーン上のオイルの分布にあわせたより適切なボールを選択することが望ましい。例えば、表面摩擦が小さいカバー素材のボール(ドライに対応するボール)の場合、レーン上のオイルに対するキャッチ力が小さいため、オイル量が多少増えるだけで、ストライクの確率の高い角度(1番ピンと3番ピンの間に約2度〜約4度の入射角度)にボールを投球することが困難になる。このため、レーン上のオイルパターンに関するデータを入力層に入力して、ボールの投球データを事前に予測することが好ましい。
【0135】
上記の変形例では、オイルパターンのオイル量を、ドライ、ミディアム、ミディアムヘビー、ヘビーに分類して、入力データとして入力層に入力していたが、オイルパターンに関する他のデータも入力データとして用いることができる。オイルパターンに関する他のデータについて説明するために、以下、レーン上に塗布されたオイルパターンについて説明する。
【0136】
図17(a)は、レーン上に塗布されたオイルの広がりの一例を、
図17(b)は、レーン上に塗布されたオイルの厚さ、より詳細にはレーンの板目毎のオイルの量の一例を示す。
図17では、図面の理解を容易にするために、レーンの板目の数を実際よりも少なくし、オイル分布も簡略化して図示している。レーン上のオイルは、転動するボールからレーン表面を保護しているが、ボールの動きにも影響を及ぼすため、競技の難易度を調整するために様々なオイルパターンが用いられている。レーン上のオイルは、メンテナンスマシンにより、アプローチ側からピンデッキ側まで塗布された後、ピンデッキ側からアプローチ側に戻る際に再び塗布される。このため、オイルパターンは、アプローチ側から塗布されたフォワードのオイル塗面と、ピンデッキ側から塗布されたリバースのオイル塗面と、を備える。なお、
図17の「組み合わせ」は、フォワードのオイル塗面とリバースのオイル塗面とが重なっている面であり、「バフ」は、塗布されたオイルが延びた面である。
【0137】
オイルパターンが上記のように構成されているため、オイルパターンのオイル塗面の長さをロング、ミディアム、ショートの3段階で表現して、塗布するオイル量とオイル塗面の長さとを入力データとして入力層に入力してもよい。また、
図17に示すようなオイルパターンの分布そのものを入力データとして入力層に入力してもよい。例えば、オイルパターンの分布図を入力データとして入力層に入力してもよい。また、フォワードのオイル塗面及びリバースのオイル塗面のオイル量をそれぞれ数値化したものを入力データとして入力層に入力してもよい。
【0138】
上記実施の形態では、「箱出し」と呼ばれる製品の販売状態の仕上げ(例えば、1500番グリッドポリッシュ)のまま使用することを前提に説明していたが、本発明はこれに限られない。例えば、ボールをある程度オイルに強くするために、カバーをサンディングした状態を加味した性能データを入力データとして入力層に入力してもよい。また、ボールをオイル量の少ない場合に適合させるために、カバーをポリッシュした状態を加味した性能データを入力データとして入力層に入力してもよい。
【0139】
上記実施の形態においては、スキット、曲がり度を出力する2つの出力用ニューロンU
1、U
2を備えていたが、本発明はこれに限られない。例えば、スキット、曲がり度の予測値に加えて、例えば、ボールの曲がり方(アーク、シャープ等)、レーン上のオイルへの強さ、ピンアクション等を出力する出力用ニューロンU
kを追加してもよい。
【0140】
上記実施の形態においては、各中間ニューロンT
jの値が式(1)で表されていたが、本発明はこれに限られない。閾値W
j0を導入するために各中間ニューロンT
jの値を以下の式(10)で表してもよい。
T
j=X
0W
j0+X
1W
j1+X
2W
j2+…+X
iW
ji+…+X
nW
jn …(10)
ただし、X
0=1である。X
0は、入力データに存在しない値であるが、各中間ニューロンT
jの値に閾値W
j0を導入するために便宜上用いられている。
【0141】
上記実施の形態においては、活性化関数としてシグモイド関数を用いていたが、本発明はこれに限られない。例えば、活性化関数としてtanh(x)を用いてもよい。また、ディープラーニング(Deep Learning)で用いられる活性化関数であるReLU関数を用いてもよい。ReLU関数は以下の式(11)で表される。
x≧0のとき、ReLU(x)=x
x<0のとき、ReLU(x)=0 …(11)
【0142】
上記実施の形態においては、二乗誤差Eの傾き(一階微分)から二乗誤差Eの最小値を探索する最急降下法を用いて予測モデル144の学習演算処理を実行していたが、本発明はこれに限られない。誤差Eを最小化する他の方法、例えば、自然勾配学習法等を用いて予測モデル144の学習演算処理を実行してもよい。
【0143】
上記実施の形態においては、誤差関数として二乗関数を用いていたが、本発明はこれに限られない。例えば、誤差関数として交差エントロピー誤差等を用いてもよい。
【0144】
上記実施の形態においては、入力データX
i及び出力データY
kを正規化していなかったが、本発明はこれに限られない。例えば、誤差逆伝播法による演算結果が収束しない場合、入力データX
i及び出力データY
kを0〜1の範囲に正規化してもよい。入力データX
i及び出力データY
kを正規化した場合、階層型ニューラルネットワークの予測モデル144において学習演算処理を収束させやすくなる。ただし、予測モデル144から予測値を算出するには、出力データY
kに対して正規化の逆変換処理を実行する必要がある。
【0145】
上記実施の形態においては、二乗誤差Eが閾値よりも小さい場合に、重み係数W
ji、V
kjの最適化が終了したと判定していたが、本発明はこれに限られない。例えば、学習回数が閾値よりも大きい場合に、重み係数W
ji、V
kjの最適化が終了したと判定してもよい。
【0146】
上記実施の形態においては、縦軸が曲がり度、横軸がスキットである相関図を作成していたが、本発明はこれに限られない。例えば、相関図作成部154は、指示受付部110の操作信号に基づいて、曲がり度、スキット、ボールの曲がり方(アーク、シャープ等)、オイルへの強さ、ピンアクションから任意の2つのパラメータを選定して相関図を作成してもよい。また、相関図の縦軸及び横軸のパラメータは、指示受付部110の操作信号に基づいて、切り替え可能であってもよい。
【0147】
上記実施の形態においては、制御部150は記憶部140に記憶されたプログラムに基づいて動作していたが、本発明はこれに限定されない。例えば、プログラムにより実現された機能的な構成をハードウェアにより実現してもよい。
【0148】
上記実施の形態においては、各種データは記憶部140に記憶されていたが、本発明はこれに限定されない。例えば、各種データは、その全部又は一部がLAN(Local Area Network)等を介して外部のサーバ、コンピュータ等に記憶されてもよい。また、各種データを複数の場所、例えば、複数のコンピュータから構成されるクラウドシステム上に分散配置してもよい。
【0149】
上記実施の形態では、ボール選択支援システム100が汎用コンピュータで実現されていたが、本発明はこれに限られない。例えば、ボール選択支援システム100は、専用のシステムで実現してもよく、小型汎用コンピュータを用いて実現してもよい。ボール選択支援システム100が実行する処理は、例えば、上述の物理的な構成を備える装置が、記憶部140に記憶されたプログラムを実行することによって実現される。本発明は、プログラムとして実現されてもよく、そのプログラムが記録された記憶媒体として実現されてもよい。
【0150】
上記実施の形態においては、ユーザがユーザ個人の投球力を加味したボールの選定を行う場合を例に説明したが、本発明はこれに限られない。例えば、ボーラーのコーチ、支援スタッフ、販売者等のユーザが、ボーラーに対してボール選択のアドバイスを行うために上記実施の形態に係るボール選択支援システムを用いてもよい。販売者が上記実施の形態に係るボール選択支援システムを用いる場合、販売者は、高い性能のボールを単純に推奨するのではなく、ボーラーが真に必要とするボールを推奨できる。
【0151】
上記実施の形態では、重み係数初期値算出処理は、ボール選択支援システム100’が実行していたが、本発明はこれに限られない。例えば、他のサーバ装置が実行した処理により取得された重み係数初期値を重み係数初期値データベース145に登録してもよく、CD−ROM(Compact Disc Read only memory)等の記憶媒体に記憶された重み係数初期値を読み取って重み係数初期値データベース145に登録してもよい。
【0152】
上記実施の形態は例示であり、本発明はこれらに限定されるものではなく、特許請求の範囲に記載した発明の趣旨を逸脱しない範囲でさまざまな実施の形態が可能である。各実施の形態や変形例で記載した構成要素は自由に組み合わせることが可能である。また、特許請求の範囲に記載した発明と均等な発明も本発明に含まれる。