(57)【要約】【課題】ユーザ個人の投球力を加味した適切なボールの選択を支援するボール選択支援システム、ボール選択支援方法及びプログラムを提供する。【解決手段】ボール選択支援システム１００は、ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化する学習演算部１５２と、未投球のボールの性能に関するデータに基づいて、学習演算部１５２が最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測する投球データ予測部１５３と、を備える。【選択図】図１
2018149264.tif 000002
【特許請求の範囲】
【請求項１】
ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化する学習演算部と、
未投球のボールの性能に関するデータに基づいて、前記学習演算部が最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測する投球データ予測部と、
を備えるボール選択支援システム。
【請求項２】
ボールの性能に関する入力データを受け付ける入力層と、前記ボールの軌道に関する出力データを出力する出力層と、を有する予測モデルを記憶する記憶部を備える、
請求項１に記載のボール選択支援システム。
【請求項３】
前記入力層は、少なくともＲＧ、ΔＲＧ、マスバイアス及び表面仕上げに関する入力データを受け付け、
前記出力層は、少なくともスキット及び曲がり度に関する出力データを出力する、
請求項２に記載のボール選択支援システム。
【請求項４】
前記予測モデルは、前記入力層と前記出力層の間に中間層を備える階層型ニューラルネットワークを用いた予測モデルである、
請求項２又は３に記載のボール選択支援システム。
【請求項５】
前記中間層及び前記出力層の活性化関数はシグモイド関数である、
請求項４に記載のボール選択支援システム。
【請求項６】
前記記憶部は、ユーザ毎に、ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、を含む学習データを記憶しており、
前記ボール選択支援システムは、前記記憶部に記憶されたユーザ毎の学習データのデータ数に応じて、ユーザ毎に、前記学習演算部による学習演算が実行可能かどうかを判定する学習演算処理実行可能性判定部を備え、
前記学習演算部は、前記学習演算処理実行可能性判定部により前記学習演算部による学習演算が実行できないと判定されたユーザについて、前記記憶部に記憶され、当該ユーザと身体特性及び投球スキルが類似する他の複数のユーザが有している学習データを用いて、前記予測モデルの重み係数を算出する、
請求項２〜５のいずれか１項に記載のボール選択支援システム。
【請求項７】
前記投球データ予測部が予測した未投球のボールの軌道に関するデータに基づいて、前記ボールの軌道を二次元で表現した相関図を作成する相関図作成部と、
前記相関図作成部が作成した相関図を表示する表示部と、
を備える、
請求項１から６のいずれか１項に記載のボール選択支援システム。
【請求項８】
前記相関図は、ユーザが複数のボールを投球した場合のスキットと曲がり度との関係を示す、
請求項７に記載のボール選択支援システム。
【請求項９】
前記学習演算部は、誤差逆伝播法を用いて学習演算を行う、
請求項１から８のいずれか１項に記載のボール選択支援システム。
【請求項１０】
ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化するステップと、
未投球のボールの性能に関するデータに基づいて、最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測するステップと、
を含むボール選択支援方法。
【請求項１１】
コンピュータを、
ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化する学習演算手段、
未投球のボールの性能に関するデータに基づいて、前記学習演算手段が最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測する投球データ予測手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボール選択支援システム、ボール選択支援方法及びプログラムに関する。
【背景技術】
【０００２】
レーン上に配置された１０本のピンに向けてボールを転がし、できるだけ多くのピンを倒す競技であるボウリングが知られている。ボウリングの競技者（ボーラー）は、特性の異なる複数のボールを所有しており、ボウリング場やボーラー自身のコンディション等に応じて複数のボールを使い分け、競技に臨んでいる。
【０００３】
そこで、ボーラーを含むユーザが適切なボールを選択するのを支援するためのシステムの開発が行われている。例えば、特許文献１には、ユーザの指の太さや長さといった身体属性に適合したボールを検索し、検索結果をユーザに通知するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２０９６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
同じボールを使用したとしてもユーザの投球力（技量）によってボールの軌道、例えば、ボールが直進する距離やボールの曲がり度合い等が大きく異なることが知られている。しかし、特許文献１のシステムでは、身体属性のみに基づいてボールを選択しているため、ユーザ個人の投球力を加味したボールの選択を支援できない、という問題がある。
【０００６】
本発明は、このような背景に基づいてなされたものであり、ユーザ個人の投球力を加味した適切なボールの選択を支援するボール選択支援システム、ボール選択支援方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の第１の観点に係るボール選択支援システムは、
ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化する学習演算部と、
未投球のボールの性能に関するデータに基づいて、前記学習演算部が最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測する投球データ予測部と、
を備える。
【０００８】
ボールの性能に関する入力データを受け付ける入力層と、前記ボールの軌道に関する出力データを出力する出力層と、を有する予測モデルを記憶する記憶部を備えていてもよい。
【０００９】
前記入力層は、少なくともＲＧ、ΔＲＧ、マスバイアス及び表面仕上げに関する入力データを受け付け、
前記出力層は、少なくともスキット及び曲がり度に関する出力データを出力してもよい。
【００１０】
前記予測モデルは、前記入力層と前記出力層の間に中間層を備える階層型ニューラルネットワークを用いた予測モデルであってもよい。
【００１１】
前記中間層及び前記出力層の活性化関数はシグモイド関数であってもよい。
【００１２】
前記記憶部は、ユーザ毎に、ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、を含む学習データを記憶しており、
前記ボール選択支援システムは、前記記憶部に記憶されたユーザ毎の学習データのデータ数に応じて、ユーザ毎に、前記学習演算部による学習演算が実行可能かどうかを判定する学習演算処理実行可能性判定部を備え、
前記学習演算部は、前記学習演算処理実行可能性判定部により前記学習演算部による学習演算が実行できないと判定されたユーザについて、前記記憶部に記憶され、当該ユーザと身体特性及び投球スキルが類似する他の複数のユーザが有している学習データを用いて、前記予測モデルの重み係数を算出してもよい。
【００１３】
前記投球データ予測部が予測した未投球のボールの軌道に関するデータに基づいて、前記ボールの軌道を二次元で表現した相関図を作成する相関図作成部と、
前記相関図作成部が作成した相関図を表示する表示部と、
を備えてもよい。
【００１４】
前記相関図は、ユーザが複数のボールを投球した場合のスキットと曲がり度との関係を示してもよい。
【００１５】
前記学習演算部は、誤差逆伝播法を用いて学習演算を行ってもよい。
【００１６】
上記目的を達成するために、本発明の第２の観点に係るボール選択支援方法は、
ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化するステップと、
未投球のボールの性能に関するデータに基づいて、最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測するステップと、
を含む。
【００１７】
上記目的を達成するために、本発明の第３の観点に係るプログラムは、
コンピュータを、
ボールの性能に関する入力データと、ユーザがレーン上に当該ボールを投球した際の当該ボールの軌道に関する出力データと、に基づいて学習演算を行うことにより、ボールの軌道に関するデータを予測する予測モデルの重み係数を最適化する学習演算手段、
未投球のボールの性能に関するデータに基づいて、前記学習演算手段が最適化した予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測する投球データ予測手段、
として機能させる。
【発明の効果】
【００１８】
本発明によれば、最適化された予測モデルの重み係数を用いて未投球のボールの軌道に関するデータを予測する投球データ予測部を備えているので、ユーザ自身にとって未投球のボールであってもボールの軌道に関するデータを事前に予測できる。このため、ユーザ個人の投球力を加味した適切なボールの選択を支援するボール選択支援システム、ボール選択支援方法及びプログラムを提供できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１に係るボール選択支援システムの構成を示すブロック図である。
【図２】（ａ）は、所有ボール性能データベース、（ｂ）は、所有ボール投球データベース、（ｃ）は、未投球ボール性能データベースのデータテーブルの一例を示す図である。
【図３】ボウリングボールの内部構造を示す図である。
【図４】レーン上を転がるボールの軌道を示す図である。
【図５】本発明の実施の形態１に係る階層型ニューラルネットワークのモデルを示す図である。
【図６】階層型ニューラルネットワークのモデルにおいて誤差逆伝播法を用いて重み係数を最適化する様子を示す図である。
【図７】本発明の実施の形態１に係るボウリングボールのスキットと曲がり度との関係を示す相関図である。
【図８】本発明の実施の形態１に係る学習演算処理の流れを示すフローチャートである。
【図９】本発明の実施の形態１に係る投球データ予測処理の流れを示すフローチャートである。
【図１０】本発明の実施の形態２に係る学習データのデータテーブルを示す図である。
【図１１】本発明の実施の形態３に係るボール選択支援システムの構成を示すブロック図である。
【図１２】（ａ）は、重み係数初期値データベース、（ｂ）は、ユーザ情報データベース、（ｃ）は、ユーザ層定義テーブルの一例を示す図である。
【図１３】本発明の実施の形態３に係る重み係数初期値算出処理の流れを示すフローチャートである。
【図１４】本発明の実施の形態３に係る学習演算処理実行可能性判定処理の流れを示すフローチャートである。
【図１５】本発明の実施の形態３に係る投球データ平均値算出処理の流れを示すフローチャートである。
【図１６】本発明の実施の形態３に係る学習データ統合処理の流れを示すフローチャートである。
【図１７】（ａ）は、レーン上のオイルの広がりを示す図であり、（ｂ）は、レーン上のオイルの厚さを示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係るボール選択支援システム、ボール選択支援方法及びプログラムの実施の形態を、図面を参照しながら詳細に説明する。各図面においては、同一又は同等の部分に同一の符号を付す。また、各実施の形態では、ボウリングレーンの長手方向をＸ軸、ボウリングレーンの幅方向をＹ軸、上下方向をＺ軸とする直交座標系を使用する。
【００２１】
なお、本明細書では、「所有ボール」との用語は、ユーザが既に所有しており、レーン上に実際に投球したことのあるボールを意味する。ユーザが「所有ボール」をレーン上に投球した際のスキット、曲がり度等の投球データは、測定され、コンピュータに記憶されているものとする。また、「未投球ボール」との用語は、ユーザがボールを所有しているかどうかに関わりなく、ユーザがレーン上に投球した場合に、スキット、曲がり度等の投球データを測定していないボールを意味する。
【００２２】
（実施の形態１）
図１〜図９を参照して、本発明の実施の形態１に係るボール選択支援システム、ボール選択支援方法及びプログラムについて説明する。
【００２３】
図１は、ボール選択支援システム１００の構成を示すブロック図である。ボール選択支援システム１００は、例えば、汎用コンピュータである。ボール選択支援システム１００は、指示受付部１１０と、表示部１２０と、通信部１３０と、記憶部１４０と、制御部１５０と、を備える。指示受付部１１０、表示部１２０、通信部１３０、記憶部１４０は、制御部１５０と有線又は無線の通信回線を介して相互に通信可能に接続されている。
【００２４】
指示受付部１１０は、ユーザの指示を受け付け、受け付けた操作に対応する操作信号を制御部１５０に供給する。指示受付部１１０は、例えば、ボタン、キーボード、マウス、ジョイスティック等を含む。また、指示受付部１１０は、外部の指示装置等を接続可能なコネクタ等であってもよい。
【００２５】
表示部１２０は、制御部１５０から供給される各種の画像データ等に基づいて各種の画像等を表示する。表示部１２０は、例えば、表示パネルと表示パネル駆動回路とを備える。表示パネル駆動回路は、制御部１５０から供給される画像データに従って表示パネルを駆動し、表示パネルに画像を表示させる。表示パネルは、液晶パネル、有機ＥＬ（Electro Luminescence）パネルによって実現される。また、表示部１２０は、ボール選択支援システム１００に設けられたコネクタを介して接続可能な外部の表示装置等であってもよい。
【００２６】
なお、指示受付部１１０と表示部１２０とは、タッチパネルによって一体に構成されてもよい。タッチパネルは、所定の操作を受け付ける操作画面を表示すると共に、操作画面においてユーザが接触操作を行った位置に対応する操作信号を制御部１５０に供給する。
【００２７】
通信部１３０は、インターネット等の通信ネットワークに接続することが可能なインターフェースである。通信部１３０は、外部の端末、サーバ、メモリ等と通信ネットワークを介して通信する。
【００２８】
記憶部１４０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク装置、フラッシュメモリ等を備え、制御部１５０により実行され、後述するデータ取得部１５１、学習演算部１５２、投球データ予測部１５３、相関図作成部１５４として機能させるプログラムや各種データ、アプリケーションを記憶する。また、記憶部１４０は、制御部１５０が処理を実行するためのワークメモリとして機能する。
【００２９】
記憶部１４０は、所有ボール性能データベース１４１と、所有ボール投球データベース１４２と、未投球ボール性能データベース１４３と、予測モデル１４４と、を備える。以下、図２のデータテーブルを参照して、各データベース１４１〜１４３について説明する。
【００３０】
図２（ａ）は、所有ボール性能データベース１４１を示すデータテーブルである。所有ボール性能データベース１４１は、ユーザ毎に作成され、所有ボールの性能データを記憶する。性能データには、例えば、ＲＧ（Radius of Gyration）、ΔＲＧ、マスバイアス、表面仕上げに関するデータ等が含まれる。性能データは、ボールの製造メーカがユーザに提供しているデータである。
【００３１】
ＲＧは、ボールの回転半径であり、ボールの転がりにくさを示す指標である。ＲＧが大きいほどボールはレーン上を転がりにくくなる。ＲＧは、アメリカボウリング協会（American Bowling Congress：ＡＢＣ）により、２．４６インチ〜２．８０インチの範囲内に規定されている。
【００３２】
ΔＲＧは、回転半径ＲＧの最大値と最小値の差である。ΔＲＧについて説明するために、図３を参照して、ボウリングボール１０の構造について説明する。図３は、ボウリングボール１０の構造の一例を示す図である。図３に示すように、ボウリングボール１０は、ポリエステル、ウレタン樹脂等で形成された表面のシェル１１と、シェル１１の内部に設けられた中心部のコア１２と、を備える。なお、実際のコア１２は所望の性能を実現するために、より複雑な形状を有しているが、図３では、以下の説明を容易にするためにコア１２の形状を円柱形として例示している。
【００３３】
ボウリングボール１０の内部に埋め込まれたコア１２が球形の場合、どの方向に回転させたとしてもＲＧが変わらないため、ΔＲＧはゼロである。他方、図３に示すように、コア１２が円柱形の場合、コア１２を長手方向軸の周りに回転させた場合（矢印Ａ）と、径方向の軸周りに回転させた場合（矢印Ｂ）とで、回転半径ＲＧが異なる。このため、コア１２が円柱形の場合、ΔＲＧはゼロにならない。
【００３４】
図４は、レーン上を転がるボールの軌道を示す図である。図４に示すように、ボーラーがＸ軸方向に投球したボールは、レーンの後半にあるバックエンドでＹ軸方向に曲がる。回転（旋回）しながらレーン上を進むボールは、ボールにおけるレーンに接触する面が次々に変化する。ΔＲＧが大きいほど、ボールにおけるレーンに接触する面の変化を示す指標であるトラックフレアが大きくなる。ΔＲＧを大きくする（トラックフレアを大きくする）ことにより、レーン上のオイルに接触していないボールの面を次々にレーンに接触させることができるため、レーン上におけるボールの滑りを抑制でき、バックエンドにおけるボールの曲がりを大きくできる。このため、ΔＲＧはフレアポテンシャルとも呼ばれる。ΔＲＧは、前述のＡＢＣにより、０．０６０インチ以下に規定されている。
【００３５】
図２（ａ）に戻り、マスバイアスは、ボウリングボール１０の質量の偏りを示す指標である。コア１２へのウエイトブロックの埋め込み、コア１２の変形等により、コア１２に質量の偏りを生じさせてマスバイアスを調整する。マスバイアスを調整することにより、ピンの近くでのボールの曲がり方（バックエンドリアクション）が変化する。
【００３６】
表面仕上げは、シェル１１の表面粗さを示す指標である。表面仕上げは、例えば、シェル１１の表面を研磨するサンドペーパーのグリッド番号で表現される。ボール表面に形成された細かな溝は、レーン上に塗布されたオイルを吸収することにより、レーン上でのボールの滑りを抑制し、ボールの回転やバックエンドリアクションを発生させる。ボール表面の溝の幅や深さを調整することにより、ボールの回転とバックエンドリアクションを調整できる。
【００３７】
図２（ｂ）は、所有ボール投球データベース１４２を示すデータテーブルである。所有ボール投球データベース１４２は、ユーザ毎に作成され、所有ボールをユーザが実際にレーン上に投球した際のボールの軌道を示す投球データを記憶する。投球データには、ボールのスキットや曲がり度に関するデータが含まれる。図４に示すように、スキットは、ユーザがボールをレーン上に投球した際のボールの進み度合いを示す指標である。スキットが大きいほどボールがレーンの後半まで曲がらずにＸ軸方向に直進する。曲がり度は、ユーザがボールをレーン上に投球した際にボールがレーンの幅方向（Ｙ軸方向）に曲がる度合いを示す指標である。
【００３８】
図２（ｃ）は、未投球ボール性能データベース１４３を示すデータテーブルである。未投球ボール性能データベース１４３は、ユーザ毎に作成され、未投球のボールの性能データを記憶する。未投球ボール性能データベース１４３が記憶する性能データは、所有ボール性能データベース１４１が記憶する性能データと同一の種類である。
【００３９】
次に、図５を参照して、記憶部１４０に記憶された予測モデル１４４について説明する。以下、階層型ニューラルネットワークを用いた場合を例にして説明するが、予測モデル１４４は、入力データと出力データとの関係を規定しており、入力層にデータを供給して出力層から出力データを得ることができる手法であれば、いかなる手法を用いて構築してもよい。
【００４０】
図５は、予測モデル１４４の具体例を示す図である。図５に示すように、予測モデル１４４は、入力層と、中間層と、出力層と、を備える階層型ニューラルネットワークを用いたモデルである。予測モデル１４４では、入力層に入力された入力データＸｉは、中間層及び出力層で演算され、最終的に出力層から出力データＹｋが出力される。
【００４１】
入力層は、複数の入力用ニューロンＳｉ（ｉ＝１〜ｎ）を備える。入力層の入力用ニューロンＳｉは、入力データＸｉを中間層にそのまま伝える。入力用ニューロンＳｉの数は、例えば、ボールのスキット及び曲がり度と相関関係を有する要因に基づいて設定される。例えば、図２（ａ）の所有ボール性能データベースを用いる場合、入力変数が４つであるため、入力層は、４つの入力用ニューロンＳ１〜Ｓ４を備える。つまり、ｎ＝４である。
【００４２】
中間層は、複数の中間ニューロンＴｊ（ｊ＝１〜ｍ）を備える。中間層の中間ニューロンＴｊの数は、入力用ニューロンＳｉの数及び出力用ニューロンＵｋの数に基づいて、出力データ（予測値）Ｙｋと出力データ（実測値）Ｙｋ’との誤差ができるだけゼロに近づくように決定される。
【００４３】
出力層は、複数の出力用ニューロンＵｋ（ｋ＝１、２）を備える。図５の具体例における出力層は、２つの出力用ニューロンＵ１、Ｕ２を備えているが、出力用ニューロンの数は２つに限定されず、出力層から出力させる出力データＹｋの数に応じて、任意に設定できる。
【００４４】
入力用ニューロンＳｉと中間ニューロンＴｊとの間、及び中間ニューロンＴｊと出力用ニューロンＵｋとの間には、それぞれニューロン間の結合状態を設定する重み係数Ｗｊｉ、Ｖｋｊが設定されている。階層型のニューラルネットワークでは、誤差逆伝播法（バックプロパゲーション）による学習演算処理を実行することにより、入力データＸｉ及び出力データＹｋからなる学習データを用いて重み係数Ｗｊｉ、Ｖｋｊが最適化される。最適化された重み係数Ｗｊｉ、Ｖｋｊを用いて、入力層に入力された入力データＸｉに基づいて出力データＹｋを算出する予測モデル１４４が構成される。
【００４５】
以下、入力層、中間層及び出力層の間のデータの流れについて説明する。まず、入力用ニューロンＳｉには、スキット及び曲がり度と相関関係を有する入力データＸｉが入力される。図２（ａ）の所有ボール性能データベース１４１、図２（ｃ）の未投球ボール性能データベース１４３を用いる場合、入力データＸ１はＲＧ、入力データＸ２はΔＲＧ、入力データＸ３はマスバイアス、入力データＸ４は表面仕上げを示す。
【００４６】
入力層の入力用ニューロンＳｉに入力された入力データＸｉは、それぞれの重み係数Ｗｊｉで重みづけされ、中間層の各中間ニューロンＴｊに入力される。中間ニューロンＴｊに入力されたそれぞれの値は加算されて各中間ニューロンＴｊの値となる。したがって、各中間ニューロンＴｊの値は、以下の式（１）で表される。
Ｔｊ＝Ｘ１Ｗｊ１＋Ｘ２Ｗｊ２＋…＋ＸｉＷｊｉ＋…＋ＸｎＷｊｎ  …（１）
【００４７】
次に、中間層の各中間ニューロンＴｊに入力されて加算された値Ｔｊは、活性化関数（入出力関数）ｆにより値Ｈｊに非線形変換される。したがって、Ｈｊは以下の式（２）で表される。
Ｈｊ＝ｆ（Ｔｊ）  …（２）
【００４８】
中間層から出力された値Ｈｊは、それぞれの重み係数Ｖｋｊで重み付けされ、出力層の出力用ニューロンＵｋに入力される。出力用ニューロンＵｋに入力されたそれぞれの値は加算されての各出力用ニューロンＵｋの値となる。したがって、各出力用ニューロンＵｋの値は以下の式（３）で表される。
Ｕｋ＝Ｈ１Ｖｋ１＋Ｈ２Ｖｋ２＋…＋ＨｊＶｋｊ＋…＋ＨｍＷｋｍ  …（３）
【００４９】
次に、出力用ニューロンＵｋの値は、活性化関数ｆで非線形変換され、出力データＹｋとして出力される。したがって、出力データＹｋは以下の式（４）で表される。図２（ｂ）の所有ボール投球データベース１４２を用いる場合、出力データＹ１はスキット、出力データＹ２は曲がり度を示す値である。
Ｙｋ＝ｆ（Ｕｋ）  …（４）
【００５０】
中間層及び出力層における活性化関数ｆとしては、入力データＸｉと出力データＹｋとの非線形な関係を表すために、シグモイド関数、マックス関数、ガウス関数等が用いられる。例えば、活性化関数ｆとしてシグモイド関数を用いる場合、活性化関数ｆは以下の式（５）で表される。
ｆ（ｘ）＝１／（１＋ｅｘｐ−ｘ）  …（５）
【００５１】
図１に戻り、制御部１５０は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサを備え、ボール選択支援システム１００の各部の制御を行う。制御部１５０は、記憶部１４０に記憶されているプログラムを実行することにより、図８の学習演算処理、図９の投球データ予測処理を実行する。
【００５２】
制御部１５０は、機能的には、データ取得部１５１、学習演算部１５２、投球データ予測部１５３、相関図作成部１５４を備える。以下、制御部１５０の機能的な各構成について説明する。
【００５３】
データ取得部１５１は、通信部１３０を用いて外部端末又は外部サーバ（例えば、製造メーカの端末、サーバ等）とデータ通信を行い、若しくはユーザの操作を指示受付部１１０が受け付けることにより、所有ボール及び未投球ボールについて、ＲＧ、ΔＲＧ、マスバイアス差及び表面仕上げ等に関する性能データ、並びにスキット及び曲がり度等の投球データを取得する。そして、データ取得部１５１は、所有ボールに関する性能データを所有ボール性能データベース１４１に登録し、未投球ボールに関する性能データを未投球ボール性能データベース１４３に登録し、所有ボールに関する投球データを所有ボール投球データベース１４２に登録する。
【００５４】
学習演算部１５２は、ユーザが所有するボールを投球した際のスキット、曲がり度合いの実測値等を出力データＹｋとして、誤差逆伝播法により学習演算を行うことにより、階層型ニューラルネットワークの予測モデル１４４の重み係数Ｗｊｉ、Ｖｋｊを最適化する学習演算手段の一例である。
【００５５】
以下、学習演算部１５２が実行する誤差逆伝播法を用いた学習の流れについて説明する。まず、学習演算部１５２は、入力層の入力用ニューロンＳｉに対して入力データＸｉを入力した場合の出力用ニューロンＵｋからの出力データＹｋと、ユーザが実際にボールを投球した場合の出力データ（実測値）Ｙｋ’と、に基づいて二乗誤差Ｅを算出する。二乗誤差Ｅは以下の式（６）で表される。
Ｅ＝｛（Ｙ１’−Ｙ１）２＋（Ｙ２’−Ｙ２）２＋…＋（Ｙｋ’−Ｙｋ）２｝／２ｋ  …（６）
【００５６】
そして、学習演算部１５２は、入力用ニューロンＳｉの入力データＸｉにより出力される出力データＹｋが出力データ（実測値）Ｙｋ’に近似するように、それぞれの重み係数Ｗｊｉ、Ｖｋｊを最適化する。出力データＹｋを出力データ（実測値）Ｙｋ’に近似させるには、二乗誤差Ｅをゼロに近づける必要がある。
【００５７】
以下、図６を参照して、重み係数Ｗｊｉを最適化する手法について説明する。以下、重み係数Ｖｋｊが既に最適化されているものとする。図６は、重み係数Ｗｊｉと二乗誤差Ｅとの関係を示すグラフの一例である。誤差逆伝播法を用いた実際の処理では、まず、重み係数Ｖｋｊを更新し、次に、重み係数Ｗｊｉを更新する必要があるが、重み係数Ｖｋｊを最適化する手法は、重み係数Ｗｊｉを最適化する手法と同一であるため、以下の説明を省略する。
【００５８】
図６に示すように、二乗誤差Ｅの極小値が二乗誤差Ｅの最小値と同一であると仮定した場合、重み係数Ｗｊｉは二乗誤差Ｅが最小となるように更新すればよい。Ｅが最小となる重み係数（最適化された重み係数）がＷｊｉｏｐｔであり、現在の重み係数がＷｊｉｏｌｄであるとすると、ＷｊｉｏｌｄがＷｊｉｏｐｔに近づくように重み係数Ｗｊｉを更新すればよい。更新された重み係数Ｗｊｉｎｅｗは、現在の重み係数Ｗｊｉｏｌｄと重み係数の変化量ΔＷｊｉとを用いて、以下の式（７）で表される。
Ｗｊｉｎｅｗ＝Ｗｊｉｏｌｄ＋ΔＷｊｉ  …（７）
【００５９】
重み係数の変化量ΔＷｊｉを算出するには、現在の重み係数Ｗｊｉｏｌｄにおける二乗誤差Ｅの傾きを利用すればよい。二乗誤差Ｅの傾きは、重み係数Ｗｊｉを変数として二乗誤差Ｅを微分した偏微分（∂Ｅ／∂Ｗｊｉ）で表すことができる。図６に示すように、二乗誤差Ｅの傾きが正のとき、重み係数Ｗｊｉを減少させればよく、二乗誤差Ｅの傾きが負のとき、重み係数Ｗｊｉを増加させればよい。したがって、重み係数の変化量ΔＷｊｉは、係数η（０＜η＜１）を用いて以下の式（８）で表される。
ΔＷｊｉ＝−η×（∂Ｅ／∂Ｗｊｉ）  …（８）
【００６０】
式（８）で求めた重み係数の変化量ΔＷｊｉを式（７）に代入して、新たな重み係数Ｗｊｉｎｅｗを算出する。そして、算出された重み係数Ｗｊｉｎｅｗを現在の重み係数Ｗｊｉｏｌｄとして、上記の手法を繰り返すことで、重み係数ＷｊｉをＷｊｉｏｐｔに近づける。以上の手順により重み係数Ｗｊｉが最適化される。
【００６１】
図１に戻り、投球データ予測部１５３は、学習演算部１５２が最適化した重み係数Ｗｊｉ、Ｖｋｊを用いて、ユーザが未投球のボールを投球した際に予測されるスキット、曲がり度等の投球データの予測値を算出する投球データ予測手段の一例である。
【００６２】
相関図作成部１５４は、所有ボール投球データベース１４２に記憶されたスキット、曲がり度の実測値と、投球データ予測部１５３が予測したスキット、曲がり度の予測値と、に基づいて、ユーザが所有ボール及び未投球ボールをそれぞれ投球した場合のスキットと曲がり度との関係を二次元で表す相関図を作成する。相関図作成部１５４は、作成された相関図に関する画像データを表示部１２０に送信して、表示部１２０に相関図を表示させる。
【００６３】
図７は、相関図作成部１５４が作成する相関図の具体例を示す。縦軸が曲がり度、横軸がスキットである。相関図には、複数のボールに対応するマーク（点）が製品名と共に付与されている。このため、ユーザは、相関図を参照することにより、所有ボールをユーザが投球した場合のボールの曲がり度及びスキットの実測値と、未投球のボールをユーザが投球した場合に予想される曲がり度及びスキットの予測値との関係を一度に把握できる。
【００６４】
図８は、実施の形態１に係る学習演算処理を示すフローチャートである。以下、図８を参照して、実施の形態１に係るボール選択支援システム１００を用いて実行される階層型ニューラルネットワークの学習演算処理について説明する。
【００６５】
まず、データ取得部１５１は、ユーザの所有ボールに関する性能データ、ユーザが所有ボールを投球した際に測定された投球データを含む学習データを全て取得する（ステップＳ１０１）。データ取得部１５１が取得した学習データは、記憶部１４０に送信され、データの種類毎に所有ボール性能データベース１４１、所有ボール投球データベース１４２に記憶される。
【００６６】
次に、学習演算部１５２は、階層型ニューラルネットワークの各層における全てのニューロン間の各重み係数Ｗｊｉ、Ｖｋｊを初期化する（ステップＳ１０２）。各ニューロン間の重み係数Ｗｊｉ、Ｖｋｊに対する初期値は、例えば−０．１〜＋０．１の乱数で与えられる。
【００６７】
次に、学習演算部１５２は、過去の複数の日時における、ＲＧ、ΔＲＧ、マスバイアス差及び表面仕上げ等に関する入力データＸｉを、入力層の入力用ニューロンＳｉに入力し、入力データＸｉに基づいて演算された出力層の出力データＹｋを、ボーラーが実際のボールを投球した場合の出力データ（実測値）Ｙｋ’と比較し、出力データ（予測値）Ｙｋと出力データ（実測値）Ｙｋ’との二乗誤差Ｅを算出する（ステップＳ１０３）。
【００６８】
次に、学習演算部１５２は、それぞれの重み係数Ｖｋｊについて、重み係数Ｖｋｊで二乗誤差Ｅを偏微分した値を重み係数の変化量ΔＶｋｊとして加算することにより、重み係数Ｖｋｊを更新する（ステップＳ１０４）。
【００６９】
次に、学習演算部１５２は、それぞれの重み係数Ｗｊｉについて、重み係数Ｗｊｉで二乗誤差Ｅを偏微分した値を重み係数の変化量ΔＷｊｉとして加算することにより、重み係数Ｗｊｉを更新する（ステップＳ１０５）。
【００７０】
次に、学習演算部１５２は、二乗誤差Ｅが閾値よりも小さいかどうかを判定する（ステップＳ１０６）。二乗誤差Ｅが閾値よりも小さい場合（ステップＳ１０６；Ｙｅｓ）、学習演算部１５２は、最適化された重み係数Ｗｊｉ、Ｖｋｊを記憶する（ステップＳ１０７）。他方、二乗誤差Ｅが閾値よりも小さくない場合（ステップＳ１０６；Ｎｏ）、学習演算部１５２は、処理をステップＳ１０４に戻し、ステップＳ１０４〜ステップＳ１０６の処理を繰り返す。以上のステップにより学習演算処理が終了する。
【００７１】
なお、学習演算処理では、学習データの一部を用いてステップＳ１０１〜ステップＳ１０６の処理を実行した後、二乗誤差Ｅが閾値よりも小さくなる重み係数Ｗｊｉ、Ｖｋｊを算出し、当該重み係数Ｗｊｉ、Ｖｋｊを学習データの残りを用いて適切かどうか評価し、適切な重み係数Ｗｊｉ、Ｖｋｊであると評価されたときに、当該重み係数Ｗｊｉ、Ｖｋｊが最適化された重み係数Ｗｊｉ、Ｖｋｊとして記憶部１４０に記憶してもよい。
【００７２】
図９は、実施の形態１に係る投球データ予測処理を示すフローチャートである。以下、図９を参照して、学習演算処理が終了した後、実施の形態１に係るボール選択支援システム１００が実行する投球データ予測処理について説明する。
【００７３】
まず、データ取得部１５１は、未投球のボールに関するＲＧ、ΔＲＧ、マスバイアス差、表面仕上げ等に関する性能データを取得する（ステップＳ２０１）。データ取得部１５１は、ユーザにより指示受付部１１０に入力された性能データ、又は、ネットワークを介して通信部１３０が受信した性能データを取得して、当該性能データを未投球ボール性能データベース１４３に記憶する。
【００７４】
次に、投球データ予測部１５３は、最適化された重み係数Ｗｊｉ、Ｖｋｊを用いて、中間層、出力層へと演算処理を行い、ユーザが未投球のボールを投球した場合に予測されるボールのスキット及び曲がり度の予測値を算出する（ステップＳ２０２）。
【００７５】
次に、相関図作成部１５４は、投球データ予測部１５３が予測したスキット及び曲がり度の予測値に基づいて、縦軸が曲がり度、横軸がスキットである相関図を作成する（ステップＳ２０３）。相関図作成部１５４は、相関図の該当する位置に未投球のボールを示すマークを製品名と共に付与することにより、図７の具体例に示すような相関図を作成する。
【００７６】
未投球のボールが複数存在する場合は、ステップＳ２０１〜ステップＳ２０３の処理をボールごとに繰り返し実行する。より詳細には、投球データ予測部１５３は、ボールごとのスキット、曲がり度の予測値を算出する。そして、相関図作成部１５４は、ボールごとの予測値に基づいて、作成した相関図の該当する位置に未投球のボールを示すマークを製品名と共に追加することにより、相関図を更新する。
【００７７】
次に、相関図作成部１５４は、作成された相関図に関する画像データを表示部１２０に送信する（ステップＳ２０４）。表示部１２０は、相関図作成部１５４より送信された画像データに基づいて相関図を表示する。以上のステップにより、投球データ予測処理が終了する。
【００７８】
ユーザは、未投球のボールに関するマークが付与された相関図を参照することにより、既存の所有ボールと未投球のボールとの関係を比較して、実際にボールを投球せずとも所望の性能を有するボールを選択できる。例えば、店舗等でボールの購入を検討する場面、ユーザが購入を検討しているボールに関する性能データを入力するだけで、ユーザの所有ボールに関する投球データと、ユーザが購入を検討しているボールに関する投球データとの関係を比較可能な相関図が表示部１２０に表示されるため、ユーザの投球力を考慮に入れた適切なボールの購入を支援できる。
【００７９】
また、ボウリングの競技会では、ボーラーが持ち込めるボール数が制限されているため、ボウリング場の環境等にあわせて持ち込むボールを事前に選択する必要がある。ボーラーは、作成された相関図を参照することにより、競技会に向けてどのボールを持ち込むべきか、又は、ボールを新たに購入すべきかを判断できる。
【００８０】
以上説明したように、実施の形態１に係るボール選択支援システム１００では、未投球のボールの性能に関するデータに基づいて、学習演算部１５２が最適化した予測モデルの重み係数Ｗｊｉ、Ｖｋｊを用いて未投球のボールの軌道に関するデータを予測する投球データ予測部１５３を備える。このため、ボールの性能やユーザの投球力等、複数の要因が絡み合って変化するスキット及び曲がり度等の投球データを高い精度で予測できるため、ユーザ個人の投球力を加味した適切なボールの選択を支援できる。
【００８１】
また、実施の形態１に係るボール選択支援システム１００では、ボールの性能に関する入力データＸｉを受け付ける入力層と、中間層と、ボールの軌道に関する出力データＹｋを出力する出力層と、を有する階層型ニューラルネットワークの予測モデル１４４を記憶する記憶部１４０を備える。このため、スキット及び曲がり度等の投球データを高い精度で予測できるため、より適切なボールの選択を支援できる。
【００８２】
さらに、実施の形態１に係るボール選択支援システム１００では、未投球ボールを投球した場合に予測されるスキット及び曲がり度等の投球データを二次元の相関図を用いて一覧表示する表示部１２０を備えている。このため、ユーザは所有ボールと未投球ボールとの関係を直感的に把握できるため、より適切なボールの選択を支援できる。
【００８３】
（実施の形態２）
図１０を参照して、本発明の実施の形態２に係るボール選択支援システム、ボール選択方法及びプログラムについて説明する。実施の形態１においては、ＲＧ、ΔＲＧ、マスバイアス及び表面仕上げに関する入力データＸｉを入力する入力用ニューロンＳｉを備えていたが、入力層にボールのスキット及び曲がり度と相関関係を有する他の入力データＸｉを入力する入力用ニューロンＳｉを適宜追加してもよい。実施の形態２に係るボール選択支援システムの基本的な構成は、実施の形態１に係るボール選択支援システム１００と同一であるため、以下、両者の異なる部分を中心に説明する。
【００８４】
図１０は、階層型ニューラルネットワークの入力層に入力される入力データと、出力層から出力される出力データと、を示すデータテーブルである。入力層は、ＲＧ、ΔＲＧ、Ｉｎｄｉｆｆ値（マスバイアス）、ファクトリーフィニッシュ（表面仕上げ）に関する入力データＸｉを受け付ける入力用ニューロンＳｉに加えて、コア、カバーに関する入力データＸｉを受け付ける入力用ニューロンＳｉを備える。コアに関するデータは、コア１２の質量を示す指標である。また、カバーに関するデータは、シェル（カバー）１１の質量を示す指標である。
【００８５】
入力層に入力用ニューロンＳｉを追加した場合、追加した入力用ニューロンＳｉから中間層の各中間ニューロンＴｊに対して、それぞれの重み係数Ｗｊｉで重み付けされた入力がなされるように階層型ニューラルネットワークの予測モデル１４４を構成する。
【００８６】
実施の形態２に係るボール選択支援システムにおいては、入力層が受け付ける入力データＸｉの数が増加している。このため、スキット、曲がり度等の投球データ（出力データＹｋ）をより高い精度で予測できる。
【００８７】
（実施の形態３）
図１１〜図１６を参照して、本発明の実施の形態３に係るボール選択支援システム１００’、ボール選択方法及びプログラムについて説明する。実施の形態３では、図８の学習演算処理に必要なデータ数の学習データを有していないユーザに関しても、未投球ボールを投球した場合の投球データを予測できるように構成している。実施の形態３に係るボール選択支援システムの基本的な構成は、実施の形態１、２に係るボール選択支援システムと同一であるため、以下、両者の異なる部分を中心に説明する。
【００８８】
図１１は、ボール選択支援システム１００’の構成を示すブロック図である。記憶部１４０は、重み係数初期値データベース１４５と、ユーザ情報データベース１４６と、ユーザ層定義テーブル１４７と、をさらに備える。
【００８９】
図１２（ａ）は、重み係数初期値データベース１４５のデータテーブルの一例である。重み係数初期値データベース１４５は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２に記憶され、図８の学習演算処理の実行に必要なデータ数の学習データを有しているユーザ毎に算出された各重み係数Ｗｊｉ、Ｖｋｊを重み係数初期値として記憶する。重み係数初期値データベース１４５は、ユーザ毎に、全ての重み係数Ｗ１１、Ｗ１２、…、Ｖ１２、Ｖ２２、…を重み係数初期値として記憶する。重み係数初期値は、図８の学習演算処理の実行に必要なデータ数の学習データを有していないユーザが未投球ボールを投球した場合の投球データを予測するために使用される。
【００９０】
図１２（ｂ）は、ユーザ情報データベース１４６のデータテーブルの一例である。ユーザ情報データベース１４６は、各ユーザの識別情報、身体情報及び投球スキル情報を含むユーザ情報を記憶する。識別情報は、例えば、ユーザ毎に付与されるユーザＩＤ（Identification）である。身体情報は、例えば、身長、体重、年齢、性別、握力を含む。投球スキル情報は、例えば、経験年数、平均スコア、投球技術、投球コンディション等を含む。なお、図１２（ｂ）では、身体情報として身長、体重を、投球スキル情報として経験年数、平均スコアを用いた場合を例示している。
【００９１】
投球技術は、プロボーラー等による各ユーザの投球技術を評価したものであり、例えば、ユーザ毎に、上級、中級、初級に分類されてもよく、各ユーザから投球されるボールの物理的な指標であってもよい。物理的な指標には、例えば、ボールのスピード、ボールの回転数、ボールの回転軸の傾き、フレアの幅と角度等が含まれてもよい。また、投球コンディションは、ユーザ自身による競技前の投球コンディションの自己評価であり、例えば、好調、普通、不調に分類されてもよい。
【００９２】
図１２（ｃ）は、ユーザ層定義テーブル１４７のデータテーブルの一例である。ユーザ層定義テーブル１４７は、各ユーザ層に含まれるユーザの身体情報及び投球スキル情報の範囲を定義する。各ユーザ層は、身体特性及び投球スキルが類似するユーザの集合であり、各ユーザは、いずれかのユーザ層に分類される。各ユーザ層は、例えば、身長１０ｃｍ幅、体重１０ｋｇ幅、年齢１０歳幅、性別毎、平均スコア１０点幅で設定され、さらに、経験年数が２年未満か３年以上か、投球技術が初級、中級、上級のいずれか、投球コンディションが好調、普通、不調のいずれかにより分類される。なお、図１２（ｃ）では、図１２（ｂ）のユーザ情報データベース１４６に対応して、ユーザ層が身長、体重、経験年数、平均スコアにより定義されている場合を例示している。
【００９３】
図１１に戻り、制御部１５０は、機能的には、重み係数初期値算出部１５５と、学習演算処理実行可能性判定部１５６と、投球データ平均値算出部１５７と、学習データ統合部１５８と、をさらに備える。
【００９４】
重み係数初期値算出部１５５は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２に記憶され、図８の学習演算処理の実行に必要なデータ数の学習データを有しているユーザ毎の学習データに基づいて、ユーザ毎にそれぞれ重み係数Ｗｊｉ、Ｖｋｊを算出して、算出された重み係数Ｗｊｉ、Ｖｋｊを重み係数初期値として重み係数初期値データベース１４５に登録する。
【００９５】
学習演算処理実行可能性判定部１５６は、未投球のボールを投球した場合の投球データを予測しようとする対象ユーザが有している学習データのデータ数に応じて、図８の学習演算処理の実行が可能かどうかを判定し、判定結果に基づいて投球データを予測するための処理を選択する。
【００９６】
投球データ平均値算出部１５７は、対象ユーザが有している学習データのデータ数が不足しており、図８の学習演算処理を実行できない場合に、対象ユーザが属しているユーザ層に属する各ユーザの重み係数初期値をそれぞれ用いて、未投球のボールを投球した場合の投球データの予測値を算出し、算出された複数の投球データの予測値から投球データの平均値を算出して、対象ユーザが未投球のボールを投球した場合の投球データの予測値とする。
【００９７】
学習データ統合部１５８は、対象ユーザが有している学習データのデータ数が不足しており、図８の学習演算処理を実行できない場合に、対象ユーザが属しているユーザ層に属する複数のユーザが有している学習データと、対象ユーザが有している学習データと、を統合して、図８の学習演算処理が実行可能なデータ数の新たな学習データを生成する。
【００９８】
（重み係数初期値算出処理）
図１３を参照して、重み係数初期値算出部１５５が実行する重み係数初期値算出処理を説明する。重み係数初期値算出処理は、後述する学習演算処理実行可能性判定処理の前に実行され、図８の学習演算処理に必要なデータ数の学習データを有していないユーザのために、図１５の投球データ平均値算出処理にて用いられる重み係数初期値を算出する処理である。以下、所有ボール性能データベース１４１及び所有ボール投球データベース１４２には、投球データを予測しようとする対象ユーザ以外の多数のユーザが有している、図８の学習演算処理に必要なデータ数の学習データが記憶されているものとする。
【００９９】
まず、重み係数初期値算出部１５５は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２から、図８の学習演算処理に必要なデータ数の学習データを有しているユーザの学習データを取得する（ステップＳ３０１）。
【０１００】
次に、重み係数初期値算出部１５５は、取得された学習データを用いて、学習演算部１５２に図８の学習演算処理を実行させ、学習データが取得されたユーザに関する重み係数Ｗｊｉ、Ｖｋｊを算出させる（ステップＳ３０２）。
【０１０１】
次に、重み係数初期値算出部１５５は、算出された重み係数Ｗｊｉ、ＶｋｊをユーザＩＤと対応付けて、重み係数初期値として重み係数初期値データベース１４５に登録する（ステップＳ３０３）。
【０１０２】
次に、重み係数初期値算出部１５５は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２に学習データが登録され、かつ、図８の学習演算処理に必要なデータ数を有する全てのユーザに関して、重み係数初期値データベース１４５に重み係数が登録されているかどうかを判定する（ステップＳ３０４）。
【０１０３】
全てのユーザに関して重み係数が登録されている場合（ステップＳ３０４；Ｙｅｓ）、重み係数初期値算出処理を終了する。他方、重み係数初期値が登録されていないユーザがいる場合（ステップＳ３０４；Ｎｏ）、ステップＳ３０２に戻り、ステップＳ３０２〜ステップＳ３０４の処理を繰り返す。以上が、重み係数初期値算出処理の流れである。
【０１０４】
（学習演算処理実行可能性判定処理）
次に、図１４を参照して、図１３の重み係数初期値算出処理の実行後に、学習演算処理実行可能性判定部１５６が実行する学習演算処理実行可能性判定処理の流れを説明する。
【０１０５】
図８の学習演算処理では、対象ユーザが有している学習データを用いて重み係数Ｗｊｉ、Ｖｋｊを最適化するため、図８の学習演算処理に必要なデータ数の学習データを有していない対象ユーザの場合、重み係数Ｗｊｉ、Ｖｋｊを最適化できない。そこで、学習演算処理実行可能性判定処理では、所有ボール性能データベース１４１及び所有ボール投球データベース１４２に記憶された対象ユーザが有している学習データのデータ数に応じて、図８の学習演算処理の実行が可能かどうかを判定する。以下、学習データを有していないユーザが、ボウリングの競技会等に向けて新たなボールを選択又は購入するために、ボール選択支援システム１００’の利用を開始する場合を例に説明する。
【０１０６】
ユーザは、例えば、ボール選択支援システム１００’の会員登録時等において、指示受付部１１０を操作して、表示部１２０にて要求されるユーザ情報及び投球スキル情報を入力する。学習演算処理実行可能性判定部１５６は、指示受付部１１０が身体情報及び投球スキル情報を受け付けたかどうかを判定する（ステップＳ４０１）。
【０１０７】
指示受付部１１０が身体情報及び投球スキル情報を受け付けた場合（ステップＳ４０１；Ｙｅｓ）、ステップＳ４０２に移動する。指示受付部１１０が身体情報及び投球スキル情報を受け付けていない場合（ステップＳ４０１；Ｎｏ）、指示受付部１１０が身体情報及び投球スキル情報を受け付けるまで待機する。
【０１０８】
次に、学習演算処理実行可能性判定部１５６は、ユーザの身体情報及び投球スキル情報をユーザＩＤに対応付けてユーザ情報データベース１４６に登録し（ステップＳ４０２）、投球データ平均値算出部１５７に、図１５の投球データ平均値算出処理を実行させる（ステップＳ４０３）。
【０１０９】
（投球データ平均値算出処理）
以下、図１５を参照して、投球データ平均値算出部１５７が実行する投球データ平均値算出処理（ステップＳ４０３）を説明する。投球データ平均値算出処理は、対象ユーザが有している学習データのデータ数が不足しており、図８の学習演算処理を実行できない場合に、対象ユーザが属しているユーザ層に属する各ユーザの重み係数初期値をそれぞれ用いて、各ユーザが未投球のボールを投球した場合の投球データの予測値を算出し、算出された複数の投球データの予測値から投球データの平均値を算出して、対象ユーザが未投球のボールを投球した場合の投球データの予測値とする処理である。
【０１１０】
まず、ユーザは、表示部１２０に表示されたメッセージに応じて、指示受付部１１０を操作して、未投球のボールの性能データを入力し、未投球のボールを投球した場合の投球データの予測値の算出を指示する。投球データ平均値算出部１５７は、指示受付部１１０が未投球のボールの性能データを受け付けたかどうかを判定する（ステップＳ５０１）。
【０１１１】
未投球のボールの性能データを受け付けた場合（ステップＳ５０１；Ｙｅｓ）、投球データ平均値算出部１５７は、ユーザ情報データベース１４６から対象ユーザの身体情報及び投球スキル情報を取得し、ユーザ層定義テーブル１４７を参照して当該ユーザが属しているユーザ層を選択する（ステップＳ５０２）。未投球のボールの性能データを受け付けていない場合（ステップＳ５０１；Ｎｏ）、未投球のボールの性能データを受け付けるまで待機する。
【０１１２】
次に、投球データ平均値算出部１５７は、重み係数初期値データベース１４５から、選択されたユーザ層に属している全てのユーザの重み係数初期値を取得する（ステップＳ５０３）。
【０１１３】
次に、投球データ平均値算出部１５７は、投球データ予測部１５３に、取得されたそれぞれの重み係数初期値を用いて、選択されたユーザ層に属しているユーザ毎に、それぞれ投球データの予測値を算出させる（ステップＳ５０４）。
【０１１４】
次に、投球データ平均値算出部１５７は、算出された複数の投球データの予測値の平均値を算出して、対象ユーザが未投球のボールを投球した場合の投球データの予測値とする（ステップＳ５０５）。
【０１１５】
対象ユーザが属しているユーザ層に属する２人のユーザＡ、Ｂが図８の学習演算処理に必要なデータ数の学習データを有している場合を例に説明すると、対象ユーザの入力データｘに対する出力データＦ（ｘ）は以下の式で表される。
Ｆ（ｘ）＝｛ＦＡ（ｘ）＋ＦＢ（ｘ）｝／２  …（９）
ただし、ユーザＡの出力データがＦＡ（ｘ）であり、ユーザＢの出力データがＦＢ（ｘ）である。
【０１１６】
次に、投球データ平均値算出部１５７は、相関図作成部１５４に、算出された２種類の投球データの平均値を用いて相関図を作成させ（ステップＳ５０６）、投球データ平均値算出処理をリターンする。２種類の投球データは、例えば、スキット及び曲がり度であるが、それ以外の投球データの組み合わせであってもよい。表示部１２０は、投球データ平均値算出部１５７の指示により、相関図作成部１５４により作成された相関図を表示する。以上が、投球データ平均値算出処理（ステップＳ４０３）の流れである。
【０１１７】
図１４に戻り、学習演算処理実行可能性判定処理の続きを説明する。ユーザは、例えば、作成された相関図に基づいてボールを選択して、レーン上にボールを投球する。ボールの投球後、ユーザは、指示受付部１１０を操作して、投球したボールの性能データと、当該ボールに対応する投球データと、を含む新たな学習データを入力する。学習演算処理実行可能性判定部１５６は、新たな学習データが所有ボール性能データベース１４１及び所有ボール投球データベース１４２に登録されたかどうかを判定する（ステップＳ４０４）。
【０１１８】
新たな学習データが所有ボール性能データベース１４１及び所有ボール投球データベース１４２に登録された場合（ステップＳ４０４；Ｙｅｓ）、ステップＳ４０５に移動する。新たな学習データが所有ボール性能データベース１４１及び所有ボール投球データベース１４２に登録されていない場合（ステップＳ４０４；Ｎｏ）、新たな学習データを登録するまで待機する。
【０１１９】
次に、学習演算処理実行可能性判定部１５６は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２に記憶された当該ユーザが有している学習データのデータ数が第１の閾値よりも小さいかどうかを判定する（ステップＳ４０５）。第１の閾値は、対象ユーザが有している学習データのデータ数と、当該ユーザが属しているユーザ層に属する他のユーザが有している学習データのデータ数と、に基づいて設定され、両者の学習データを統合した場合に、図８の学習演算処理が実行可能な程度に学習データのデータ数が得られるように設定される。
【０１２０】
学習データのデータ数が第１の閾値よりも小さい場合（ステップＳ４０５；Ｙｅｓ）、学習演算処理の実行が不可能であると判定して、ステップＳ４０３に戻る。学習データのデータ数が第１の閾値以上の場合（ステップＳ４０５；Ｎｏ）、学習演算処理実行可能性判定部１５６は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２に記憶された対象ユーザが有している学習データのデータ数が第２の閾値よりも小さいかどうかを判定する（ステップＳ４０６）。第２の閾値は、第１の閾値よりも大きな値に設定され、対象ユーザが有している学習データのみで図８の学習演算処理が実行可能な学習データの最小データ数である。
【０１２１】
学習データのデータ数が第２の閾値よりも小さい場合（ステップＳ４０６；Ｙｅｓ）、当該ユーザが有している学習データに、当該ユーザが属しているユーザ層に属する他のユーザが有している学習データを統合すれば、図８の学習演算処理の実行が可能であると判定して、学習演算処理実行可能性判定部１５６は、学習データ統合部１５８に、図１６の学習データ統合処理を実行させる（ステップＳ４０７）。
【０１２２】
（学習データ統合処理）
以下、図１６を参照して、学習データ統合部１５８が実行する学習データ統合処理（ステップＳ４０７）を説明する。学習データ統合処理は、対象ユーザが有している学習データと、対象ユーザが属しているユーザ層に属する複数のユーザが有している学習データと、を統合して、図８の学習演算処理に必要なデータ数の学習データを生成する処理である。
【０１２３】
まず、学習データ統合部１５８は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２から、対象ユーザが属するユーザ層に属する全てのユーザに関する学習データを取得する（ステップＳ６０１）。
【０１２４】
次に、学習データ統合部１５８は、所有ボール性能データベース１４１及び所有ボール投球データベース１４２から、対象ユーザが有している学習データを取得する（ステップＳ６０２）。
【０１２５】
次に、学習データ統合部１５８は、ステップＳ６０１で取得した学習データと、ステップＳ６０２で取得した学習データとを統合して新たな学習データを生成し（ステップＳ６０３）、処理をリターンする。以上が、学習データ統合処理（ステップＳ４０７）の流れである。
【０１２６】
図１４に戻り、学習演算処理実行可能性判定部１５６は、学習演算部１５２に図８の学習演算処理を実行させ、重み係数Ｗｊｉ、Ｖｋｊを算出させる（ステップＳ４０８）。
【０１２７】
次に、学習演算処理実行可能性判定部１５６は、投球データ予測部１５３及び相関図作成部１５４に、算出された重み係数Ｗｊｉ、Ｖｋｊを用いて図９の投球データ予測処理を実行させ（ステップＳ４０９）、処理をステップＳ４０４に戻す。
【０１２８】
他方、ステップＳ４０６で学習データのデータ数が第２の閾値以上である場合（ステップＳ４０６；Ｎｏ）、学習演算処理実行可能性判定部１５６は、対象ユーザが有している学習データのみで学習演算処理の実行が可能であると判定して、ステップＳ４０８及びステップＳ４０９の処理を実行し、処理をステップＳ４０４に戻す。以上が、学習演算処理実行可能性判定処理の流れである。
【０１２９】
以上説明したように、実施の形態３に係るボール選択支援システム１００’では、対象ユーザが有している学習データのデータ数に応じて、投球データを予測するための処理を選択して実行するため、学習データのデータ数が少ない対象ユーザであっても投球データを予測できる。また、対象ユーザが有している学習データが蓄積されるにつれて、対象ユーザに適合した予測モデルを作成するため、対象ユーザが有している学習データの増加に伴い精度の高い投球データを予測できる。
【０１３０】
（変形例）
そして、本発明はこれに限られず、以下に述べる変形も可能である。
【０１３１】
上記実施の形態においては、階層型ニューラルネットワークの予測モデル１４４を用いて出力データＹｋの予測値を算出していたが、本発明はこれに限られない。例えば、相互結合型ニューラルネットワークの予測モデルを用いて出力データＹｋの予測値を算出してもよい。
【０１３２】
上記実施の形態においては、入力層、中間層及び出力層の３層からなるニューラルネットワークのモデルを用いていたが、本発明はこれに限られない。例えば、中間層の層数は２層以上であってもよく、中間ニューロンＴｊの数は入力用ニューロンＳｉ、出力用ニューロンＵｋの数等に応じて適宜調整してもよい。
【０１３３】
上記実施の形態においては、ＲＧ、ΔＲＧ、マスバイアス、表面仕上げ、コア、カバーに関するデータを入力していたが、本発明はこれに限られない。例えば、レーン上のオイルパターン、ボールの表面素材に関するデータを入力層に入力してもよい。レーンのオイルパターンは、オイルの量、幅、長さに応じて分類され、例えば、大まかな分類としてオイル量の少ないものから多いものの順に、ドライ、ミディアム、ミディアムヘビー、ヘビーの４つに分類される。また、ボールの表面素材は、レーン上のオイルに対するキャッチ力を示す指標である。
【０１３４】
ボウリングのボールは、例えば、ドライからミディアムに対応、ミディアムからミディアムヘビーに対応、等のように、レーン上のオイル量に対応して分類され、市場に流通している。このため、レーンのオイル量に応じてある程度、適切なボールを選択することができる。しかし、さらなるスコアの向上を図るためには、ユーザのスキルやレーン上のオイルの分布にあわせたより適切なボールを選択することが望ましい。例えば、表面摩擦が小さいカバー素材のボール（ドライに対応するボール）の場合、レーン上のオイルに対するキャッチ力が小さいため、オイル量が多少増えるだけで、ストライクの確率の高い角度（１番ピンと３番ピンの間に約２度〜約４度の入射角度）にボールを投球することが困難になる。このため、レーン上のオイルパターンに関するデータを入力層に入力して、ボールの投球データを事前に予測することが好ましい。
【０１３５】
上記の変形例では、オイルパターンのオイル量を、ドライ、ミディアム、ミディアムヘビー、ヘビーに分類して、入力データとして入力層に入力していたが、オイルパターンに関する他のデータも入力データとして用いることができる。オイルパターンに関する他のデータについて説明するために、以下、レーン上に塗布されたオイルパターンについて説明する。
【０１３６】
図１７（ａ）は、レーン上に塗布されたオイルの広がりの一例を、図１７（ｂ）は、レーン上に塗布されたオイルの厚さ、より詳細にはレーンの板目毎のオイルの量の一例を示す。図１７では、図面の理解を容易にするために、レーンの板目の数を実際よりも少なくし、オイル分布も簡略化して図示している。レーン上のオイルは、転動するボールからレーン表面を保護しているが、ボールの動きにも影響を及ぼすため、競技の難易度を調整するために様々なオイルパターンが用いられている。レーン上のオイルは、メンテナンスマシンにより、アプローチ側からピンデッキ側まで塗布された後、ピンデッキ側からアプローチ側に戻る際に再び塗布される。このため、オイルパターンは、アプローチ側から塗布されたフォワードのオイル塗面と、ピンデッキ側から塗布されたリバースのオイル塗面と、を備える。なお、図１７の「組み合わせ」は、フォワードのオイル塗面とリバースのオイル塗面とが重なっている面であり、「バフ」は、塗布されたオイルが延びた面である。
【０１３７】
オイルパターンが上記のように構成されているため、オイルパターンのオイル塗面の長さをロング、ミディアム、ショートの３段階で表現して、塗布するオイル量とオイル塗面の長さとを入力データとして入力層に入力してもよい。また、図１７に示すようなオイルパターンの分布そのものを入力データとして入力層に入力してもよい。例えば、オイルパターンの分布図を入力データとして入力層に入力してもよい。また、フォワードのオイル塗面及びリバースのオイル塗面のオイル量をそれぞれ数値化したものを入力データとして入力層に入力してもよい。
【０１３８】
上記実施の形態では、「箱出し」と呼ばれる製品の販売状態の仕上げ（例えば、１５００番グリッドポリッシュ）のまま使用することを前提に説明していたが、本発明はこれに限られない。例えば、ボールをある程度オイルに強くするために、カバーをサンディングした状態を加味した性能データを入力データとして入力層に入力してもよい。また、ボールをオイル量の少ない場合に適合させるために、カバーをポリッシュした状態を加味した性能データを入力データとして入力層に入力してもよい。
【０１３９】
上記実施の形態においては、スキット、曲がり度を出力する２つの出力用ニューロンＵ１、Ｕ２を備えていたが、本発明はこれに限られない。例えば、スキット、曲がり度の予測値に加えて、例えば、ボールの曲がり方（アーク、シャープ等）、レーン上のオイルへの強さ、ピンアクション等を出力する出力用ニューロンＵｋを追加してもよい。
【０１４０】
上記実施の形態においては、各中間ニューロンＴｊの値が式（１）で表されていたが、本発明はこれに限られない。閾値Ｗｊ０を導入するために各中間ニューロンＴｊの値を以下の式（１０）で表してもよい。
Ｔｊ＝Ｘ０Ｗｊ０＋Ｘ１Ｗｊ１＋Ｘ２Ｗｊ２＋…＋ＸｉＷｊｉ＋…＋ＸｎＷｊｎ  …（１０）
ただし、Ｘ０＝１である。Ｘ０は、入力データに存在しない値であるが、各中間ニューロンＴｊの値に閾値Ｗｊ０を導入するために便宜上用いられている。
【０１４１】
上記実施の形態においては、活性化関数としてシグモイド関数を用いていたが、本発明はこれに限られない。例えば、活性化関数としてｔａｎｈ（ｘ）を用いてもよい。また、ディープラーニング（Deep Learning）で用いられる活性化関数であるＲｅＬＵ関数を用いてもよい。ＲｅＬＵ関数は以下の式（１１）で表される。
ｘ≧０のとき、ＲｅＬＵ（ｘ）＝ｘ
ｘ＜０のとき、ＲｅＬＵ（ｘ）＝０  …（１１）
【０１４２】
上記実施の形態においては、二乗誤差Ｅの傾き（一階微分）から二乗誤差Ｅの最小値を探索する最急降下法を用いて予測モデル１４４の学習演算処理を実行していたが、本発明はこれに限られない。誤差Ｅを最小化する他の方法、例えば、自然勾配学習法等を用いて予測モデル１４４の学習演算処理を実行してもよい。
【０１４３】
上記実施の形態においては、誤差関数として二乗関数を用いていたが、本発明はこれに限られない。例えば、誤差関数として交差エントロピー誤差等を用いてもよい。
【０１４４】
上記実施の形態においては、入力データＸｉ及び出力データＹｋを正規化していなかったが、本発明はこれに限られない。例えば、誤差逆伝播法による演算結果が収束しない場合、入力データＸｉ及び出力データＹｋを０〜１の範囲に正規化してもよい。入力データＸｉ及び出力データＹｋを正規化した場合、階層型ニューラルネットワークの予測モデル１４４において学習演算処理を収束させやすくなる。ただし、予測モデル１４４から予測値を算出するには、出力データＹｋに対して正規化の逆変換処理を実行する必要がある。
【０１４５】
上記実施の形態においては、二乗誤差Ｅが閾値よりも小さい場合に、重み係数Ｗｊｉ、Ｖｋｊの最適化が終了したと判定していたが、本発明はこれに限られない。例えば、学習回数が閾値よりも大きい場合に、重み係数Ｗｊｉ、Ｖｋｊの最適化が終了したと判定してもよい。
【０１４６】
上記実施の形態においては、縦軸が曲がり度、横軸がスキットである相関図を作成していたが、本発明はこれに限られない。例えば、相関図作成部１５４は、指示受付部１１０の操作信号に基づいて、曲がり度、スキット、ボールの曲がり方（アーク、シャープ等）、オイルへの強さ、ピンアクションから任意の２つのパラメータを選定して相関図を作成してもよい。また、相関図の縦軸及び横軸のパラメータは、指示受付部１１０の操作信号に基づいて、切り替え可能であってもよい。
【０１４７】
上記実施の形態においては、制御部１５０は記憶部１４０に記憶されたプログラムに基づいて動作していたが、本発明はこれに限定されない。例えば、プログラムにより実現された機能的な構成をハードウェアにより実現してもよい。
【０１４８】
上記実施の形態においては、各種データは記憶部１４０に記憶されていたが、本発明はこれに限定されない。例えば、各種データは、その全部又は一部がＬＡＮ（Local Area Network）等を介して外部のサーバ、コンピュータ等に記憶されてもよい。また、各種データを複数の場所、例えば、複数のコンピュータから構成されるクラウドシステム上に分散配置してもよい。
【０１４９】
上記実施の形態では、ボール選択支援システム１００が汎用コンピュータで実現されていたが、本発明はこれに限られない。例えば、ボール選択支援システム１００は、専用のシステムで実現してもよく、小型汎用コンピュータを用いて実現してもよい。ボール選択支援システム１００が実行する処理は、例えば、上述の物理的な構成を備える装置が、記憶部１４０に記憶されたプログラムを実行することによって実現される。本発明は、プログラムとして実現されてもよく、そのプログラムが記録された記憶媒体として実現されてもよい。
【０１５０】
上記実施の形態においては、ユーザがユーザ個人の投球力を加味したボールの選定を行う場合を例に説明したが、本発明はこれに限られない。例えば、ボーラーのコーチ、支援スタッフ、販売者等のユーザが、ボーラーに対してボール選択のアドバイスを行うために上記実施の形態に係るボール選択支援システムを用いてもよい。販売者が上記実施の形態に係るボール選択支援システムを用いる場合、販売者は、高い性能のボールを単純に推奨するのではなく、ボーラーが真に必要とするボールを推奨できる。
【０１５１】
上記実施の形態では、重み係数初期値算出処理は、ボール選択支援システム１００’が実行していたが、本発明はこれに限られない。例えば、他のサーバ装置が実行した処理により取得された重み係数初期値を重み係数初期値データベース１４５に登録してもよく、ＣＤ−ＲＯＭ（Compact Disc Read only memory）等の記憶媒体に記憶された重み係数初期値を読み取って重み係数初期値データベース１４５に登録してもよい。
【０１５２】
上記実施の形態は例示であり、本発明はこれらに限定されるものではなく、特許請求の範囲に記載した発明の趣旨を逸脱しない範囲でさまざまな実施の形態が可能である。各実施の形態や変形例で記載した構成要素は自由に組み合わせることが可能である。また、特許請求の範囲に記載した発明と均等な発明も本発明に含まれる。
【符号の説明】
【０１５３】
１０      ボウリングボール
１１      シェル
１２      コア
１００、１００’  ボール選択支援システム
１１０    指示受付部
１２０    表示部
１３０    通信部
１４０    記憶部
１４１    所有ボール性能データベース
１４２    所有ボール投球データベース
１４３    未投球ボール性能データベース
１４４    予測モデル
１４５    重み係数初期値データベース
１４６    ユーザ情報データベース
１４７    ユーザ層定義テーブル
１５０    制御部
１５１    データ取得部
１５２    学習演算部
１５３    投球データ予測部
１５４    相関図作成部
１５５    重み係数初期値算出部
１５６    学習演算処理実行可能性判定部
１５７    投球データ平均値算出部
１５８    学習データ統合部
Ｅ        二乗誤差
ｆ        活性化関数
ＲＧ      回転半径
ΔＲＧ    回転半径差
Ｓｉ、Ｓ１、Ｓ２、Ｓ３、Ｓ４    入力用ニューロン
Ｔｊ      中間ニューロン
Ｕｋ、Ｕ１、Ｕ２    出力用ニューロン
Ｗｊｉ、Ｖｋｊ    重み係数
ΔＷｊｉ、ΔＶｋｊ    重み係数の変更量
Ｘｉ、Ｘ１、Ｘ２、Ｘ３、Ｘ４    入力データ
Ｙｋ、Ｙ１、Ｙ２、Ｙｋ’  出力データ
【図１】
2018149264.tif 000003
【図２】
2018149264.tif 000004
【図３】
2018149264.tif 000005
【図４】
2018149264.tif 000006
【図５】
2018149264.tif 000007
【図６】
2018149264.tif 000008
【図７】
2018149264.tif 000009
【図８】
2018149264.tif 000010
【図９】
2018149264.tif 000011
【図１０】
2018149264.tif 000012
【図１１】
2018149264.tif 000013
【図１２】
2018149264.tif 000014
【図１３】
2018149264.tif 000015
【図１４】
2018149264.tif 000016
【図１５】
2018149264.tif 000017
【図１６】
2018149264.tif 000018
【図１７】
2018149264.tif 000019