(58)【調査した分野】(Int.Cl.,DB名)
前記第1の予期される値、前記第2の予期される値、前記第3の予期される値、および前記第4の予期される値は、それぞれ、前記第1の関数、前記第2の関数、前記第3の関数、および前記第4の関数に試験入力を適用することに基づく、請求項2に記載の方法。
前記ターゲット関数生成モジュール、前記処理モジュール、前記機械学習モジュール、前記評価モジュール、および前記メモリと通信状態にあるように構成された算術モジュールをさらに備え、前記算術モジュールは、
前記第1の関数と前記第2の関数の間の第1の予期される値を決定すること、
前記メモリから前記ターゲット関数を取り出すことであって、前記ターゲット関数は、前記訓練データに基づくこと、
前記第3の関数と前記ターゲット関数の間の第2の予期される値を決定すること、
前記第4の関数と前記ターゲット関数の間の第3の予期される値を決定すること、
前記第3の関数と前記第4の関数の間の第4の予期される値を決定すること、
前記第1の予期される値、前記第2の予期される値、前記第3の予期される値、および前記第4の予期される値を前記評価モジュールに送信することを行うように構成され、
前記評価モジュールは、前記第1の予期される値、前記第2の予期される値、前記第3の予期される値、および前記第4の予期される値に基づいて前記重み利益を決定するのに有効である、請求項10に記載のシステム。
前記第1の予期される値、前記第2の予期される値、前記第3の予期される値、および前記第4の予期される値は、それぞれ、前記第1の関数、前記第2の関数、前記第3の関数、および前記第4の関数に試験入力を適用することに基づく、請求項17に記載の方法。
【発明を実施するための形態】
【0009】
後段の詳細な説明において、本明細書の一部分を形成する添付の図面が参照される。これらの図面において、同様の符号は、そうでないことを文脈が規定するのでない限り、通常、同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定することは意図していない。本明細書において提示される主題の趣旨も範囲も逸脱することなく、他の実施形態が利用されることが可能であり、他の変更が行われることが可能である。本明細書で一般的に説明され、図に例示される本開示の態様は、本明細書においてそのすべてが明示的に企図される多種多様な異なる構成において構成され、置換され、組み合わされ、分離され、設計されることが可能であることが容易に理解されよう。
【0010】
本開示は、とりわけ、訓練データに関する重み利益エバリュエータと関係する方法、装置、システム、デバイス、およびコンピュータプログラム製品を対象とする。
【0011】
簡単に述べると、機械学習環境において訓練データに重みのセットを適用することに関連する重み利益を決定するのに有効な方法およびシステムのための技術が、一般的に説明される。たとえば、それらの重みは、訓練データにおけるいくつかのポイントに、他のポイントと比べて、より多く寄与させて、異なる学習された関数の生成をもたらすのに使用され得る。例において、デバイスが、訓練データに基づいて第1の関数を決定することが可能であり、その訓練データは、訓練入力と、訓練ラベルとを含む。たとえば、それらの訓練入力は、ユーザプロファイル(たとえば、年齢、性別、収入)およびラベル(たとえば、映画格付け)であり得る。第1の関数は、訓練入力と訓練ラベルの間の関係を示すのに有効であり得る。たとえば、第1の関数は、ユーザプロファイルと映画格付けの間の関係を示してもよい。このデバイスは、訓練データに対する重みの適用に基づく、重み付けされた訓練データに基づいて第2の関数を決定することが可能である。第2の関数は、訓練データに重みが適用された後、生成され得る。第2の関数の演算が、本明細書で説明されるとおり第1の関数と比較され得る。このデバイスは、ターゲットデータに基づいて第3の関数を決定することが可能であり、そのターゲットデータは、ターゲット関数に基づいて生成される。そのターゲット関数は、重みを用いて生成された関数と重みを用いずに生成された関数を比較するのに使用され得る。ターゲットデータは、訓練ラベルとは異なるターゲットラベルを含み得る。このデバイスは、ターゲットデータに重みを適用したことの結果であり得る、重み付けされたターゲットデータに基づいて第4の関数を決定することが可能である。このデバイスは、第1の関数、第2の関数、第3の関数、および第4の関数に基づいて重み利益を決定することが可能である。たとえば、このデバイスは、その重みが適用されるべきかどうかを決定することが可能である。
【0012】
図1は、本明細書で説明される少なくともいくつかの実施形態により構成された、訓練データに関する重み利益エバリュエータを実施するのに利用され得る例示的なシステムを示す。後段でより詳細に説明されるとおり、システム100が、機械学習システムとして実施されることが可能である。システム100は、訓練データ160((x
i,y
i)として表される)に基づいて、学習された関数162(gとして表される)を決定するように実施され得る。訓練データ160の例が、ユーザプロファイル(たとえば、年齢、性別、収入)およびラベル(たとえば、映画格付け)であり得る。学習された関数162の例が、試験ユーザプロファイルを入力として受け取り、試験映画格付けを出力として生成する関数であり得る。訓練データ160は、各ポイントiにおける訓練入力(x
i)と、訓練ラベル(y
iとして表される)とを含むペアにされたデータのセットに関連することが可能である。システム100は、重み付けされた訓練データ180((x
wi,y
wi)として表される)に基づいて、重み付けされた関数172(g
wとして表される)を決定するようにさらに実施され得る。重み付けされた訓練データ180は、訓練データ160に重みのセット(「重み」)170(w
iとして表される)を適用したことの結果であり得る。重みのセット170は、訓練データ160におけるいくつかのポイント(訓練入力と、訓練ラベルとを含む)に、訓練データ160におけるそれらのいくつかのポイントとは異なる他のポイントより重く評価することが可能である。たとえば、いくつかのポイントは、より高い重みを与えられることが可能であり、したがって、重み付けされた関数172の生成により多く寄与することが可能である。システム100は、重み利益152を決定するようにさらに実施されることが可能であり、重み利益152は、訓練データ160に重みのセット170を適用する利益に関連することが可能である。
【0013】
例において、システム100は、コンピューティングデバイス102で実施されることが可能であり、コンピューティングデバイス102は、コンピュータまたはサーバであり得る。コンピューティングデバイス102は、処理モジュール110、機械学習モジュール120、ターゲット関数生成モジュール130、算術モジュール140、および/または評価モジュール150を含み得る。処理モジュール110、機械学習モジュール120、ターゲット関数生成モジュール130、算術モジュール140、および/または評価モジュール150は、互いに通信状態にあるように構成され得る。コンピューティングデバイス102は、処理モジュール110、機械学習モジュール120、ターゲット関数生成モジュール130、算術モジュール140、および/または評価モジュール150と通信状態にあるように構成されたメモリ104をさらに含み得る。いくつかの例において、コンピューティングデバイス102の各モジュールは、FPGA(フィールドプログラマブルゲートアレイ)、SoC(システムオンチップ)などの集積回路を含むハードウェア構成要素または組込み型システムであり得る。いくつかの例において、第1のモジュールは、第2のモジュール上に組み込まれてもよい。たとえば、算術モジュール140が、ターゲット関数生成モジュール130上に組み込まれてもよい。いくつかの例において、処理モジュール110、機械学習モジュール120、ターゲット関数生成モジュール130、算術モジュール140、および/または評価モジュール150は、コンピューティングデバイス102のプロセッサの構成要素であり得る。
【0014】
メモリ104は、機械学習命令122、少なくとも1つの人工的な関数166(h
jとして表される)、訓練データ160、および/または重み170を記憶するように構成され得る。機械学習命令122は、学習された関数162および/または重み付けされた関数172などの学習された関数の生成を円滑にするのに有効な命令を含み得る。機械学習命令122は、ターゲット関数生成モジュール130、算術モジュール140、および/または評価モジュール150の動作に関連する命令をさらに含み得る。いくつかの例において、機械学習命令122は、機械学習モジュール120の中に記憶され得る。人工的な関数166は、後段で説明されるとおり、システム100の実施によってそれまでに生成された関数であり得る。
【0015】
訓練データ160は、訓練入力(x
i)と、訓練ラベル(y
i)とを含むペアにされたデータのセットに関連することが可能である。訓練入力(x
i)は、ベクトルのセットであることが可能であり、各ベクトルは、1つまたは複数の座標に対応することが可能である。重みのセット170は、処理モジュール110などによって、訓練データ160に適用され得るベクトルのセットであり得る。訓練データ160に重み170を適用した結果、重み付けされた訓練データ180が生成され得る。重み付けされた訓練データ180は、重み付けされた訓練入力(x
wi)と、重み付けされた訓練ラベル(y
wi)とを含むペアにされたデータのセットに関連することが可能である。いくつかの例において、重みのセット170は、コンピューティングデバイス102において別のコンピューティングデバイスから受信され得る。いくつかの例において、コンピューティングデバイス102は、重み170を生成するように構成された重み生成モジュール106をさらに含み得る。いくつかの例において、処理モジュール110は、機械学習
モジュール120、ターゲット関数生成モジュール130、算術モジュール140、および評価モジュール150などのコンピューティングデバイス102における1つまたは複数のモジュールの動作を制御するようにさらに構成され得る。処理モジュール110は、評価モジュール150から重み利益152を受信し、それに応答して、訓練データ160に重み170を適用すべきかどうかを決定するようにさらに構成され得る。重み利益152は、「適用する」または「適用しない」、あるいは「0」と「1」、あるいは「A」と「非A」などのバイナリデータであり得る。
【0016】
ターゲット関数生成モジュール130は、訓練データ160および人工的な関数166(後段で説明される)を使用してターゲット関数168(f
jとして表される)を生成するように構成され得る。いくつかの例において、算術モジュール140は、ターゲット関数生成モジュール130によるターゲット関数168の生成を円滑にする特定の動作を実行するように構成され得る。たとえば、算術モジュール140は、システム100の実施中の大きいデータセットの比較などの複雑な計算を実行するように構成され得る。
【0017】
機械学習モジュール120は、訓練データ160に基づいて、学習された関数162を決定するように構成され得る。学習された関数162の決定は、訓練入力(x
i)と訓練ラベル(y
i)の間の関係を決定することを含み得る。学習された関数162は、訓練入力(x
i)と訓練ラベル(y
i)の間の関係を示すのに有効であり得る。機械学習モジュール120は、重み付けされた訓練データ180に基づいて、重み付けされた関数172を決定するようにさらに構成され得る。重み付けされた関数172の決定は、重み付けされた訓練入力(x
wi)と重み付けされた訓練ラベル(y
wi)の間の関係を決定することを含み得る。重み付けされた関数172は、重み付けされた訓練入力(x
wi)と重み付けされた訓練ラベル(y
wi)の間の関係を示すのに有効であり得る。後段でより詳細に説明されるとおり、機械学習モジュール120は、人工的な関数166およびターゲット関数168に基づいて、人工的な学習された関数164(g
jとして表される)および人工的な重み付けされた関数174(g
wjとして表される)を決定するように構成され得る。評価モジュール150は、学習された関数162、重み付けされた関数172、人工的な学習された関数164、および人工的な重み付けされた関数174に基づいて重み利益152を決定することが可能である。
【0018】
図2は、本明細書で説明される少なくともいくつかの実施形態により構成された、人工的な学習された関数および人工的な重み付けされた関数の決定と関係するさらなる詳細とともに
図1の例示的なシステム100を示す。
図2は、さらなる詳細を伴って、
図1のシステム100と実質的に同様である。
図1の構成要素と同一のラベルを付けられた
図2の構成要素については、簡明のため、再び説明することはしない。
【0019】
後段でより詳細に説明されるとおり、ターゲット関数生成モジュール130が、訓練データ160(メモリ104の中の)および人工的な関数166(メモリ104の中の)に基づいて1つまたは複数のターゲット関数168を生成することが可能である(動作{210、211、212、213}を参照して説明される)。ターゲット関数168の生成の後、ターゲット関数生成モジュール130は、訓練データ160に基づき、かつターゲット関数168に基づき、ターゲットデータ230を生成することが可能である。処理モジュール110が、ターゲットデータ230に重み170を適用して、重み付けされたターゲットデータ232を生成することが可能である(動作{214,215})。機械学習モジュール120が、ターゲットデータ230に基づいて、人工的な学習された関数164を決定することが可能である(動作{216})。機械学習モジュール120は、重み付けされたターゲットデータ232に基づいて、人工的な重み付けされた関数174をさらに決定することが可能である(動作{216})。
【0020】
動作210において、ターゲット関数生成モジュール130が、メモリ104から人工的な関数166を取り出すことが可能である。例において、処理モジュール110が、メモリ104の中に記憶された複数の人工的な関数の中からいくつかの人工的な関数166を選択するようターゲット関数生成モジュール130に命令するように構成され得る。人工的な関数166の選択は、機械学習命令122に基づくことが可能である。例において、最終の所望される学習された関数でもある、機械学習命令122の出力は、ax
3+bx
2+cx+dのような次数4の多項式によって表現されるモデルに従う関数であり得る。処理モジュール110は、機械学習命令122における命令に基づいて、係数a、b、c、dの値などの、パラメータのセットをランダムに選択することが可能である。特定の選択jに関して、処理モジュール110が、a=1、b=3、c=7、d=12を選択した場合、第j番の人工的な関数166は、x
3+3x
2+7x+12であることになる。
【0021】
いくつかの人工的な関数166の選択の後、ターゲット関数168の生成は、動作210から動作211に進むことが可能である。動作211で、ターゲット関数生成モジュール130が、訓練データ160の訓練入力x
iを選択された数の人工的な関数166に適用することが可能である。人工的な関数166に訓練入力x
iを適用することは、人工的なデータ220の生成をもたらし得る。人工的なデータ220は、(x
i,h
j(x
i))によって表される、ペアにされたデータの1つまたは複数のセットを含むことが可能であり、ここで、iは、訓練データ160のポイントに対応し、jは、選択された人工的な関数に対応する。ペアにされたデータのセットの数は、選択された人工的な関数166の数と等しいことが可能である。人工的なデータ220の各セットの中のポイントの数は、訓練データ160におけるポイントの数と等しいことが可能である。たとえば、訓練データ160が、100のポイント(たとえば、i=1,2,...100であり、かつ(x
i,y
i)=(x
1,y
1),(x
2,y
2),...(x
100,y
100))を含むことが可能である。処理モジュール110は、10の人工的な関数166を選択するためにパラメータの10のセットを選択することが可能である。ターゲット関数生成モジュール130は、対応する10の人工的な関数に基づいて人工的なデータの10のセット220を生成して、人工的なデータの10のセット220の中の各セットが、100のポイントを含み得るようにすることが可能である。
【0022】
人工的なデータ220の生成の後、ターゲット関数168の生成は、動作211から動作212に進むことが可能である。動作212で、ターゲット関数生成モジュール130が、訓練データ160および人工的なデータ220を算術モジュール140に送信することが可能である。算術モジュール140は、訓練データ160の平均値であり得る訓練平均値240を決定することが可能である。算術モジュール140は、訓練データ160の標準偏差であり得る訓練標準偏差242をさらに決定することが可能である。算術モジュール140は、いくつかの人工的な平均値250(m
jとして表される)をさらに決定することが可能であり、ここで、各人工的な平均値は、人工的なデータ220の特定のセットの平均値であり得る。たとえば、人工的な平均値m
1が、j=1における人工的なデータ220のセットの人工的な平均値であり得る。算術モジュール140は、いくつかの人工的な標準偏差252(d
jとして表される)をさらに決定することが可能であり、ここで、各人工的な標準偏差は、人工的なデータ220の特定のセットの標準偏差であり得る。たとえば、人工的な標準偏差d
1が、j=1における人工的なデータ220のセットの標準偏差であり得る。算術モジュール140が、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252をターゲット関数生成モジュール130に送信することが可能である。算術モジュール140がターゲット関数生成モジュール130の構成要素であり得る、いくつかの例において、ターゲット関数生成モジュール130が、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252を決定することが可能である。
【0023】
訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252の生成の後、ターゲット関数168の生成は、動作212から動作213に進むことが可能である。動作213において、ターゲット関数生成モジュールは、人工的なデータ220、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252に基づいて、いくつかのターゲット関数168を生成することが可能である。ターゲット関数168の数は、選択された人工的な関数166の数、または人工的なデータ220の中のセットの数と等しいことが可能である。たとえば、ターゲット関数f
2が、j=2における人工的な関数h
2、または人工的なデータ220のセットに基づくことが可能である。ターゲット関数f
2が、j=2における人工的なデータ220、訓練平均値240、訓練標準偏差242、人工的な平均値250 m
2、および人工的な標準偏差252 d
2に基づいて生成されることが可能である。
【0024】
いくつかの例において、ターゲット関数生成モジュール130が、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252に符号関数を適用することによって、そのいくつかのターゲット関数168を生成することが可能である。いくつかの例において、ターゲット関数生成モジュール130が、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252にラウンド関数を適用することによって、ターゲット関数168を生成することが可能である。いくつかの例において、ターゲット関数生成モジュール130が、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252に最近接数関数(nearest number function)を適用することによって、ターゲット関数168を生成することが可能である。ターゲット関数生成モジュール130は、訓練平均値240、訓練標準偏差242、人工的な平均値250、および人工的な標準偏差252に、機械学習命令122に基づいて選択され得る様々な他の関数を適用することによって、ターゲット関数168を生成することが可能である。いくつかの例において、ターゲット関数168は、ガウス雑音などの雑音パラメータにさらに基づくことが可能である。
【0025】
ターゲット関数168の生成の後、ターゲット関数生成モジュール130は、ターゲットデータ230および重み付けされたターゲットデータ232を生成することが可能である。動作214において、ターゲット関数生成モジュール130が、各ターゲット関数168に訓練データ160の訓練入力x
iを適用して、ターゲットデータ230を生成することが可能である。ターゲットデータ230は、(x
i,f
j(x
i))によって表される、ペアにされたデータの1つまたは複数のセットを含むことが可能であり、ここで、ターゲットデータ230におけるペアにされたデータのセットの数は、ターゲット関数168の数と等しいことが可能である。ターゲットデータ230の各セットの中のポイントの数は、訓練データ160におけるポイントの数と等しいことが可能である。たとえば、ターゲット生成関数モジュール130が、10のターゲット関数168を生成した場合、ターゲットデータ230においてターゲットデータの10のセットが存在する。ターゲットデータ230の生成の後、動作215において、処理モジュール110が、訓練データ160に重みのセット170を適用して、重み付けされたターゲットデータ232を生成することが可能である。重み付けされたターゲットデータ232は、(x
i,f
wj(x
i))によって表される、ペアにされたデータの1つまたは複数のセットを含むことが可能であり、ここで、重み付けされたターゲットデータ232におけるペアにされたデータのセットの数は、ターゲット関数168の数と等しいことが可能である。重み付けされたターゲットデータ232の各セットの中のポイントの数は、訓練データ160におけるポイントの数と等しいことが可能である。
【0026】
ターゲットデータ230および重み付けされたターゲットデータ232の生成の後、機械学習モジュール120が、いくつかの人工的な学習された関数164を決定することが可能であり、いくつかの人工的な重み付けされた関数174を決定することが可能である。機械学習モジュール120が、特定のターゲットデータ230に基づいて、特定の人工的な学習された関数164を決定することが可能である。たとえば、機械学習モジュール120が、セットj=2においてターゲットデータ(x
i,f
2(x
i))に基づいて、人工的な学習された関数g
2を決定することが可能である。人工的な学習された関数164の数は、ターゲットデータ230におけるターゲットデータのセットの数と等しいことが可能である。機械学習モジュール120は、特定の重み付けされたターゲットデータ232に基づいて、特定の人工的な重み付けされた関数174をさらに決定することが可能である。人工的な重み付けされた関数174の数は、重み付けされたターゲットデータ232における重み付けされたターゲットデータのセットの数と等しいことが可能である。
【0027】
図3は、本明細書で説明される少なくともいくつかの実施形態により構成された、重み利益の決定と関係するさらなる詳細とともに
図1の例示的なシステム100を示す。
図3は、さらなる詳細を伴って、
図1のシステム100と実質的に同様である。
図1の構成要素と同一のラベルが付けられた
図3における構成要素については、簡明のため、再び説明することはしない。
【0028】
後段でより詳細に説明されるとおり、機械学習モジュール120が、学習された関数162、重み付けされた関数172、1つまたは複数の人工的な学習された関数164、および1つまたは複数の人工的な重み付けされた関数174に試験入力のセット302を適用することが可能である(動作{310})。その適用の結果、機械学習モジュール120は、試験データ304、重み付けされた試験データ305、人工的な試験データ306、および人工的な重み付けされた試験データ307を生成することが可能である(動作{310})。算術モジュール140が、試験データ304、重み付けされた試験データ305、人工的な試験データ306、および人工的な重み付けされた試験データ307に基づいて評価値340を決定することが可能である(動作{311,312})。評価モジュール150が、評価値340に基づいて重み利益152を生成することが可能である(動作{313,314,315})。
【0029】
動作310において、機械学習モジュール120が、学習された関数162に試験入力302を適用して、試験データ304を生成することが可能である。試験入力302は、ベクトルのセット(s
iとして表される)であることが可能であり、システム100の外部のデバイスから受信されることが可能である。試験データ304は、試験入力302 s
iと、生成された試験ラベルg(s
i)とを含むペアにされたデータのセット(s
i,g(s
i)として表される)に関連することが可能である。学習された関数162は、試験入力302と生成された試験ラベルg(s
i)の間の関係を定義するのに有効であり得る。機械学習モジュール120は、重み付けされた関数172に試験入力302をさらに適用して、重み付けされた試験データ305を生成することが可能である。重み付けされた試験データ305は、試験入力302 s
iと、生成された重み付けされた試験ラベルg
w(s
i)とを含むペアにされたデータのセット((s
i,g
w(s
i))として表される)に関連することが可能である。重み付けされた関数172は、試験入力302と重み付けされた試験ラベルg
w(s
i)の間の関係を定義するのに有効であり得る。
【0030】
機械学習モジュール120は、人工的な学習された関数164の中のそれぞれの人工的な学習された関数g
jに試験入力302をさらに適用して、人工的な試験データ306の1つまたは複数のセット((s
i,g
j(s
i))として表される)を生成することが可能である。人工的な試験データ306の各セットは、試験入力302 s
iと、対応する人工的な試験ラベルg
j(s
i)とを含むペアにされたデータのセットに関連することが可能である。たとえば、機械学習モジュール120が、人工的な学習された関数g
2に試験入力302を適用して、人工的な試験データのセット(s
i,g
2(s
i))を生成することが可能である。人工的な学習された関数164は、試験入力302と人工的な試験ラベルg
j(s
i)の間の関係を定義するのに有効であり得る。機械学習モジュール120は、人工的な重み付けされた関数174の中のそれぞれの人工的な重み付けされた関数に試験入力302をさらに適用して、人工的な重み付けされた試験データ307((s
i,g
wj(s
i))として表される)を生成することが可能である。人工的な重み付けされた試験データ307のそれぞれのセットは、試験入力302 s
iと、対応する人工的な重み付けされた試験ラベルg
wj(s
i)とを含むペアにされたデータのセットに関連することが可能である。人工的な重み付けされた関数174は、試験入力302と人工的な重み付けされた試験ラベルg
wj(s
i)の間の関係を定義するのに有効であり得る。
【0031】
動作311において、算術モジュール140が、学習された関数162と重み付けされた関数172の間の予期される値320を決定することが可能である。学習された関数162と重み付けされた関数172の間の予期される値320の例は、以下のとおりであり得る。すなわち、
【0033】
ここで、gは、学習された関数162を表し、g
wは、重み付けされた関数172を表す。
【0034】
例において、算術モジュール140が、以下のような試験入力302を使用して、予期される値320を決定することが可能である。すなわち、
【0035】
E[(g(s
i)−g
w(s
i))
2]
【0036】
ここで、s
iは、試験入力302であり、g(s
i)は、試験ラベルt
iであり、g
w(s
i)は、重み付けされた試験ラベルt
wiである。
【0037】
同様に、算術モジュール140は、各第j番の人工的な学習された関数164と各第j番のターゲット関数168の間の予期される値322をさらに決定することが可能である。算術モジュール140は、各第j番の人工的な重み付けされた関数174と各第j番のターゲット関数168の間の予期される値324をさらに決定することが可能である。算術モジュール140は、各第j番の人工的な学習された関数164と各第j番の人工的な重み付けされた関数174の間の予期される値326をさらに決定することが可能である。算術モジュール140は、試験入力302を使用して、予期される値322、324、326を決定することが可能である。
【0038】
動作312において、算術モジュール140が、いくつかの評価値340(T
jとして表される)を決定することが可能である。評価値340は、以下のとおり、予期される値322、324、326に基づくことが可能である。すなわち、
【0039】
T
j=E[(g
j−f
j)
2]−E[(g
wj−f
j)
2]−E[(g
j−g
wj)
2]
【0040】
ここで、E[(g
j−f
j)
2]は、予期される値322を表し、E[(
gwj−f
j)
2]は、予期される値324を表し、E[(g
j−g
wj)
2]は、予期される値326を表す。
【0041】
動作313において、評価モジュール150が、評価値340の中の各値を予期される値320と比較することが可能である。評価値340と予期される値320の例示的な比較は、以下の条件342に基づくことが可能である。
【0043】
評価モジュール150が、評価値340の中のいくつの値が条件342を満たすかを数えることによってカウント350を決定することが可能である。たとえば、評価値340の中の37個の値が条件342を満たす場合、カウント350は、値「37」である。動作314において、評価モジュール150が、カウント350をしきい値360と比較することが可能であり、ここで、しきい値360は、機械学習命令122によって定義されることが可能であり、メモリ104の中に記憶されることが可能である。例において、しきい値360は、訓練データ160のポイントの数の半分であり得る。たとえば、訓練データ160が100のポイントを含む場合、しきい値360は、値「50」であり得る。
【0044】
動作315において、評価モジュール150が、カウント350としきい値360の比較に基づいて、重み利益152を決定することが可能である。評価モジュール150は、カウント350としきい値360の比較に基づいて重み利益152に値を割り当てることが可能である。例において、カウント350が「37」であり、しきい値が「50」である場合、評価モジュール150には、重み利益152に「1」または「A」(「適用する」)という値を割り当てることが可能である。同様に、カウント350が「71」であり、しきい値が「50」である場合、評価モジュール150には、重み利益152に「0」または「非A」(「適用しない」)という値を割り当てることが可能である。評価モジュール150が、処理モジュール110に重み利益152を送信することが可能である。処理モジュール110が、重み利益152の値に基づいて、訓練データ160に重み170を適用すべきかどうかを決定することが可能である。処理モジュール110が、重み利益152の値に基づいて、学習された関数162を展開すべきか、または重み付けされた関数172を展開すべきかを機械学習モジュール120にさらに指示することが可能である。
【0045】
他の可能な利点として、本開示によるシステムは、機械学習システムのパフォーマンスを向上させることが可能である。いくつかの例において、重み付けされた訓練データから決定された重み付けされた関数は、重み付けされていない訓練データから決定された関数と比べて、より正確であると見なされ得る。しかし、重み付けされた訓練データは、サンプルロスをもたらす可能性があり、重み付けされた関数の生成を意図せずに損なう可能性がある。本開示によるシステムは、訓練データに重みを適用することが、機械学習システムのパフォーマンスを利する可能性があるか、または損なう可能性があるかを決定する方法を提供することが可能である。
【0046】
図4は、本明細書で提示される少なくともいくつかの実施形態により構成された、訓練データに関する重み利益エバリュエータを実施する例示的なプロセスに関する流れ図を示す。
図4のプロセスは、たとえば、前述したシステム100を使用して実施されることも可能である。例示的なプロセスは、ブロックS2、S4、S6、S8、S10、S12、S14、および/またはS16のうちの1つまたは複数によって示される、1つまたは複数の動作、アクション、または機能を含み得る。別々のブロックとして例示されるものの、様々なブロックは、所望される実施形態に依存して、さらなるブロックに分割されても、組み合わされて、より少ないブロックにされても、無くされてもよい。
【0047】
処理は、ブロックS2、「訓練データに基づいて第1の関数を決定する」において始まることが可能である。ブロックS2において、デバイスが、訓練データに基づいて第1の関数を決定することが可能である。訓練データは、訓練入力と、訓練ラベルとを含み得る。
【0048】
処理は、ブロックS2からブロックS4、「訓練データに重みのセットを適用して、重み付けされた訓練データを生成する」に進むことが可能である。ブロックS4において、デバイスが、訓練データに重みのセットを適用して、重み付けされた訓練データを生成することが可能である。
【0049】
処理は、ブロックS4からブロックS6、「重み付けされた訓練データに基づいて第2の関数を決定する」に進むことが可能である。ブロックS6において、デバイスが、重み付けされた訓練データに基づいて第2の関数を決定することが可能である。
【0050】
処理は、ブロックS6からブロックS8、「ターゲット関数に基づいてターゲットデータを生成する」に進むことが可能である。ブロックS8において、デバイスが、ターゲット関数に基づいてターゲットデータを生成することが可能である。そのターゲット関数は、訓練ラベルとは異なるターゲットラベルを含み得る。デバイスが、そのターゲット関数を生成することが可能である。例において、デバイスが、人工的な関数を生成するパラメータのセットを決定することが可能である。デバイスは、訓練入力および人工的な関数を使用して人工的なデータをさらに生成することが可能である。その人工的なデータは、訓練入力と、人工的なラベルとを含むことが可能である。デバイスは、訓練データに関連する第1の平均値をさらに決定することが可能である。デバイスは、訓練データに関連する第1の標準偏差をさらに決定することが可能である。デバイスは、人工的なデータに関連する第2の平均値をさらに決定することが可能である。デバイスは、人工的なデータに関連する第2の標準偏差をさらに決定することが可能である。デバイスは、第1の平均値、第1の標準偏差、第2の平均値、および第2の偏差に基づいてターゲット関数をさらに生成することが可能である。いくつかの例において、ターゲット関数は、雑音パラメータに基づくことが可能である。
【0051】
処理は、ブロックS8からブロックS10、「ターゲットデータに基づいて第3の関数を決定する」に進むことが可能である。ブロックS10において、デバイスが、ターゲットデータに基づいて第3の関数を決定することが可能である。
【0052】
処理は、ブロックS10からブロックS12、「ターゲットデータに重みのセットを適用して、重み付けされたターゲットデータを生成する」に進むことが可能である。ブロックS12において、デバイスが、ターゲットデータに重みのセットを適用して、重み付けされたターゲットデータを生成することが可能である。
【0053】
処理は、ブロックS12からブロックS14、「重み付けされたターゲットデータに基づいて第4の関数を決定する」に進むことが可能である。ブロックS14において、デバイスが、重み付けされたターゲットデータに基づいて第4の関数を決定することが可能である。
【0054】
処理は、ブロックS14からブロックS16、「第1の関数、第2の関数、第3の関数、および第4の関数に基づいて重み利益を決定する」に進むことが可能である。ブロックS16において、デバイスが、第1の関数、第2の関数、第3の関数、および第4の関数に基づいて重み利益を決定することが可能である。重み利益は、訓練データに重みのセットを適用する利益に関連することが可能である。いくつかの例において、デバイスが、第1の予期される値、第2の予期される値、第3の予期される値、および第4の予期される値を決定することが可能である。第1の予期される値は、第1の関数と第2の関数の間の予期される値であり得る。第2の予期される値は、第3の関数とターゲット関数の間の予期される値であり得る。第3の予期される値は、第3の関数とターゲット関数の間の予期される値であり得る。第4の予期される値は、第3の関数と第4の関数の間の予期される値であり得る。重み利益の決定は、第1の予期される値、第2の予期される値、第3の予期される値、および第4の予期される値に基づくことが可能である。いくつかの例において、第1の予期される値、第2の予期される値、第3の予期される値、および第4の予期される値は、第1の関数、第2の関数、第3の関数、および第4の関数に試験入力を適用することに基づくことが可能である。
【0055】
いくつかの例において、デバイスが、第2の予期される値、第3の予期される値、および第4の予期される値を使用して評価値をさらに決定することが可能である。デバイスは、その評価値を第1の予期される値とさらに比較することが可能である。デバイスは、その評価値と第1の予期される値の比較に基づいてカウントをさらに決定することが可能である。デバイスは、そのカウントをしきい値とさらに比較することが可能である。重み利益の決定はまず、そのカウントとしきい値の比較に基づくことが可能である。
【0056】
図5は、本明細書で説明される少なくともいくつかの実施形態により構成された、訓練データに関する重み利益エバリュエータを実施するのに利用され得る例示的なコンピュータプログラム製品を示す。プログラム製品500が、信号担持媒体502を含み得る。信号担持媒体502は、たとえば、プロセッサによって実行されると、
図1〜
図4に関連して前述した機能をもたらすことが可能な1つまたは複数の命令504を含み得る。このため、たとえば、システム100を参照すると、コンピューティングデバイス102が、媒体502によってシステム100に伝送された命令504に応答して、
図5に示されるブロックのうちの1つまたは複数を実行することが可能である。
【0057】
いくつかの実施形態において、信号担持媒体502は、ハードディスクドライブ、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、デジタルテープ、メモリなどの、ただし、以上には限定されないコンピュータ可読媒体506を包含することが可能である。いくつかの実施形態において、信号担持媒体502は、メモリ、読取り/書込み(R/W)型CD、R/W型DVDなどの、ただし、以上には限定されない記録可能媒体508を包含することが可能である。いくつかの実施形態において、信号担持媒体502は、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、ワイヤレス通信リンク、その他)などの、ただし、以上には限定されない通信媒体510を包含することが可能である。このため、たとえば、プログラム製品500は、RF信号担持媒体502によってシステム100の1つまたは複数のモジュールに伝送されることが可能であり、信号担持媒体502は、ワイヤレス通信媒体510(たとえば、IEEE802.11標準に準拠するワイヤレス通信媒体)によって伝送される。
【0058】
図6は、本明細書で説明される少なくともいくつかの実施形態により構成された、訓練データに関する重み利益エバリュエータを実施するように構成された例示的なコンピューティングデバイスを示すブロック図である。非常に基本的な構成602において、コンピューティングデバイス600は、通常、1つまたは複数のプロセッサ604と、システムメモリ606とを含む。メモリバス608が、プロセッサ604とシステムメモリ606の間で通信するために使用され得る。
【0059】
所望される構成に依存して、プロセッサ604は、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタルシグナルプロセッサ(DSP)、または以上の任意の組み合わせを含むが、以上には限定されない任意のタイプのものであり得る。プロセッサ604は、レベル1キャッシュ610およびレベル2キャッシュ612などの1つまたは複数のレベルのキャッシングと、プロセッサコア614と、レジスタ616とを含み得る。例示的なプロセッサコア614は、算術論理演算装置(ALU)、浮動小数点演算装置(FPU)、デジタル信号処理コア(DSPコア)、または以上の任意の組み合わせを含み得る。また、例示的なメモリコントローラ618が、プロセッサ604と一緒に使用されることも可能であり、またはいくつかの実施形態において、メモリコントローラ618は、プロセッサ604と一体化した部分であることが可能である。
【0060】
所望される構成に依存して、システムメモリ606は、揮発性メモリ(RAMなどの)、不揮発性メモリ(ROM、フラッシュメモリなどの)、または揮発性メモリと不揮発性メモリの任意の組み合わせを含むが、以上には限定されない任意のタイプのものであり得る。システムメモリ606は、オペレーティングシステム620と、1つまたは複数のアプリケーション622と、プログラムデータ624とを含むことが可能である。アプリケーション622は、
図1〜
図4のシステム100に関連して説明した機能を含め、本明細書で説明される機能を実行するように構成された重み利益評価アルゴリズム626を含むことが可能である。プログラムデータ624は、本明細書で説明されるとおり訓練データに関する重み利益エバリュエータを実施するのに役立ち得る重み利益評価データ628を含むことが可能である。いくつかの実施形態において、アプリケーション622は、訓練データに関する重み利益エバリュエータの実施形態が提供され得るようにオペレーティングシステム620上でプログラムデータ624を操作するように構成されることが可能である。この説明される基本構成602が、内側の破線内の構成要素によって
図6に示される。
【0061】
コンピューティングデバイス600は、さらなる特徴または機能、ならびに基本構成602と任意の要求されるデバイスおよびインターフェースの間で通信を円滑にするさらなるインターフェースを有することが可能である。たとえば、バス/インターフェースコントローラ630が、ストレージインターフェースバス634を介して基本構成602と1つまたは複数のデータストレージデバイス632の間の通信を円滑にするのに使用され得る。データストレージデバイス632は、取外し式ストレージデバイス636、非取外し式ストレージデバイス638、または取外し式ストレージデバイス636と非取外し式ストレージデバイス638の組み合わせであることが可能である。取外し式ストレージデバイスおよび非取外し式ストレージデバイスの例には、いくつかを挙げると、フレキシブルディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスクデバイス、コンパクトディスク(CD)ドライブまたはデジタルバーサタイルディスク(DVD)ドライブなどの光ディスクドライブ、ソリッドステートドライブ(SSD)、およびテープドライブが含まれる。例示的なコンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体が含まれ得る。
【0062】
システムメモリ606、取外し式ストレージデバイス636、および非取外し式ストレージデバイス638が、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望される情報を記憶するのに使用されることが可能であり、コンピューティングデバイス600によってアクセスされ得る他の任意の媒体が含まれるが、以上には限定されない。任意のそのようなコンピュータ記憶媒体が、コンピューティングデバイス600の一部であり得る。
【0063】
また、コンピューティングデバイス600は、バス/インターフェースコントローラ630を介して様々なインターフェースデバイス(たとえば、出力デバイス642、周辺インターフェース644、および通信デバイス646)から基本構成602への通信を円滑にするためのインターフェースバス640を含むことも可能である。例示的な出力デバイス642は、1つまたは複数のA/Vポート652を介してディスプレイまたはスピーカなどの様々な外部デバイスに通信するように構成され得る、グラフィックス処理ユニット648およびオーディオ処理ユニット650を含む。例示的な周辺インターフェース644は、1つまたは複数のI/Oポート658を介して入力デバイス(たとえば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど)またはその他の周辺デバイス(たとえば、プリンタ、スキャナなど)などの外部デバイスと通信するように構成され得るシリアルインターフェースコントローラ654またはパラレルインターフェースコントローラ656を含む。例示的な通信デバイス646は、1つまたは複数の通信ポート664経由でネットワーク通信リンクを介して他の1つまたは複数のコンピューティングデバイス662を相手にした通信を円滑にするように構成され得るネットワークコントローラ660を含む。
【0064】
ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、通常、搬送波または他のトランスポート機構などの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって実現されることが可能であり、任意の情報配信媒体を含み得る。「変調されたデータ信号」は、信号内に情報を符号化するように信号の特性のうちの1つまたは複数が設定された、または変更された信号であり得る。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、無線周波数(RF)媒体、マイクロ波媒体、赤外線(IR)媒体、およびその他のワイヤレス媒体などのワイヤレス媒体が含まれ得る。本明細書で使用されるコンピュータ可読媒体という用語は、記憶媒体と通信媒体をともに含み得る。
【0065】
コンピューティングデバイス600は、セル電話、携帯情報端末(PDA)、パーソナルメディアプレーヤデバイス、ワイヤレスウェブウォッチデバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または前述の機能のいずれかを含むハイブリッドデバイスなどのスモールフォームファクタのポータブル(またはモバイル)電子デバイスの一部分として実装され得る。また、コンピューティングデバイス600は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含め、パーソナルコンピュータとして実装されることも可能である。
【0066】
本開示は、様々な態様の例示として意図される、本出願において説明される特定の実施形態に関して限定されるべきではない。当業者には明白となるとおり、本開示の趣旨および範囲を逸脱することなく、多くの変形および変更が行われ得る。本明細書において列挙される方法および装置に加えて、本開示の範囲に含まれる機能的に均等な方法および装置が、前段の説明から当業者には明白となろう。そのような変形および変更は、添付の特許請求の範囲に含まれるものとされる。本開示は、添付の特許請求の範囲、およびそのような特許請求の範囲に権利が与えられる均等物の完全な範囲によってのみ限定されるものとする。本開示は、無論、様々であり得る、特定の方法、試薬、化合物組成、または生物系に限定されないことを理解されたい。また、本明細書で使用される用語は、特定の実施形態を説明することを目的とするに過ぎず、限定することは意図していないことも理解されたい。
【0067】
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。様々な単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【0068】
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
【0069】
さらに、本開示の特徴または態様がマーカッシュグループに関連して説明される場合、本開示は、その結果、そのマーカッシュグループの任意の個別のメンバ、またはそのようなメンバのサブグループに関連しても説明されることが当業者には認識されよう。
【0070】
当業者には理解されるとおり、書面の説明を与えることなどに関してなどの一部およびすべての目的に関して、事実上、本明細書で開示されるすべての範囲は、その範囲の可能なすべての部分的範囲、およびその範囲の部分的範囲の組み合わせも包含する。いずれのリストアップされる範囲も、少なくとも等しい1/2、1/3、1/4、1/5、1/10などに細分された同一の範囲を十分に説明し、可能にするものと容易に認識され得る。非限定的な例として、本明細書で説明される各範囲は、下1/3、中1/3、および上1/3などに容易に細分され得る。当業者には理解されるとおり、「〜まで」、「少なくとも〜」、「〜より大きい」、「〜未満」などのすべての言い回しは、記載される数を含むとともに、前述したとおり、部分的範囲にその後、細分され得る範囲を指す。最後に、当業者には理解されるとおり、範囲は、個別の各メンバを含む。このため、たとえば、1〜3のセルを有するグループとは、1つのセル、2つのセル、または3つのセルを有するグループを指す。同様に、1〜5のセルを有するグループとは、1つのセル、2つのセル、3つのセル、4つのセル、または5つのセルを有するグループを指すといった具合である。
【0071】
様々な態様および実施形態が本明細書で説明されてきたが、他の態様および実施形態が、当業者には明白となろう。本明細書で開示される様々な態様および実施形態は、例示を目的としており、限定することは意図しておらず、真の範囲および趣旨は、添付の特許請求の範囲によって示される。