JP7208503B2 - Machine learning program, machine learning method and machine learning apparatus - Google Patents
Machine learning program, machine learning method and machine learning apparatus Download PDFInfo
- Publication number
- JP7208503B2 JP7208503B2 JP2019042111A JP2019042111A JP7208503B2 JP 7208503 B2 JP7208503 B2 JP 7208503B2 JP 2019042111 A JP2019042111 A JP 2019042111A JP 2019042111 A JP2019042111 A JP 2019042111A JP 7208503 B2 JP7208503 B2 JP 7208503B2
- Authority
- JP
- Japan
- Prior art keywords
- sample
- harvest
- date
- prediction model
- distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は機械学習プログラム、機械学習方法および機械学習装置に関する。 The present invention relates to a machine learning program, a machine learning method and a machine learning apparatus.
コンピュータを利用したデータ分析として、機械学習が行われることがある。機械学習では、結果が既知である複数の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因(説明変数や独立変数と言うことがある)と結果(目的変数や従属変数と言うことがある)との間の関係を一般化した予測モデルを生成する。生成された予測モデルを用いることで、未知の結果を予測することができる。 Machine learning is sometimes performed as data analysis using a computer. In machine learning, a computer is fed training data representing multiple instances with known outcomes. A computer analyzes training data to generate a predictive model that generalizes the relationship between factors (sometimes called explanatory or independent variables) and outcomes (sometimes called objective or dependent variables). do. An unknown result can be predicted by using the generated prediction model.
機械学習は、農作物の収穫予測に用いられることがある。例えば、農作物の最適収穫日を予測する予測装置が提案されている。提案の予測装置は、収穫前の異なる複数の日に撮像された農作物の画像と、当該農作物が実際に収穫された収穫日とを含む教師データを収集する。予測装置は、教師データから機械学習により予測モデルを生成し、予測モデルに対象の農作物の画像を入力して対象の農作物の収穫日を予測する。 Machine learning is sometimes used for crop yield prediction. For example, a prediction device has been proposed that predicts the optimal harvest date of agricultural products. The proposed prediction device collects teacher data including images of crops taken on different days before harvest and harvest dates when the crops were actually harvested. The prediction device generates a prediction model from the teacher data by machine learning, inputs an image of the target crop to the prediction model, and predicts the harvest date of the target crop.
農作物の収穫予測を可能とする機械学習では、気温や日射量などの育成環境を説明変数とし、着果日などの基準日から収穫日までの所要日数を目的変数とする予測モデルを生成することが考えられる。しかし、農作物は、同じ育成環境のもとで育てても成長速度が異なるという個体差をもっている。特に、一部の種類の農作物は個体差が大きい。これに対して、一般的な機械学習は、説明変数の1つの値に対して目的変数の1つの期待値(最も可能性が高い値)を算出する予測モデルを生成する。その結果、実際は収穫日にばらつきが生じるにもかかわらず、予測モデルによれば多くの農作物の予測収穫日が特定の日に集中することになり、実情から乖離した予測結果となってしまうおそれがある。 In machine learning, which makes it possible to predict the yield of agricultural crops, a prediction model is generated that uses the growth environment such as temperature and amount of sunlight as explanatory variables, and the required number of days from the reference date, such as the date of fruiting, to the harvest date as the objective variable. can be considered. However, crops have individual differences in that they grow at different rates even if they are grown under the same growing environment. In particular, some types of crops have large individual differences. In contrast, general machine learning generates a predictive model that calculates one expected value (most likely value) of the objective variable for one value of the explanatory variable. As a result, although the actual harvest dates vary, the prediction model will concentrate the harvest dates for many crops on a specific date, which may lead to prediction results that deviate from the actual situation. be.
1つの側面では、本発明は、農作物の収穫予測の精度が向上した予測モデルを生成する機械学習プログラム、機械学習方法および機械学習装置を提供することを目的とする。 In one aspect, an object of the present invention is to provide a machine learning program, a machine learning method, and a machine learning apparatus that generate a prediction model with improved accuracy in crop yield prediction.
1つの態様では、コンピュータに以下の処理を実行させる機械学習プログラムが提供される。それぞれ標本農作物の育成環境の情報と所定の状態が観測された基準日から標本農作物の収穫日までの所要日数とを対応付けた複数のレコードを含む訓練データと、複数のレコードが示す複数の標本農作物および他の農作物を含む農作物集合について収穫日に対する収穫数の実績分布を示す総数データとを取得する。育成環境の情報から所要日数の確率分布を算出する予測モデルを生成し、訓練データを用いて、予測モデルにより算出される確率分布の誤差を評価して予測モデルを更新することを繰り返す学習処理を開始する。学習処理の途中において、複数のレコードが示す育成環境の情報から予測モデルにより算出される複数の確率分布を合成して、収穫日に対する収穫数の予測分布を算出し、予測分布と総数データが示す実績分布との間の類似度に基づいて、学習処理の停止タイミングを判定する。 In one aspect, a machine learning program is provided that causes a computer to perform the following processes. Training data including multiple records each of which is associated with information on the growing environment of sample crops and the required number of days from the reference date when a predetermined state was observed to the harvest date of sample crops, and multiple samples indicated by the multiple records Total data indicating the actual distribution of the number of harvests with respect to the harvest date is acquired for the crop set including the crop and other crops. A learning process that repeats the process of generating a prediction model that calculates the probability distribution of the number of days required from the training environment information, evaluating the error in the probability distribution calculated by the prediction model using the training data, and updating the prediction model. Start. In the middle of the learning process, combine multiple probability distributions calculated by the prediction model from information on the growing environment indicated by multiple records, calculate the predicted distribution of the number of harvests for the harvest date, and calculate the predicted distribution and the total number data. The timing to stop the learning process is determined based on the degree of similarity with the actual distribution.
また、1つの態様では、コンピュータが実行する機械学習方法が提供される。また、1つの態様では、記憶部と処理部とを有する機械学習装置が提供される。 Also, in one aspect, a computer-implemented machine learning method is provided. Also, in one aspect, a machine learning device having a storage unit and a processing unit is provided.
1つの側面では、農作物の収穫予測の精度が向上した予測モデルを生成できる。 In one aspect, it is possible to generate a prediction model with improved accuracy in crop yield prediction.
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, this embodiment will be described with reference to the drawings.
[First embodiment]
A first embodiment will be described.
図1は、第1の実施の形態の機械学習装置の例を説明する図である。
第1の実施の形態の機械学習装置10は、農作物の収穫予測に用いる予測モデルを機械学習によって生成する。機械学習装置10を、情報処理装置やコンピュータと言うこともある。機械学習装置10は、クライアント装置でもよいしサーバ装置でもよい。
FIG. 1 is a diagram illustrating an example of a machine learning device according to the first embodiment.
The
機械学習装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
A
記憶部11は、訓練データ13および総数データ14を記憶する。訓練データ13および総数データ14は、収穫済みの農作物に関する履歴データである。訓練データ13および総数データ14は、前年に収穫された農作物など過去に収穫された農作物の育成状況や収穫状況を示す。訓練データ13が示す農作物と総数データ14が示す農作物は、同じ年に収穫されたものである。訓練データ13および総数データ14は、1年分の農作物を示す単年データであってもよいし、複数年分の農作物が混在した複数年データであってもよい。農作物には果実が含まれ得る。果実は、野菜や果物など植物の食用の実であり、農家によって栽培される。農作物は、同じ育成環境で育てても成長に個体差があり、収穫可能日にばらつきが生じる。農作物は、パプリカなど成長の個体差が大きい種類でもよい。
訓練データ13は、収穫された農作物全体(農作物集合)の一部である標本農作物に関する複数のレコードを含む。農作物集合のうち標本農作物は、育成状況や収穫状況について個別の詳細情報を収集したものである。農作物集合のうち他の農作物は、個別の詳細情報を収集しなかったものである。農作物集合に対する標本農作物の割合(標本割合)は、0.01%~0.3%程度でよい。詳細情報の収集には手間がかかるためである。
訓練データ13に含まれる複数のレコードは、それぞれ、標本農作物の育成環境の情報と所要日数とを対応付けている。育成環境の情報は、気温や日射量など農作物の成長と相関のある指標を含む。例えば、育成環境の情報は、下記の基準日から収穫日までの間の平均気温および平均日射量を含む。ただし、農作物の成長と相関が認められれば、基準日より前の気温や日射量を用いてもよいし、累積気温や累積日射量を用いてもよい。標本農作物によって基準日が異なることがある。基準日が異なると、結果的にその標本農作物に対応付けられる育成環境の情報も変わることがある。所要日数は、標本農作物について所定の状態が観測された基準日から、当該標本農作物が収穫された収穫日までの日数である。例えば、基準日は、植物が実をつけたことが観測された日(着果日)である。ただし、基準日は、着果前に植物が所定の状態になった日でもよいし、着果後に標本農作物が所定の状態になった日でもよい。収穫管理が週単位で行われている場合、所要日数の単位が週であってもよい。
A plurality of records included in the
総数データ14は、訓練データ13が示す標本農作物および他の農作物を含む農作物集合について、収穫日に対する収穫数(収穫された農作物の個数)の実績分布を示す。各農作物は、十分に成長したと農家が判断した日に植物から切り離されて収穫される。着果日の違いや成長の個体差により、収穫日にばらつきが生じる。収穫管理が週単位で行われている場合、総数データ14は、収穫日の属する週に対する収穫数の実績分布を示してもよい。総数データ14は、出荷管理のために収集され、訓練データ13よりも収集の手間が少ない。
The
例えば、訓練データ13に含まれる1つのレコードは、特定の平均気温や平均日射量のもとで育成された標本農作物について、着果日から収穫日までの所要日数が8週間であったという情報を示す。また、訓練データ13に含まれる別のレコードは、別の平均気温や平均日射量のもとで育成された標本農作物について、着果日から収穫日までの所要日数が7週間であったという情報を示す。総数データ14は、標本農作物および他の農作物を含む12,000個の農作物のうち、ある週に3,700個が収穫され、その次の週に5,800個が収穫され、その次の週に2,500個が収穫されたという情報を示す。
For example, one record included in the
処理部12は、学習処理15を実行して予測モデル16を生成する。予測モデル16の生成には、遺伝的プログラミング(GP:Genetic Programming)、重回帰分析、ニューラルネットワーク(NN:Neural Network)など、様々な機械学習アルゴリズムを使用することが可能である。予測モデル16は、育成環境の情報を説明変数として受け付け、所要日数の確率分布を目的変数として出力する統計モデルである。訓練データ13の所要日数の単位が週である場合、予測モデル16は、週数の確率分布を出力するようにしてもよい。予測モデル16は、最も確率が高い所要日数(所要日数の期待値)のみを出力する代わりに、複数の所要日数それぞれの確率を出力するように学習される。例えば、予測モデル16は、特定の平均気温および平均日射量に対して、7週間が30%、8週間が50%、9週間が20%という確率分布を出力する。
The
学習処理15では、処理部12は、訓練データ13を用いて、予測モデル16により算出される確率分布の誤差を評価して予測モデル16を更新することを繰り返す。例えば、処理部12は、訓練データ13に含まれる複数のレコードそれぞれについて、当該レコードが示す育成環境の情報を予測モデル16に入力し、当該レコードが示す所要日数を用いて、予測モデル16が出力する確率分布の誤差を評価する。そして、例えば、処理部12は、誤差が小さくなるように、予測モデル16に含まれる係数を更新する。ニューラルネットワークの場合、ノード間のエッジ(シナプス)の重みが更新される。
In the
ここで、処理部12は、学習処理15において予測モデル16を更新する繰り返し(イテレーション)の回数を制御する。イテレーション回数が少ない場合、予測モデル16が出力する確率分布は、訓練データ13に対する誤差が大きく訓練データ13へのフィッティング精度が低いものとなる。イテレーション回数の増加に応じて、予測モデル16が出力する確率分布は、訓練データ13に対する誤差が段階的に小さくなり、訓練データ13へのフィッティング精度が段階的に高くなっていく。
Here, the
ただし、訓練データ13が示す標本農作物は全体の農作物集合に対して少数であると共に、農作物の成長には個体差がある。よって、訓練データ13が示す所要日数の標本は、全体の農作物集合に対する真実の確率分布を忠実に表しているとは限らず、バイアスが存在する。このため、イテレーション回数を増やし過ぎると、過学習により、予測モデル16が訓練データ13に過度にフィットするものとなってしまう。過学習された予測モデル16が出力する確率分布は、分散が過度に小さいものとなり、個体差により所要日数がばらつくという真実の確率分布から乖離したものとなるおそれがある。
However, the number of sample crops represented by the
そこで、処理部12は、総数データ14を参照して、学習処理15における予測モデル16の更新を適切なタイミングで停止するようにする。
具体的には、処理部12は、学習処理15の途中において、訓練データ13に含まれる複数のレコードが示す育成環境の情報から、現在の予測モデル16により複数の確率分布を算出し、これら複数の確率分布を合成して予測分布17を算出する。予測分布17は、例えば、予測モデル16が更新される毎に算出される。予測分布17は、標本農作物および他の農作物を含む農作物集合について収穫日に対する収穫数の分布を予測したものである。
Therefore, the
Specifically, in the middle of the
訓練データ13が、着果日などの基準日が異なる標本農作物のデータを含んでいる場合、例えば、訓練データ13に基準日を含めておき、予測モデル16が出力する複数の確率分布を基準日に応じてシフトして合成すればよい。予測モデル16が週数の確率分布を出力する場合、予測分布17は、収穫日の属する週に対する収穫数の分布を示してもよい。また、処理部12は、標本割合を用いて、標本農作物の収穫数の予測分布を全体の農作物集合の収穫数の予測分布17に変換してもよい。例えば、予測分布17は、標本農作物および他の農作物を含む12,000個の農作物のうち、ある週に3,600個が収穫され、その次の週に6,000個が収穫され、その次の週に2,400個が収穫されるという予測を示す。
When the
そして、処理部12は、予測分布17と総数データ14が示す実績分布との間の類似度を評価し、類似度に基づいて学習処理15の停止タイミングを判定する。学習処理15の初期では、予測モデル16を更新する毎に予測モデル16の出力が真実の確率分布に近付き、その結果として予測分布17が総数データ14に近付く。一方、過学習になると、予測モデル16を更新する毎に予測モデル16の出力が過度に分散の小さいものとなり真実の確率分布から遠ざかり、その結果として予測分布17が総数データ14から遠ざかる。
Then, the
そこで、例えば、処理部12は、予測モデル16が更新される毎に類似度を評価して類似度のピークを検出し、ピークが検出されると学習処理15を停止して、ピークに対応する予測モデル16を学習結果として出力する。処理部12は、予測分布17と総数データ14が示す実績分布との間の類似度を示す指標として両者の誤差(総数誤差)を算出し、総数誤差が最小になるタイミングを検出するようにしてもよい。誤差は、収穫日毎に予測収穫数と実績収穫数の差の二乗を合計した残差平方和でもよい。また、処理部12は、類似度の評価結果が、予測分布17と総数データ14が示す実績分布とが所定の基準以上類似することを示す場合に、学習処理15を停止することとしてもよい。
Therefore, for example, the
第1の実施の形態の機械学習装置10によれば、気温や日射量などの育成環境の情報から、着果日などの基準日から収穫日までの所要日数を予測する予測モデル16が生成される。よって、農作物の収穫日および収穫数の予測が可能となる。また、予測モデル16は、所要日数の期待値ではなく所要日数の確率分布を出力するように学習される。よって、同じ育成環境のもとで育てても成長速度が異なるという農作物の個体差の性質を考慮して、収穫日のばらつきを表現することが可能となる。
According to the
また、訓練データ13に含まれる個々のレコードに対して予測モデル16の予測結果の誤差を評価することに加え、訓練データ13の全体から予測される収穫数の予測分布17と総数データ14が示す収穫数の実績分布との間の類似度が評価される。そして、この類似度に基づいて、学習処理15による予測モデル16の更新のイテレーションが停止される。よって、過学習により予測モデル16が過度に分散の小さい確率分布を出力するようになることを抑制でき、予測モデル16の予測精度が向上する。
In addition to evaluating the error of the prediction result of the
特に、個々の標本農作物について基準日や収穫日などの詳細情報を収集することは農家の負担が大きいことから、訓練データ13が十分な数の標本農作物のデータを含んでいないことがある。また、成長の個体差から、訓練データ13が示す所要日数にはバイアスがある。このような訓練データ13を用いて予測モデル16を生成すると、過学習が生じた場合に、予測モデル16が不適切な分散をもつ確率分布を出力してしまう可能性が高い。これに対して、機械学習装置10によれば、過学習が抑制され、予測モデル16が適切な分散をもつ確率分布を出力でき、収穫日のばらつきを表現することが可能となる。
In particular, collecting detailed information such as reference dates and harvest dates for individual sample crops imposes a heavy burden on farmers. Also, due to individual differences in growth, the number of required days indicated by the
なお、少ない訓練データから、できる限り予測精度の高い予測モデルを生成する機械学習技術として、クロスバリデーション法がある。クロスバリデーション法では、データ集合を複数のブロック(例えば、10個のブロック)に分割し、それら複数のブロックの1つをテストデータとして選択し、残りのブロック(例えば、9個のブロック)を訓練データとして選択する。訓練データを用いて予測モデルを生成し、テストデータを用いて予測モデルの予測精度を測定する。テストデータとして選択するブロックを変えることで、予測モデルの生成を複数回(例えば、10回)繰り返す。 In addition, there is a cross-validation method as a machine learning technique for generating a prediction model with the highest possible prediction accuracy from a small amount of training data. The cross-validation method divides the dataset into multiple blocks (e.g., 10 blocks), selects one of the multiple blocks as test data, and trains the remaining blocks (e.g., 9 blocks). Select as data. A prediction model is generated using training data, and the prediction accuracy of the prediction model is measured using test data. Generation of the prediction model is repeated multiple times (for example, 10 times) by changing the blocks selected as test data.
すなわち、クロスバリデーション法は、訓練データに含まれるレコードを入れ替えながら予測モデルの生成を繰り返すことで、できる限り予測精度の高い予測モデルが生成されるレコードの組み合わせを発見するものである。しかし、使用可能なレコードが非常に少ない場合、データ集合を適切に複数のブロックに分割することが難しく、クロスバリデーション法によっても農作物の収穫予測の精度を向上させることは容易でない。 That is, the cross-validation method finds a combination of records that generates a prediction model with the highest possible prediction accuracy by repeating prediction model generation while replacing records included in training data. However, when the number of available records is very small, it is difficult to properly divide the data set into multiple blocks, and it is not easy to improve the accuracy of crop yield prediction even by the cross-validation method.
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
[Second embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment.
第2の実施の形態の情報処理システムは、機械学習を利用して農作物の収穫日および収穫数を予測する。収穫日および収穫数の予測は、農家が出荷先と契約する際の基礎資料として使用することができる。第2の実施の形態の情報処理システムは、成長の個体差が大きく収穫日のばらつきが大きい農作物の管理に好適である。第2の実施の形態では、農作物の種類としてパプリカを想定する。ただし、第2の実施の形態の情報処理システムは、パプリカ以外の農作物の管理に適用することも可能である。 The information processing system of the second embodiment uses machine learning to predict the harvest date and the number of crops. Harvest date and harvest number forecasts can be used by farmers as a basis for contracts with shipping destinations. The information processing system of the second embodiment is suitable for managing crops with large individual differences in growth and large variations in harvest dates. In the second embodiment, paprika is assumed as the type of crop. However, the information processing system of the second embodiment can also be applied to management of crops other than paprika.
第2の実施の形態の情報処理システムは、ビニールハウス20、ネットワーク30、気象データサーバ31および機械学習装置100を含む。
ビニールハウス20の屋内は、パプリカを栽培する農地として標本栽培エリア21および一般栽培エリア22を含む。標本栽培エリア21で栽培されるパプリカは、農家が着果日および収穫日を個別に観測する標本果実である。一般栽培エリア22で栽培されるパプリカは、着果日および収穫日を個別に観測しない果実である。標本栽培エリア21で栽培される標本果実は、標本栽培エリア21と一般栽培エリア22を合わせた果実全体の約0.1%である。ただし、出荷管理のため、収穫日毎の収穫総数はカウントされる。また、農地を標本栽培エリア21と一般栽培エリア22に分けず、農地内に点在する幾つかの木の果実を標本果実として選択してもよい。また、図2には1つのビニールハウスを示しているが、農地が複数のビニールハウスに分割されていてもよい。
The information processing system of the second embodiment includes a
The interior of the
ビニールハウス20の屋内には、センサ23が設置されている。センサ23は、少なくとも気温および日射量を測定するセンサデバイスである。センサ23が測定する気温および日射量は、ビニールハウス20の屋内のものであり、屋外の気温および日射量とは異なる。センサ23は、測定されたデータを定期的に所定の情報処理装置に送信する。
A
ネットワーク30は、インターネットなどの広域データ通信ネットワークを含む。ネットワーク30には、気象データサーバ31および機械学習装置100が接続されている。センサ23がネットワーク30に接続されることもある。
気象データサーバ31は、現在日以降の気象予報を示す気象予報データを提供するサーバコンピュータである。気象予報データは、公的機関または民間気象会社により提供される。気象データサーバ31は、機械学習装置100からの要求に応じて気象予報データを機械学習装置100に送信する。気象予報データは、現在日以降の屋外の予報気温および予報日射量を含む。予報気温および予報日射量は、1時間毎の数値であることが好ましい。数値は、翌日の午前6時の気温および日射量といった日単位の予報でもよいし、翌週の午前6時の平均気温および平均日射量といった週単位の予報でもよいし、翌月の午前6時の平均気温および平均日射量といった月単位の予報でもよい。
The
機械学習装置100は、機械学習により予測モデルを生成し、予測モデルを用いてパプリカの収穫日および収穫数を予測するコンピュータである。機械学習装置100は、過年度(例えば、前年度)における個々の標本果実の着果日および収穫日を示す標本データを収集する。また、機械学習装置100は、センサ23によって測定された気温および日射量を示す気象データを収集する。機械学習装置100は、標本データおよび気象データを用いて、パプリカの着果から収穫までに要する所要日数を、着果から収穫までの間の気温および日射量から予測する予測モデルを生成する。
The
機械学習装置100は、標本栽培エリア21において今年度のパプリカの着果が観測されてから収穫時期になる前に、予測モデルを用いて所要日数を予測する。このとき、機械学習装置100は、気象データサーバ31から気象予報データを受信する。予測モデルの入力に対応する気温および日射量は、予測日以前の期間についてはセンサ23で測定されたものを使用し、予測日以降の期間については気象予報データのものを使用する。機械学習装置100は、標本果実の着果日および着果数と、予測モデルが出力する所要日数と、標本果実の割合(0.1%)から、パプリカの収穫日および収穫数を予測する。
The
なお、機械学習装置100は、クライアントコンピュータでもよいしサーバコンピュータでもよい。また、機械学習装置100は、農家が所有するコンピュータでもよいし、データセンタなど情報処理事業者が所有するコンピュータでもよい。機械学習装置100を農家が所有している場合、例えば、機械学習装置100は、広域データ通信ネットワークを介さずにセンサ23から気象データを受信し、農家のユーザから標本データの入力を受け付ける。機械学習装置100を農家が所有していない場合、例えば、機械学習装置100は、農家が所有する端末装置から、広域データ通信ネットワークを介して気象データおよび標本データを受信する。また、第2の実施の形態では、機械学習装置100が予測モデルの生成と予測モデルを用いた収穫予測の両方を行っているが、両者を異なるコンピュータが行うようにしてもよい。例えば、サーバコンピュータが予測モデルを生成し、クライアントコンピュータが予測モデルを用いて収穫予測を行ってもよい。
Note that the
図3は、機械学習装置のハードウェア例を示す図である。
機械学習装置100は、CPU101、RAM102、HDD103、画像インタフェース104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。上記ユニットはバスに接続されている。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。気象データサーバ31なども同様のハードウェアを有する。
FIG. 3 is a diagram illustrating a hardware example of a machine learning device;
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、機械学習装置100は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、CPU101が実行するプログラムやCPU101が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
The
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。なお、機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。
The
画像インタフェース104は、CPU101からの命令に従って、機械学習装置100に接続された表示装置111に画像を出力する。表示装置111として、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイ、プロジェクタなど、任意の種類の表示装置を使用することができる。また、機械学習装置100に、プリンタなど表示装置111以外の出力デバイスが接続されてもよい。
The
入力インタフェース105は、機械学習装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用することができる。また、機械学習装置100に複数種類の入力デバイスが接続されてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、半導体メモリなど、任意の種類の記録媒体を使用することができる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
The
通信インタフェース107は、ネットワーク30に接続され、気象データサーバ31など他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
The
次に、予測モデルを用いた収穫予測の方法について説明する。なお、第2の実施の形態では、着果の観測および収穫の管理は週単位で行うものとする。そこで、標本データの着果日および収穫日は1週間のうちの特定の曜日の日付である。また、予測モデルが出力する所要日数は週数を示し、予測収穫日は1週間のうちの特定の曜日の日付となる。 Next, a method of harvest prediction using a prediction model will be described. Note that in the second embodiment, observation of fruiting and management of harvest are performed on a weekly basis. Therefore, the date of bearing fruit and the date of harvest of the sample data are the dates of a specific day of the week. Moreover, the required number of days output by the prediction model indicates the number of weeks, and the predicted harvest date is the date of a specific day of the week.
図4は、収穫予測のデータフローの例を示す図である。
ある日に1以上の標本果実の着果が観測されると、標本データとして着果日211および標本着果数212が採取される。着果日211は農家が着果を観測した日であり、標本着果数212はその日に着果した標本果実の個数である。例えば、着果日211が10月23日であり、標本着果数212が5個である。
FIG. 4 is a diagram showing an example of a data flow for harvest prediction.
When one or more sample fruits are observed to bear on a certain day, a date of bearing of
すると、着果日211から収穫時期までの期間について、説明変数としてビニールハウス20の屋内の平均気温213および平均日射量214が算出される。平均気温213および平均日射量214は、それぞれ1時間毎の数値である。よって、説明変数は48次元のベクトルとなる。なお、第2の実施の形態では、説明変数として平均気温および平均日射量を使用しているが、累積気温や累積日射量など他の指標とすることも可能である。
Then, the
平均気温213および平均日射量214は以下のように算出される。着果日から予測日の前日までの期間については、センサ23により測定されたビニールハウス20の屋内の測定気温221および測定日射量222が使用される。予測日から収穫時期までの期間については、気象予報データの予報気温223および予報日射量224が使用される。
The
ただし、予報気温223および予報日射量224は、屋外の気温および日射量である。そこで、環境パラメータ227を用いて、予報気温223がビニールハウス20の屋内の予想気温225に変換され、予報日射量224がビニールハウス20の屋内の予想日射量226に変換される。環境パラメータ227は、屋外の気温と屋内の気温の関係、および、屋外の日射量と屋内の日射量の関係を示す。例えば、環境パラメータ227は、屋外の気温を屋内の気温に変換する一次式と、屋外の日射量を屋内の日射量に変換する一次式とを含む。環境パラメータ227は予め用意されている。環境パラメータ227は、ビニールハウス毎に個別に調整された個別パラメータであってもよいし、様々なビニールハウスに共通に適用される汎用パラメータであってもよい。
However, the
測定気温221および予想気温225が平均化されて平均気温213が算出され、測定日射量222および予想日射量226が平均化されて平均日射量214が算出される。すると、予め生成された予測モデル210に平均気温213および平均日射量214が入力され、予測モデル210から所要日数215が出力される。所要日数215は、着果から収穫までの日数の予測である。着果日211に所要日数215を加えることで、収穫日216が算出される。収穫日216は、着果日211に着果した果実の好適な収穫日の予測である。例えば、所要日数215が8週間であり、収穫日216が12月18日である。
また、標本着果数212から標本収穫数217が算出される。標本収穫数217は、着果日211に観測された標本果実のうち、収穫日216に収穫される標本果実の個数の予測である。ここでは、予測モデル210が所要日数215として所要日数の期待値を出力することを想定しているため、標本収穫数217は標本着果数212と同じである。例えば、標本収穫数217は5個である。ただし、後述するように、所要日数の確率分布を出力する予測モデルを生成することもできる。その場合、標本収穫数217は、所要日数毎の標本果実の個数を示す。所要日数毎の標本果実の個数は、標本着果数212に所要日数毎の確率を乗ずることで算出することができる。
Also, the
そして、標本収穫数217が収穫数218に変換される。収穫数218は、着果日211に着果したと予測される果実であって、収穫日216に収穫される果実の個数の予測である。着果日211に着果したと予測される果実には、観測された標本果実とそれ以外の果実とが含まれる。収穫数218は、標本収穫数217と標本割合219から算出される。標本割合219は、果実全体に対する標本果実の割合である。収穫数218は、標本収穫数217を標本割合219で割る、すなわち、標本収穫数217に標本割合219の逆数を乗ずることで算出できる。例えば、標本割合219が0.1%であり、収穫数218が500個÷0.1%=500個×1,000=5,000個である。
Then, the
このようにして、着果日211に着果した果実について、収穫日216に収穫数218の果実が収穫されると予測される。例えば、10月23日に着果した果実について、12月18日に5,000個の果実が収穫されると予測される。異なる着果日の予測を合算することで、全体の収穫日および収穫数を予測することが可能である。
In this way, it is predicted that 218 fruits will be harvested on the
ただし、パプリカは成長の個体差が大きいため、実際には着果日が同じでも収穫日にばらつきが生じる。このため、所要日数の期待値を出力する予測モデル210を使用すると、全体の収穫日および収穫数の予測が実情から乖離するおそれがある。
However, paprika has a large individual difference in growth, so even if the fruiting date is the same, the harvest date varies. Therefore, if the
図5は、期待値を出力する予測モデルの使用例を示す図である。
異なる着果日に標本着果数231,232,233が測定されたとする。標本着果数231は、10月23日に着果が観測された5個の標本果実を示す。標本着果数232は、10月30日に着果が観測された3個の標本果実を示す。標本着果数233は、11月6日に着果が観測された4個の標本果実を示す。
FIG. 5 is a diagram showing a usage example of a prediction model that outputs expected values.
Suppose that sample
標本着果数231,232,233それぞれに対して所要日数が予測される。ここでは、所要日数の期待値を出力する予測モデルを使用するものとする。すると、標本着果数231に対して、10月23日以降の平均気温および平均日射量から所要日数の期待値が算出される。標本着果数232に対して、10月30日以降の平均気温および平均日射量から所要日数の期待値が算出される。標本着果数233に対して、11月6日以降の平均気温および平均日射量から所要日数の期待値が算出される。異なる着果日に対しては異なる平均気温および平均日射量が使用されるため、異なる所要日数の期待値が算出され得る。ここでは、標本着果数231に対する所要日数が8週間、標本着果数232に対する所要日数が7週間、標本着果数233に対する所要日数が6週間である。
The required number of days is predicted for each of the sample
すると、標本収穫数234,235,236が予測される。標本収穫数234は、10月23日から8週間後の12月18日に収穫が予測される5個の標本果実を示す。標本収穫数235は、10月30日から7週間後の12月18日に収穫が予測される3個の標本果実を示す。標本収穫数236は、11月6日から6週間後の12月18日に収穫が予測される4個の標本果実を示す。標本収穫数234,235,236を合計すると、12月11日に0個の標本果実が収穫され、12月18日に12個の標本果実が収穫され、12月25日0個の標本果実が収穫されるという予測になる。
Then,
標本割合=0.1%を用いてこれらの標本収穫数を全体の収穫数に変換すると、収穫数237,238,239が予測される。収穫数237は、12月11日に収穫が予測される0個の果実を示す。収穫数238は、12月18日に収穫が予測される12,000個の果実を示す。収穫数239は、12月25日に収穫が予測される0個の果実を示す。このように、所要日数の期待値を出力する予測モデルを使用すると、特定の収穫日に収穫数が集中するという予測になることがある。しかし、実際には個体差により収穫日にばらつきが生じるため、収穫数237,238,239の信頼度は低い。そこで、所要日数の期待値ではなく所要日数の確率分布を出力する予測モデルを使用する。
Converting these sample yields to total yields using a sample fraction of 0.1% predicts yields of 237, 238, and 239.
図6は、確率分布を出力する予測モデルの使用例を示す図である。
標本着果数231,232,233それぞれに対して所要日数の確率分布が予測される。標本着果数231に対して、10月23日以降の平均気温および平均日射量から所要日数の確率分布が算出される。標本着果数232に対して、10月30日以降の平均気温および平均日射量から所要日数の確率分布が算出される。標本着果数233に対して、11月6日以降の平均気温および平均日射量から所要日数の確率分布が算出される。
FIG. 6 is a diagram showing a usage example of a prediction model that outputs a probability distribution.
Probability distributions of the number of required days are predicted for each of the number of
異なる着果日に対しては異なる平均気温および平均日射量が使用されるため、異なる所要日数の確率分布が算出され得る。ここでは、標本着果数231に対する確率分布は、7週間が30%、8週間が50%、9週間が20%である。標本着果数232に対する確率分布は、6週間が30%、7週間が50%、8週間が20%である。標本着果数233に対する確率分布は、5週間が30%、6週間が50%、7週間が20%である。
Since different average temperatures and average insolation are used for different fruiting days, probability distributions for different required days can be calculated. Here, the probability distribution with respect to the sample number of bearing
すると、10月23日の標本着果数231に対して標本収穫数241,242,243という分布が予測される。標本収穫数241は、12月11日に収穫が予測される5個×30%=1.5個の標本果実を示す。標本収穫数242は、12月18日に収穫が予測される5個×50%=1.5個の標本果実を示す。標本収穫数243は、12月25日に収穫が予測される5個×20%=1.0個の標本果実を示す。
Then, a distribution of 241, 242, and 243 sample harvests is predicted for the sample
同様にして、10月30日の標本着果数232に対して標本収穫数244,245,246という分布が予測される。標本収穫数244は、12月11日に収穫が予測される3個×30%=0.9個の標本果実を示す。標本収穫数245は、12月18日に収穫が予測される3個×50%=1.5個の標本果実を示す。標本収穫数246は、12月25日に収穫が予測される3個×20%=0.6個の標本果実を示す。
Similarly, a distribution of 244, 245, and 246 harvested specimens is predicted for 232 specimens set on October 30th. The
また、11月6日の標本着果数233に対して標本収穫数247,248,249という分布が予測される。標本収穫数247は、12月11日に収穫が予測される4個×30%=1.2個の標本果実を示す。標本収穫数248は、12月18日に収穫が予測される4個×50%=2.0個の標本果実を示す。標本収穫数249は、12月25日に収穫が予測される4個×20%=0.8個の標本果実を示す。
Also, a distribution of 247, 248, and 249 sample harvests is predicted for 233 sample fruit bearings on November 6th.
標本収穫数241,244,247を合計すると、12月11日に3.6個の標本果実が収穫されるという予測になる。標本収穫数242,246,248を合計すると、12月18日に6.0個の標本果実が収穫されるという予測になる。標本収穫数243,246,249を合計すると、12月25日に2.4個の標本果実が収穫されるという予測になる。標本割合=0.1%を用いてこれらの標本収穫数を全体の収穫数に変換すると、収穫数251,252,253が予測される。収穫数251は、12月11日に収穫が予測される3,600個の果実を示す。収穫数252は、12月18日に収穫が予測される6,000個の果実を示す。収穫数253は、12月25日に収穫が予測される2,400個の果実を示す。このように、確率分布を出力する予測モデルを使用することで、収穫日のばらつきを表現でき、収穫数251,252,253の信頼度が高くなる。
Summing up the sample harvest numbers of 241, 244, and 247 yields a prediction that 3.6 sample fruit will be harvested on December 11th. Summing the sample harvest numbers of 242, 246, and 248 yields a prediction that 6.0 sample fruit will be harvested on December 18th. Summing up the numbers of sample harvests of 243, 246, and 249, it is predicted that 2.4 sample fruits will be harvested on December 25th. Converting these sample yields to total yields using a sample proportion of 0.1% predicts yields of 251, 252, and 253.
ここで、所要日数の確率分布を出力する予測モデルを、どの様に学習すればよいかが問題となる。典型的な機械学習は、訓練データを用いて予測モデルの出力の誤差を評価し、誤差が小さくなるように予測モデルの係数を更新することを繰り返す。予測モデルには、GPモデル、重回帰モデル、ニューラルネットワークなど様々な機械学習モデルを使用できる。イテレーション回数が少ないうちは、予測モデルの出力の誤差が大きく訓練データに対するフィッティング精度が低い。イテレーション回数が多くなるほど、予測モデルの出力の誤差が小さくなり訓練データに対するフィッティング精度が高くなる。訓練データに対する誤差が十分に小さくなるまで上記を繰り返すことが多い。 Here, the problem is how to learn the prediction model that outputs the probability distribution of the required number of days. Typical machine learning repeatedly evaluates the error in the output of a prediction model using training data and updates the coefficients of the prediction model so as to reduce the error. Various machine learning models such as GP models, multiple regression models, and neural networks can be used as prediction models. While the number of iterations is small, the output error of the prediction model is large and the fitting accuracy to the training data is low. As the number of iterations increases, the output error of the prediction model decreases and the fitting accuracy to the training data increases. The above is often repeated until the error on the training data is small enough.
一方で、農作物の収穫予測の場合、個々の標本果実の観察および追跡は農家の負担が大きいため、標本果実は少数に限られており機械学習に使用できる訓練データは少量になる。また、パプリカは成長の個体差が大きいこともあり、これら少数の標本果実の所要日数は収穫果実全体の所要日数のばらつきを正確に表現しているわけではない。このため、訓練データに対する誤差が十分に小さくなるまでイテレーション回数を増やすと、予測モデルが訓練データに過度にフィッティングする過学習が発生しやすい。少量の訓練データから過学習された予測モデルは、分散が過度に小さい確率分布を出力する。その結果、予測モデルが出力する確率分布の信頼度が低下してしまう。 On the other hand, in the case of crop yield prediction, observation and tracking of individual fruit samples is a heavy burden on farmers, so the number of sample fruit is limited and the amount of training data that can be used for machine learning is small. In addition, since paprika has a large individual difference in growth, the number of days required for these small sample fruits does not accurately represent the variation in the number of days required for all harvested fruits. For this reason, if the number of iterations is increased until the error with respect to the training data becomes sufficiently small, overfitting, in which the prediction model excessively fits the training data, tends to occur. A predictive model that is overtrained from a small amount of training data will output a probability distribution with excessively small variance. As a result, the reliability of the probability distribution output by the prediction model is lowered.
図7は、学習不足の予測モデルの使用例を示す図である。
イテレーション回数が少ない初期段階の予測モデルを考える。学習不足の予測モデルが出力する確率分布は、所要日数を十分に絞り込めておらず分散が大きい。
FIG. 7 is a diagram illustrating a usage example of an under-learning prediction model.
Consider an early-stage predictive model with a small number of iterations. The probability distribution output by the insufficiently trained prediction model has a large variance because the number of required days is not sufficiently narrowed down.
10月23日の着果に対して、予測モデルは7週間が33%、8週間が33%、9週間が33%という確率分布を出力する。すると、標本着果数231が5個であるため、12月11日に1.7個、12月18日に1.7個、12月25日に1.7個という標本収穫数が予測される。同様に、10月30日の着果に対して、予測モデルは6週間が33%、7週間が33%、8週間が33%という確率分布を出力する。すると、標本着果数232が3個であるため、12月11日に1.0個、12月18日に1.0個、12月25日に1.0個という標本収穫数が予測される。11月6日の着果に対して、予測モデルは5週間が33%、6週間が33%、7週間が33%という確率分布を出力する。すると、標本着果数233が4個であるため、12月11日に1.3個、12月18日に1.3個、12月25日に1.3個という標本収穫数が予測される。
For October 23rd fruit set, the prediction model outputs a probability distribution of 33% for 7 weeks, 33% for 8 weeks, and 33% for 9 weeks. Then, since the number of
上記の標本収穫数を収穫日毎に合計すると、12月11日は4.0個、12月18日は4.0個、12月25日は4.0個と算出される。標本割合=0.1%を用いると、全体の収穫数254,255,256が予測される。収穫数254は、12月11日の収穫数として4,000個を示す。収穫数255は、12月18日の収穫数として4,000個を示す。収穫数255は、12月25日の収穫数として4,000個を示す。
Summing up the numbers of harvested specimens for each harvest date yields 4.0 on December 11th, 4.0 on December 18th, and 4.0 on December 25th. Using a sample proportion = 0.1%, we predict an overall yield of 254,255,256.
このように、学習不足の予測モデルを使用すると、確率分布の分散が過度に大きくなり所要日数が適切に絞り込まれない。その結果、予測される収穫数254,255,256が過度にばらつくことになり信頼度が低下してしまう。
In this way, if an under-trained prediction model is used, the variance of the probability distribution becomes excessively large, and the required number of days is not properly narrowed down. As a result, the predicted
図8は、過学習した予測モデルの使用例を示す図である。
イテレーション回数が多く過学習された予測モデルを考える。過学習された予測モデルが出力する確率分布は、訓練データが示す所要日数に適合し過ぎており分散が小さい。
FIG. 8 is a diagram showing an example of using an over-trained prediction model.
Consider an overtrained prediction model with many iterations. The probability distribution output by the over-learned prediction model is too well adapted to the required number of days indicated by the training data and has a small variance.
10月23日の着果に対して、予測モデルは7週間が0%、8週間が100%、9週間が0%という確率分布を出力する。すると、標本着果数231が5個であるため、12月11日に0個、12月18日に5個、12月25日に0個という標本収穫数が予測される。10月30日の着果に対して、予測モデルは6週間が0%、7週間が100%、8週間が0%という確率分布を出力する。すると、標本着果数232が3個であるため、12月11日に0個、12月18日に3個、12月25日に0個という標本収穫数が予測される。11月6日の着果に対して、予測モデルは5週間が0%、6週間が100%、7週間が0%という確率分布を出力する。すると、標本着果数233が4個であるため、12月11日に0個、12月18日に4個、12月25日に0個という標本収穫数が予測される。
For October 23rd fruit set, the prediction model outputs a probability distribution of 0% for 7 weeks, 100% for 8 weeks, and 0% for 9 weeks. Then, since the number of
上記の標本収穫数を収穫日毎に合計すると、12月11日は0個、12月18日は12個、12月25日は0個と算出される。標本割合=0.1%を用いると、全体の収穫数257,258,259が予測される。収穫数257は、12月11日の収穫数として0個を示す。収穫数258は、12月18日の収穫数として12,000個を示す。収穫数259は、12月25日の収穫数として0個を示す。
Summing up the numbers of harvested specimens for each harvest date yields 0 specimens on December 11th, 12 specimens on December 18th, and 0 specimens on December 25th. Using a sample proportion = 0.1%, we predict an overall yield of 257,258,259. The number of
上記の例では、収穫数257,258,259は、図5に示した収穫数237,238,239と同一になっている。すなわち、確率分布を出力する予測モデルを使用しても、過学習により分散が過度に小さくなってしまうと、結果的に期待値を出力する予測モデルに近い予測結果が得られることになり予測結果の信頼度が向上しない。
In the above example, the
予測モデルが出力する確率分布の分散は、機械学習のイテレーション回数の増加に応じて小さくなる。そのため、機械学習のイテレーションを適切な回数で停止することで、確率分布の分散を適切な大きさに誘導することができる。そこで、機械学習のイテレーションを何れのタイミングで停止すればよいかが問題となる。 The variance of the probability distribution output by the prediction model decreases as the number of machine learning iterations increases. Therefore, by stopping machine learning iterations at an appropriate number of times, it is possible to guide the variance of the probability distribution to an appropriate size. Therefore, the question arises as to when to stop machine learning iterations.
ここで、過年度のパプリカの栽培について、着果から収穫までの所要日数の実績を示す標本データは、少数の標本果実についてのみ収集される一方、収穫日毎の全体の収穫数の実績を示す総数データは、出荷管理のために農業機械などを用いて収集されている。そこで、機械学習装置100は、予測モデルの係数を更新するイテレーション毎に、そのときの予測モデルと訓練データと標本割合から過年度の全体の収穫数を予測し、予測と総数データが示す実績とを比較して、イテレーションを停止するタイミングを判定する。全体の収穫数は、訓練データに対して図6と同様の方法を適用することで予測できる。
Here, regarding paprika cultivation in past years, sample data indicating the actual number of days required from fruit setting to harvest is collected only for a small number of sample fruits, while total data indicating the total number of harvests for each harvest date is collected. are collected using agricultural machinery for shipping management. Therefore, the
予測モデルが出力する確率分布の分散が過度に大きい場合、全体の収穫数の予測は実績と類似しない可能性が高い。また、予測モデルが出力する確率分布の分散が過度に小さい場合も、全体の収穫数の予測は実績と類似しない可能性が高い。一方、予測モデルが出力する確率分布の分散が実際の収穫日のばらつきを反映して最適である場合、全体の収穫数の予測と実績との間の類似度が最大になる可能性が高い。そのため、機械学習装置100は、類似度が最大になったときの予測モデルを学習結果として採用する。
If the variance of the probability distribution output by the prediction model is excessively large, the prediction of the total number of harvests is likely to be dissimilar to the actual results. Also, when the variance of the probability distribution output by the prediction model is excessively small, there is a high possibility that the prediction of the total number of harvests will not resemble the actual results. On the other hand, when the variance of the probability distribution output by the prediction model is optimal reflecting the variation in the actual harvest dates, it is likely that the degree of similarity between the prediction of the total number of harvests and the actual number of harvests will be maximized. Therefore, the
図9は、機械学習の停止タイミング例を示す図である。
イテレーション回数の増加に応じて、特定の平均気温および平均日射量に対して予測モデルが出力する確率分布は、確率分布261,262,263のように変化する。
FIG. 9 is a diagram illustrating an example of stop timing of machine learning.
As the number of iterations increases, the probability distributions output by the prediction model for a specific average temperature and average solar radiation amount change as shown in
確率分布261は、学習不足の予測モデルから出力されるものであり、図7の予測モデルに対応する。すなわち、確率分布261の分散は過度に大きい。確率分布262は、最適な予測モデルから出力されたものであり、図6の予測モデルに対応する。すなわち、確率分布262の分散はパプリカの収穫日のばらつきを反映して最適である。確率分布263は、過学習された予測モデルから出力されたものであり、図8の予測モデルに対応する。すなわち、確率分布263の分散は過度に小さい。
A
機械学習装置100は、予測モデルが確率分布261を出力するとき、訓練データから図7と同様の方法で収穫数分布264を予測する。収穫数分布264は、収穫日毎の全体の収穫数の予測を示す。収穫数分布264は、収穫数254,255,256に相当する。すなわち、機械学習装置100は、訓練データのレコード毎に、平均気温および平均日射量を予測モデルに入力して収穫数の確率分布を算出し、確率分布に標本着果数を乗じて収穫日毎の標本収穫数を算出する。機械学習装置100は、訓練データのレコード毎の予測を合計し、標本割合の逆数を乗じて収穫日毎の収穫数を算出する。
When the prediction model outputs the
収穫数分布264が予測されると、機械学習装置100は、収穫数分布264と収穫数分布267とを比較して誤差(総数誤差)を算出する。収穫数分布267は、訓練データと同じ年度の収穫状況であって、収穫日毎の全体の収穫数の実績を示す。収穫数分布267は、12月11の収穫数が3,700個、12月18日の収穫数が5,800個、12月25日の収穫数が2,500個であることを示す。総数誤差の指標として、例えば、残差平方和を用いる。残差平方和は、収穫日毎に予測と実績の間で収穫数の差の二乗を算出し、差の二乗を合計した数値である。収穫数分布264と収穫数分布267の残差平方和は、5,580,000である。よって、総数誤差は大きい。
When the
次に、機械学習装置100は、予測モデルが確率分布262を出力するとき、訓練データから図6と同様の方法で収穫数分布265を予測する。収穫数分布265は、収穫数251,252,253に相当する。収穫数分布265が予測されると、機械学習装置100は、収穫数分布265と収穫数分布267とを比較して総数誤差を算出する。収穫数分布265と収穫数分布267の残差平方和は、60,000である。よって、総数誤差は予測モデルが確率分布261を出力するときよりも小さい。
Next, when the prediction model outputs the
次に、機械学習装置100は、予測モデルが確率分布263を出力するとき、訓練データから図8と同様の方法で収穫数分布266を予測する。収穫数分布266は、収穫数257,258,259に相当する。収穫数分布266が予測されると、機械学習装置100は、収穫数分布266と収穫数分布267とを比較して総数誤差を算出する。収穫数分布266と収穫数分布267の残差平方和は、58,380,000である。よって、総数誤差は予測モデルが確率分布262を出力するときよりも大きい。
Next, when the prediction model outputs the
このようにして、機械学習装置100は、予測モデルが確率分布262を出力するときに総数誤差が最小になった、すなわち、類似度が最大になったことを検出する。すると、機械学習装置100は、機械学習のイテレーションを停止し、確率分布262を出力する予測モデルを学習結果として出力する。
In this way, the
図10は、機械学習のデータフローの例を示す図である。
予測モデル270の生成に使用する訓練データは、着果日の異なる複数のレコードを含む。訓練データの各レコードは、着果日271、標本着果数272、標本日数分布273、平均気温277および平均日射量278を含む。標本日数分布273は、所要日数毎の標本収穫数を示す。標本日数分布273は、個数で表現されていてもよいし、個数を標本着果数272で割った確率で表現されていてもよい。例えば、標本日数分布273は、7週間が40%、8週間が60%、9週間が0%であることを示す。
FIG. 10 is a diagram illustrating an example of a machine learning data flow.
The training data used to generate the
平均気温277は、1時間毎の屋内の気温であって着果日271から収穫日までの期間で平均化したものである。平均日射量278は、1時間毎の屋内の日射量であって着果日271から収穫日までの期間で平均化したものである。よって、平均気温277および平均日射量278はそれぞれ24次元のベクトルであり、合わせて48次元のベクトルになる。平均気温277は、センサ23によって測定された測定気温275から算出される。平均日射量278は、センサ23によって測定された測定日射量276から算出される。訓練データは過年度の標本果実を示しているため、着果日271から収穫日までの測定気温275および測定日射量276は既知であり、気象予報データは使用しなくてよい。
The
また、訓練データとは別に収穫数274を示す総数データが予め用意される。収穫数274は、収穫日毎の収穫数の実績である。例えば、収穫数274は、12月11日に3,700個の果実が収穫され、12月18日に5,800個の果実が収穫され、12月25日に2,500個の果実が収穫されたことを示す。
In addition to the training data, total data indicating the number of
機械学習が開始されると、予測モデル270の係数が初期化される。訓練データのレコード毎に、予測モデル270に平均気温277および平均日射量278が入力され、予測モデル270から所要日数分布281が出力される。所要日数分布281は、所要日数毎の収穫確率の予測を示す。例えば、所要日数分布281は、7週間が33%、8週間が33%、9週間が33%であることを示す。訓練データのレコード毎に、所要日数分布281と標本日数分布273が比較されて誤差が算出される。そして、訓練データのレコード毎の誤差が合算されて、訓練データ全体に対するモデル誤差282が算出される。
When machine learning starts, the coefficients of
訓練データのレコード毎の誤差には、例えば、残差平方和を用いる。この残差平方和は、所要日数毎に所要日数分布281の値と標本日数分布273の値の差を二乗し、複数の所要日数について差の二乗を合計した指標である。所要日数分布281と標本日数分布273の比較は、33%と40%の比較など確率同士の比較として行ってもよい。また、所要日数分布281と標本日数分布273の比較は、確率に標本着果数272を乗ずることで、1.7個と2個の比較など個数同士の比較として行ってもよい。
For the error for each record of training data, for example, residual sum of squares is used. This residual sum of squares is an index obtained by squaring the difference between the value of the distribution of required
モデル誤差282が算出されると、モデル誤差282が小さくなるように予測モデル270の係数が更新される。予測モデル270の係数を更新する際には、1つ前の係数を退避しておく。以上の予測モデル270の更新からモデル誤差282の算出までが1回のイテレーションである。下記の停止判定によってイテレーションの停止が決定されるまで予測モデル270の更新が繰り返される。停止判定はイテレーション毎に実行される。停止判定は、予測モデル270が所要日数分布281を出力してから予測モデル270が次に更新されるまでの間に、イテレーションを中断して実行してもよい。また、上記のイテレーションと並列に停止判定を実行してもよい。異なるプロセッサまたはプロセッサコアを用いて、イテレーションと停止判定を並列実行してもよい。
After the
所要日数分布281が算出されると、訓練データのレコード毎に、収穫確率に標本着果数272を乗じて標本収穫数283が算出される。標本収穫数283は、所要日数毎の標本果実の収穫数の予測を示す。例えば、標本収穫数283は、5個の標本果実のうち、7週間が1.7個、8週間が1.7個、9週間が1.7個であることを示す。
After the required number of
訓練データのレコード毎の標本収穫数283の所要日数が、着果日271に基づいて、収穫日が揃うようにシフトされる。例えば、10月23日の7週間後は10月30日の6週間後に相当するため、着果日271が10月30日であるレコードに対応する標本収穫数283は、着果日271が10月23日であるレコードに対応する標本収穫数283に対して1週間後ろにシフトされる。訓練データの複数のレコードについて、収穫日が揃った標本収穫数283が収穫日毎に合算される。
The number of days required for the
そして、合算された標本収穫数に標本割合284の逆数を乗じて(標本割合284で割って)収穫数285が算出される。例えば、合算された標本収穫数が1,000倍される。収穫数285は、収穫日毎の果実全体の収穫数の予測を示す。例えば、収穫数285は、12月11日に4,000個の果実が収穫され、12月18日に4,000個の果実が収穫され、12月25日に4,000個の果実が収穫されるという予測を示す。
Then, the harvested
収穫数285が算出されると、収穫数285と収穫数274とが比較されて総数誤差286が算出される。総数誤差286には、例えば、残差平方和を用いる。そして、前回のイテレーションの総数誤差286と今回のイテレーションの総数誤差286とが比較される。今回の総数誤差286が前回の総数誤差286以下であれば、イテレーションの継続が決定される。この場合、モデル誤差282に応じて予測モデル270が更新される。
After the harvested
一方、今回の総数誤差286が前回の総数誤差286より大きければ、イテレーションの停止が決定される。この場合、予測モデル270は更新されない。最適な予測モデル270の係数は前回のイテレーションの係数であるため、退避しておいた予測モデル270の係数が読み出され、学習結果として出力される。すなわち、収穫数274と収穫数285の類似度が最大になり、総数誤差286が最小になったことが検出される。ここでは、最適な予測モデル270の係数に到達する前は総数誤差286が単調に減少し、最適な予測モデル270の係数に到達した後は総数誤差286が単調に増加すると仮定している。
On the other hand, if the current
次に、機械学習装置100の機能について説明する。
図11は、機械学習装置の機能例を示すブロック図である。
機械学習装置100は、気象データ記憶部121、標本データ記憶部122、総数データ記憶部123、予測モデル記憶部124、データ収集部125、データ加工部126、機械学習部127、イテレーション制御部128および収穫予測部129を有する。気象データ記憶部121、標本データ記憶部122、総数データ記憶部123および予測モデル記憶部124は、例えば、RAM102またはHDD103の記憶領域を用いて実現される。データ収集部125、データ加工部126、機械学習部127、イテレーション制御部128および収穫予測部129は、例えば、プログラムを用いて実現される。
Next, functions of the
FIG. 11 is a block diagram illustrating an example of functions of the machine learning device.
気象データ記憶部121は、過年度の着果日から収穫日までの気象データと、今年度の着果日から予測日の前日までの気象データを記憶する。気象データは、センサ23によって測定された測定気温および測定日射量を含む。また、気象データ記憶部121は、今年度の予測日以降の気象予報データを記憶する。気象予報データは、気象データサーバ31から収集される。気象予報データは、屋外の予報気温および予報日射量を含む。また、気象データ記憶部121は、屋外の予報気温および予報日射量を、屋内の予想気温および予想日射量に変換するための環境パラメータを記憶する。
The meteorological
標本データ記憶部122は、過年度の標本果実毎の着果日および収穫日を示す標本データと、今年度の標本果実毎の着果日を示す標本データを記憶する。また、標本データ記憶部122は、全体の果実に対する標本果実の割合である標本割合を記憶する。
The sample
総数データ記憶部123は、過年度の収穫日毎の収穫数を示す総数データを記憶する。
予測モデル記憶部124は、学習結果としての予測モデルを記憶する。
データ収集部125は、気象データ記憶部121、標本データ記憶部122および総数データ記憶部123に記憶される各種のデータを収集する。データの収集方法として、データ収集部125は、ユーザからデータの入力を受け付けることがある。また、データ収集部125は、他の情報処理装置からデータを受信することがある。
The total number
The prediction
The
データ加工部126は、気象データ記憶部121に記憶された過年度の気象データと、標本データ記憶部122に記憶された過年度の標本データを加工して、着果日が異なる複数のレコードを含む訓練データを生成する。具体的には、データ加工部126は、過年度の標本データから着果日を抽出し、着果日毎に標本着果数をカウントし、着果日毎に着果日と収穫日の差から標本日数分布を算出する。また、データ加工部126は、過年度の気象データから、着果日毎に着果日から収穫日までの測定気温および測定日射量を抽出し、1時間毎の平均気温および平均日射量を算出する。
The
また、データ加工部126は、気象データ記憶部121に記憶された今年度の気象データおよび気象予報データと、標本データ記憶部122に記憶された今年度の標本データを加工して、収穫予測用の入力データを生成する。具体的には、データ加工部126は、今年度の標本データから着果日を抽出し、着果日毎に標本着果数をカウントする。また、データ加工部126は、今年度の気象データから、着果日毎に着果日から予測日の前日までの測定気温および測定日射量を抽出する。データ加工部126は、気象予報データから、予測日から収穫時期までの予報気温および予報日射量を抽出し、気象データ記憶部121に記憶された環境パラメータを用いて、屋内の予想気温および予想日射量に変換する。そして、データ加工部126は、着果日毎に着果日から収穫時期までの通算の1時間毎の平均気温および平均日射量を算出する。
In addition, the
データ加工部126は、訓練データを機械学習部127に提供する。また、データ加工部126は、総数データ記憶部123に記憶された総数データをイテレーション制御部128に提供する。データ加工部126は、入力データを収穫予測部129に提供する。
The
機械学習部127は、異なる着果日についての複数のレコードを含む訓練データを用いて機械学習を行う。使用する機械学習アルゴリズムは予め指定されている。生成される予測モデルは、着果から収穫までの所要日数の確率分布を出力する。機械学習部127は、予測モデルの係数を更新して訓練データに対するモデル誤差を算出することを繰り返す。機械学習部127は、イテレーション制御部128からイテレーションの停止が指示されると、1つ前の予測モデルを予測モデル記憶部124に出力する。
The
イテレーション制御部128は、機械学習部127が予測モデルを更新する毎に、予測モデルが出力する所要日数分布と標本着果数と標本割合から、過年度の収穫日毎の全体の収穫数を予測し、総数データが示す実績と比較する。イテレーション制御部128は、全体の収穫数の予測と実績の間の総数誤差を算出し、総数誤差が前回より増えている場合、イテレーションを停止するよう機械学習部127に指示する。
Each time the
収穫予測部129は、予測モデル記憶部124に記憶された予測モデルとデータ加工部126から提供される入力データに基づいて、今年度の収穫日毎の収穫数を予測する。具体的には、収穫予測部129は、今年度の平均気温および平均日射量を予測モデルに入力し、着果日毎の所要日数分布を予測する。収穫予測部129は、着果日に所要日数を加えて収穫日を算出すると共に、所要日数分布が示す確率に標本着果数を乗じて標本収穫数を算出し、標本割合の逆数を乗じて収穫数に変換する。収穫予測部129は、異なる着果日の収穫数を収穫日毎に合算し、収穫日毎の全体の収穫数を予測する。
The
収穫予測部129は、収穫日毎の全体の収穫数の予測結果を出力する。例えば、収穫予測部129は、表示装置111に予測結果を表示する。また、例えば、収穫予測部129は、HDD103などの不揮発性ストレージに予測結果を保存する。また、例えば、収穫予測部129は、プリンタなどの他の出力デバイスに予測結果を出力する。また、例えば、収穫予測部129は、他の情報処理装置に予測結果を送信する。
The
図12は、気象データと標本データと総数データのテーブル例を示す図である。
気象データテーブル131は、気象データ記憶部121に記憶される。気象データテーブル131は、過年度の気象データを含む。今年度の気象データや気象予報データも、気象データテーブル131と同様のテーブルで管理することが可能である。気象データテーブル131は、日時、気温および日射量の項目を含む。日時は、1時間刻みである。気温は、気温の1時間の平均である。気温の単位は、例えば、℃である。日射量は、瞬間日射量の1時間の平均である。日射量の単位は、例えば、kW/m2である。
FIG. 12 is a diagram showing a table example of weather data, sample data, and total number data.
The weather data table 131 is stored in the weather
標本データテーブル132は、標本データ記憶部122に記憶される。標本データテーブル132は、過年度の標本データを含む。今年度の標本データも、標本データテーブル132と同様のテーブルで管理することが可能である。ただし、今年度の標本データについては収穫日は登録されない。標本データテーブル132は、品種、果実番号、着果日および収穫日の項目を含む。品種は、パプリカの品種であり、果実の色が異なる赤品種と黄品種と橙品種を含む。収穫予測は品種毎に行われる。果実番号は、標本果実を個々に識別する識別番号である。同じ品種の中で一意な果実番号が標本果実に付与される。着果日は、標本果実の着果が観測された日である。収穫日は、標本果実を収穫した日である。ただし、データ管理の都合上、着果日および収穫日は1週間の中の特定の曜日の日付である。
A sample data table 132 is stored in the sample
総数データテーブル133は、総数データ記憶部123に記憶される。総数データテーブル133は、過年度の総数データを含む。総数データテーブル133は、収穫日、赤個数、黄個数および橙個数の項目を含む。収穫日は、果実を収穫した日である。ただし、データ管理の都合上、収穫日は1週間の中の特定の曜日の日付である。赤個数は、赤品種の収穫数である。黄個数は、黄品種の収穫数である。橙個数は、橙品種の収穫数である。
The total data table 133 is stored in the total
図13は、訓練データテーブルの例を示す図である。
訓練データテーブル134は、気象データテーブル131および標本データテーブル132に基づいて生成され、機械学習に使用される。訓練データテーブル134は、着果日、標本着果数、目的変数および説明変数の項目を含む。着果日は、標本データテーブル132に出現する着果日である。標本着果数は、標本データテーブル132に登録された標本果実のうち着果日が同じ標本果実の個数である。
FIG. 13 is a diagram showing an example of a training data table.
A training data table 134 is generated based on the weather data table 131 and the sample data table 132 and used for machine learning. The training data table 134 includes items of fruit bearing date, sample fruit bearing number, objective variable, and explanatory variable. The date of bearing fruit is the date of bearing fruit that appears in the sample data table 132 . The number of fruit bearing samples is the number of fruit samples registered in the sample data table 132 that have the same fruit bearing date.
目的変数は、標本日数分布である。標本日数分布は、6週間が0個、7週間が2個、8週間が3個のように、所要日数毎の標本果実の個数である。所要日数は、標本データテーブル132の着果日と収穫日の差である。所要日数毎の標本果実は、標本データテーブル132に登録された標本果実のうち所要日数が同じ標本果実である。所要日数毎の標本果実の個数の合計は、標本着果数に一致する。 The target variable is the sample day distribution. The sample day distribution is the number of sample fruits for each required number of days, such as 0 for 6 weeks, 2 for 7 weeks, and 3 for 8 weeks. The required number of days is the difference between the date of bearing fruit and the date of harvest in the sample data table 132 . The sample fruit for each required number of days is the sample fruit registered in the sample data table 132 that has the same required number of days. The total number of sample fruit set for each required number of days matches the number of sample fruit set.
説明変数は、1時間毎の平均気温および1時間毎の平均日射量を含む。1時間毎の平均気温は、着果日から収穫日までの各日付の気温を気象データテーブル131から抽出し、0時、1時、2時、…のように時刻で分類して平均化することで算出される。1時間毎の平均日射量は、着果日から収穫日までの各日付の日射量を気象データテーブル131から抽出し、0時、1時、2時、…のように時刻で分類して平均化することで算出される。なお、ある着果日に対応する収穫日は、標本日数分布で1以上の標本果実が収穫された収穫日のうち、最後の収穫日でもよいし最初の収穫日でもよいし中心の収穫日でもよい。 Explanatory variables include hourly average temperature and hourly average solar radiation. The hourly average temperature is obtained by extracting the temperature of each date from the date of fruiting to the date of harvest from the weather data table 131, classifying them by time such as 0:00, 1:00, 2:00, . . . and averaging them. It is calculated by The average amount of solar radiation for each hour is obtained by extracting the amount of solar radiation on each date from the date of fruiting to the date of harvest from the weather data table 131, classifying it by time such as 0:00, 1:00, 2:00, . . . It is calculated by converting The harvest date corresponding to a certain fruit-bearing date may be the last harvest date, the first harvest date, or the central harvest date among the harvest dates on which one or more sample fruits are harvested in the sample date distribution. good.
次に、機械学習装置100の処理手順について説明する。
図14は、機械学習の手順例を示すフローチャートである。
(S10)データ収集部125は、気象データと標本データと総数データを収集する。機械学習は品種毎に行う。ただし、品種を予測モデルの説明変数に加えてもよい。
Next, a processing procedure of the
FIG. 14 is a flowchart illustrating an example of machine learning procedures.
(S10) The
(S11)データ加工部126は、標本データから着果日を抽出し、標本果実を着果日で分類する。データ加工部126は、着果日毎に標本果実をカウントして訓練データの標本着果数とする。また、データ加工部126は、着果日と収穫日の差である所要日数を算出し、各所要日数の標本果実をカウントして訓練データの標本日数分布とする。
(S11) The
(S12)データ加工部126は、着果日毎に気象データから、着果日から収穫日までの気温および日射量を抽出する。データ加工部126は、抽出した気温を時刻で分類し、各時刻の気温の平均を訓練データの平均気温とする。また、データ加工部126は、抽出した日射量を時刻で分類し、各時刻の日射量の平均を訓練データの平均日射量とする。
(S12) The
(S13)機械学習部127は、予測モデルの係数を初期化する。
(S14)機械学習部127は、訓練データのレコードを1つ選択する。
(S15)機械学習部127は、平均気温および平均日射量を示す48次元の説明変数のデータを予測モデルに入力し、予測モデルから目的変数のデータを読み出すことで所要日数分布を予測する。所要日数分布は、所要日数毎の確率を示す。
(S13) The
(S14) The
(S15) The
(S16)機械学習部127は、ステップS14で訓練データの全てのレコードを選択したか判断する。全てのレコードを選択した場合はステップS17に進み、訓練データに未選択のレコードがある場合はステップS14に戻る。
(S16) The
(S17)機械学習部127は、訓練データのレコード毎に、ステップS15で予測された所要日数分布と標本日数分布とを比較して誤差を算出する。誤差は、例えば、残差平方和である。機械学習部127は、訓練データ全体に対するモデル誤差を算出する。例えば、モデル誤差は、訓練データのレコード毎の誤差の合計である。
(S17) The
図15は、機械学習の手順例を示すフローチャート(続き)である。
(S18)イテレーション制御部128は、訓練データのレコードを1つ選択する。
(S19)イテレーション制御部128は、ステップS15で機械学習部127が算出した所要日数分布の確率に標本着果数を乗じて、所要日数毎の標本収穫数を予測する。
FIG. 15 is a flowchart (continued) showing a procedure example of machine learning.
(S18) The
(S19) The
(S20)イテレーション制御部128は、ステップS18で訓練データの全てのレコードを選択したか判断する。全てのレコードを選択した場合はステップS21に進み、訓練データに未選択のレコードがある場合はステップS18に戻る。
(S20) The
(S21)イテレーション制御部128は、異なる着果日の標本収穫数を、収穫日が揃うように着果日に応じてずらし、収穫日毎に標本収穫数を集計する。
(S22)イテレーション制御部128は、収穫日毎の合計の標本収穫数に標本割合の逆数を乗じて、収穫日毎の全体の収穫数を予測する。
(S21) The
(S22) The
(S23)イテレーション制御部128は、総数データが示す収穫日毎の収穫数の実績とステップS22で算出した収穫日毎の収穫数の予測とを比較し、総数誤差を算出する。総数誤差は、例えば、残差平方和である。
(S23) The
(S24)イテレーション制御部128は、ステップS14~S17でモデル誤差を評価するイテレーションが2回目以降であるか判断する。イテレーションが2回目以降の場合はステップS25に進み、1回目である場合はステップS26に進む。
(S24) The
(S25)イテレーション制御部128は、今回の総数誤差が前回の総数誤差より大きいか判断する。今回の総数誤差が前回の総数誤差より大きい場合はステップS26に進み、今回の総数誤差が前回の総数誤差以下である場合はステップS27に進む。
(S25) The
(S26)イテレーション制御部128は、機械学習部127にイテレーション継続を指示する。機械学習部127は、現在の予測モデルの係数を退避し、ステップS17で算出したモデル誤差が小さくなるように係数を更新する。そして、ステップS14に戻る。
(S26) The
(S27)イテレーション制御部128は、退避してある予測モデルの係数を読み出し、1つ前のイテレーションで使用した予測モデルを予測モデル記憶部124に出力する。
図16は、収穫予測の手順例を示すフローチャートである。
(S27) The
FIG. 16 is a flow chart showing an example of a harvest prediction procedure.
(S30)データ収集部125は、今年度の気象データと標本データを収集する。また、データ収集部125は、予測日以降の気象予報データを収集する。
(S31)データ加工部126は、標本データから着果日を抽出し、標本果実を着果日で分類する。データ加工部126は、着果日毎に標本着果数をカウントする。
(S30) The
(S31) The
(S32)データ加工部126は、気象予報データから、予測日から収穫時期までの予報気温および予報日射量を抽出する。データ加工部126は、環境パラメータを用いて、予報気温および予報日射量を屋内の予想気温および予想日射量に変換する。
(S32) The
(S33)データ加工部126は、着果日毎に気象データから、着果日から予測日の前日までの測定気温および測定日射量を抽出する。データ加工部126は、測定気温および予想気温を時刻で分類し、各時刻の平均気温を算出する。また、データ加工部126は、測定日射量および予想日射量を時刻で分類し、各時刻の平均日射量を算出する。
(S33) The
(S34)収穫予測部129は、着果日を1つ選択する。
(S35)収穫予測部129は、選択した着果日に対応する平均気温および平均日射量を予測モデルに入力し、所要日数分布を予測する。
(S34) The
(S35) The
(S36)収穫予測部129は、選択した着果日に対応する標本着果数を、所要日数分布が示す確率に乗じて、所要日数毎の標本収穫数に変換する。
(S37)収穫予測部129は、ステップS34で、標本データに出現する全ての着果日を選択したか判断する。全ての着果日を選択した場合はステップS38に進み、未選択の着果日がある場合はステップS34に戻る。
(S36) The
(S37) The
(S38)収穫予測部129は、異なる着果日の標本収穫数を、収穫日が揃うように着果日に応じてずらし、収穫日毎に標本収穫数を集計する。
(S39)収穫予測部129は、収穫日毎の合計の標本収穫数に標本割合の逆数を乗じて、収穫日毎の全体の収穫数を予測する。
(S38) The
(S39) The
(S40)収穫予測部129は、収穫日毎の収穫数を示す予測結果を出力する。例えば、収穫予測部129は、予測結果を表示装置111に表示する。
第2の実施の形態の情報処理システムによれば、過年度の着果から収穫までの所要日数とその期間の平均気温および平均日射量とを対応付けた訓練データを用いて、平均気温および平均日射量から所要日数を予測する予測モデルが学習される。そして、学習された予測モデルと今年度の着果状況から、今年度の収穫日および収穫数が予測される。よって、パプリカの収穫前に農家の運営にとって有用な情報を提供することができる。
(S40) The
According to the information processing system of the second embodiment, using training data that associates the number of days required from fruit setting to harvest in the past year with the average temperature and average solar radiation during that period, the average temperature and average solar radiation A prediction model is learned that predicts the number of days required from the quantity. Then, the harvest date and number of harvests for the current year are predicted from the learned prediction model and the fruiting situation for the current year. Therefore, it is possible to provide useful information for farm management before the paprika is harvested.
また、予測モデルは所要日数の期待値ではなく所要日数の確率分布を出力するよう学習される。よって、同じ育成環境のもとで育てても成長速度が大きく異なるというパプリカの個体差の性質を考慮して、収穫日のばらつきを予測することが可能となる。また、学習途中の予測モデルを用いて訓練データから予測される全体収穫数と過年度の実際の全体収穫数とが比較され、総数誤差が最小になったことが検出されると機械学習のイテレーションが停止され、総数誤差が最小になったときの予測モデルが出力される。よって、過学習により予測モデルが過度に分散の小さい確率分布を出力するようになることを抑制でき、予測モデルの予測精度を向上させることができる。また、少ない標本データからであっても、収穫日のばらつきを適切に反映した予測モデルが生成される。よって、標本果実を観測して標本データを採取する農家の負担を軽減できる。 Also, the prediction model is trained to output the probability distribution of the number of required days instead of the expected value of the number of required days. Therefore, it is possible to predict the variation in harvest dates, taking into consideration the individual differences in paprika that the growth rate varies greatly even when grown under the same growing environment. In addition, using the prediction model in the middle of learning, the total number of harvests predicted from the training data and the actual total number of harvests in the past year are compared, and when it is detected that the total error is minimized, the machine learning iteration is started. It is stopped and the prediction model when the total error is minimized is output. Therefore, it is possible to prevent the prediction model from outputting a probability distribution with excessively small variance due to over-learning, and it is possible to improve the prediction accuracy of the prediction model. Moreover, even from a small amount of sample data, a prediction model that appropriately reflects variations in harvest dates is generated. Therefore, it is possible to reduce the burden on the farmer who observes the sample fruit and collects the sample data.
10 機械学習装置
11 記憶部
12 処理部
13 訓練データ
14 総数データ
15 学習処理
16 予測モデル
17 予測分布
REFERENCE SIGNS
Claims (7)
それぞれ標本農作物の育成環境の情報と所定の状態が観測された基準日から当該標本農作物の収穫日までの所要日数とを対応付けた複数のレコードを含む訓練データと、前記複数のレコードが示す複数の標本農作物および他の農作物を含む農作物集合について収穫日に対する収穫数の実績分布を示す総数データとを取得し、
育成環境の情報から所要日数の確率分布を算出する予測モデルを生成し、前記訓練データを用いて、前記予測モデルにより算出される前記確率分布の誤差を評価して前記予測モデルを更新することを繰り返す学習処理を開始し、
前記学習処理の途中において、前記複数のレコードが示す育成環境の情報から前記予測モデルにより算出される複数の確率分布を合成して、収穫日に対する収穫数の予測分布を算出し、前記予測分布と前記総数データが示す前記実績分布との間の類似度に基づいて、前記学習処理の停止タイミングを判定する、
処理を実行させる機械学習プログラム。 to the computer,
training data each including a plurality of records in which information on the growing environment of the sample crop and the required number of days from the reference date when a predetermined state was observed to the harvest date of the sample crop are associated; and a plurality of records indicated by the plurality of records Obtain total data showing the actual distribution of the number of harvests for the harvest date for the crop set including the sample crops and other crops,
Generating a prediction model for calculating the probability distribution of the required number of days from information on the training environment, and using the training data to evaluate the error of the probability distribution calculated by the prediction model and updating the prediction model. start the iterative learning process,
In the middle of the learning process, a plurality of probability distributions calculated by the prediction model are synthesized from the information of the growing environment indicated by the plurality of records to calculate a predicted distribution of the number of harvests for the harvest date, and the predicted distribution is calculated. Determining when to stop the learning process based on the similarity between the actual distribution indicated by the total data,
A machine learning program that makes you do things.
前記基準日は、着果が観測された着果日であり、
前記標本農作物の育成環境の情報は、当該標本農作物の着果日から収穫日までの間の気温および日射量を含む、
請求項1記載の機械学習プログラム。 each of the sample crop and the other crop is a fruit;
The reference date is a date on which fruiting was observed,
The information on the growing environment of the sample crop includes the temperature and the amount of solar radiation from the date of fruiting to the date of harvest of the sample crop.
The machine learning program according to claim 1.
請求項1または2記載の機械学習プログラム。 In determining the stop timing, the similarity is evaluated each time the prediction model is updated, and when a peak of the similarity is detected, the learning process is stopped, and the learning process corresponding to the peak of the similarity is detected. Output the prediction model as a learning result,
3. The machine learning program according to claim 1 or 2.
前記停止タイミングの判定では、前記複数のレコードに対応する前記複数の確率分布を前記基準日に基づいて合成して、前記複数の標本農作物について収穫日に対する収穫数の標本予測分布を算出し、前記農作物集合に対する前記複数の標本農作物の標本割合と前記標本予測分布とから、前記農作物集合について前記予測分布を算出する、
請求項1乃至3の何れか一項に記載の機械学習プログラム。 each of the plurality of records includes the reference date;
In determining the stop timing, combining the plurality of probability distributions corresponding to the plurality of records based on the reference date to calculate a sample prediction distribution of the number of harvests for the harvest date for the plurality of sample crops; calculating the predicted distribution for the crop set from the sample ratio of the plurality of sample crops to the crop set and the sample predicted distribution;
The machine learning program according to any one of claims 1 to 3.
請求項1乃至4の何れか一項に記載の機械学習プログラム。 In the determination of the stop timing, the learning process is stopped when the similarity indicates that the similarity is equal to or greater than a predetermined standard.
The machine learning program according to any one of claims 1 to 4.
それぞれ標本農作物の育成環境の情報と所定の状態が観測された基準日から当該標本農作物の収穫日までの所要日数とを対応付けた複数のレコードを含む訓練データと、前記複数のレコードが示す複数の標本農作物および他の農作物を含む農作物集合について収穫日に対する収穫数の実績分布を示す総数データとを取得し、
育成環境の情報から所要日数の確率分布を算出する予測モデルを生成し、前記訓練データを用いて、前記予測モデルにより算出される前記確率分布の誤差を評価して前記予測モデルを更新することを繰り返す学習処理を開始し、
前記学習処理の途中において、前記複数のレコードが示す育成環境の情報から前記予測モデルにより算出される複数の確率分布を合成して、収穫日に対する収穫数の予測分布を算出し、前記予測分布と前記総数データが示す前記実績分布との間の類似度に基づいて、前記学習処理の停止タイミングを判定する、
機械学習方法。 the computer
training data each including a plurality of records in which information on the growing environment of the sample crop and the required number of days from the reference date when a predetermined state was observed to the harvest date of the sample crop are associated; and a plurality of records indicated by the plurality of records Obtain total data showing the actual distribution of the number of harvests for the harvest date for the crop set including the sample crops and other crops,
Generating a prediction model for calculating the probability distribution of the required number of days from information on the training environment, and using the training data to evaluate the error of the probability distribution calculated by the prediction model and updating the prediction model. start the iterative learning process,
In the middle of the learning process, a plurality of probability distributions calculated by the prediction model are synthesized from the information of the growing environment indicated by the plurality of records to calculate a predicted distribution of the number of harvests for the harvest date, and the predicted distribution is calculated. Determining when to stop the learning process based on the similarity between the actual distribution indicated by the total data,
machine learning method.
育成環境の情報から所要日数の確率分布を算出する予測モデルを生成し、前記訓練データを用いて、前記予測モデルにより算出される前記確率分布の誤差を評価して前記予測モデルを更新することを繰り返す学習処理を開始し、前記学習処理の途中において、前記複数のレコードが示す育成環境の情報から前記予測モデルにより算出される複数の確率分布を合成して、収穫日に対する収穫数の予測分布を算出し、前記予測分布と前記総数データが示す前記実績分布との間の類似度に基づいて、前記学習処理の停止タイミングを判定する処理部と、
を有する機械学習装置。 training data each including a plurality of records in which information on the growing environment of the sample crop and the required number of days from the reference date when a predetermined state was observed to the harvest date of the sample crop are associated; and a plurality of records indicated by the plurality of records a storage unit for storing total data indicating the actual distribution of the number of harvests with respect to the harvest date for a set of crops including sample crops and other crops;
Generating a prediction model for calculating the probability distribution of the required number of days from information on the training environment, and using the training data to evaluate the error of the probability distribution calculated by the prediction model and updating the prediction model. Repeated learning processing is started, and in the middle of the learning processing, a plurality of probability distributions calculated by the prediction model are synthesized from the information of the growing environment indicated by the plurality of records to obtain a prediction distribution of the number of harvests for the harvest date. a processing unit that calculates and determines when to stop the learning process based on the degree of similarity between the predicted distribution and the actual distribution indicated by the total data;
A machine learning device having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019042111A JP7208503B2 (en) | 2019-03-08 | 2019-03-08 | Machine learning program, machine learning method and machine learning apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019042111A JP7208503B2 (en) | 2019-03-08 | 2019-03-08 | Machine learning program, machine learning method and machine learning apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020144720A JP2020144720A (en) | 2020-09-10 |
JP7208503B2 true JP7208503B2 (en) | 2023-01-19 |
Family
ID=72354325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019042111A Active JP7208503B2 (en) | 2019-03-08 | 2019-03-08 | Machine learning program, machine learning method and machine learning apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7208503B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022079833A1 (en) * | 2020-10-14 | 2022-04-21 | 日本電信電話株式会社 | Communication information prediction device, communication information prediction method, and communication information prediction program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013051887A (en) | 2011-08-31 | 2013-03-21 | Hitachi East Japan Solutions Ltd | Method for managing growth |
JP2015219651A (en) | 2014-05-15 | 2015-12-07 | 株式会社Jsol | Harvest prediction device for farm crop, harvest prediction system and harvest prediction method |
JP2017169511A (en) | 2016-03-24 | 2017-09-28 | 株式会社日立ソリューションズ東日本 | Apparatus for estimating normal stock ratio of agricultural crop, apparatus for predicting yield of agricultural crop, and method for estimating normal stock ratio of agricultural crop |
JP2019030253A (en) | 2017-08-08 | 2019-02-28 | 株式会社誠和 | Culture support device, culture support method, computer program and recording medium |
-
2019
- 2019-03-08 JP JP2019042111A patent/JP7208503B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013051887A (en) | 2011-08-31 | 2013-03-21 | Hitachi East Japan Solutions Ltd | Method for managing growth |
JP2015219651A (en) | 2014-05-15 | 2015-12-07 | 株式会社Jsol | Harvest prediction device for farm crop, harvest prediction system and harvest prediction method |
JP2017169511A (en) | 2016-03-24 | 2017-09-28 | 株式会社日立ソリューションズ東日本 | Apparatus for estimating normal stock ratio of agricultural crop, apparatus for predicting yield of agricultural crop, and method for estimating normal stock ratio of agricultural crop |
JP2019030253A (en) | 2017-08-08 | 2019-02-28 | 株式会社誠和 | Culture support device, culture support method, computer program and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2020144720A (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6410130B2 (en) | Crop yield prediction device, crop prediction system, and crop prediction method | |
Bannayan et al. | Using pattern recognition for estimating cultivar coefficients of a crop simulation model | |
Rao et al. | Climate variability and change: Farmer perceptions and understanding of intra-seasonal variability in rainfall and associated risk in semi-arid Kenya | |
US11222385B2 (en) | Method and system for forecasting crop yield | |
Rale et al. | Prediction of crop cultivation | |
JP2021056573A (en) | Crop growth prediction program, crop growth prediction method, and crop growth prediction device | |
CN112906298A (en) | Blueberry yield prediction method based on machine learning | |
Salazar et al. | Tomato yield prediction in a semi-closed greenhouse | |
JP7208503B2 (en) | Machine learning program, machine learning method and machine learning apparatus | |
US11580609B2 (en) | Crop monitoring to determine and control crop yield | |
Mishra et al. | Crop Recommendation System using KNN and Random Forest considering Indian Data set | |
WO2019003441A1 (en) | Forecasting device, forecasting method, storage medium stored with forecasting program, and genetic inference device | |
Sundaramoorthi et al. | Machine-learning-based simulation for estimating parameters in portfolio optimization: empirical application to soybean variety selection | |
JP2021056572A (en) | Crop production assisting program, crop production assisting method, and crop production assisting device | |
JP2021174062A (en) | Machine learning program, machine learning method, and machine learning apparatus | |
KR20190063410A (en) | Method for predicting production of main production complex crop and computer-readable recording medium having program to execute method thereof | |
JP2022136058A (en) | Method of generating prediction model for predicting crop production performance, generation apparatus, and generation program | |
Elghamrawy | An AI-Based Prediction Model for Climate Change Effects on Crop production using IoT | |
JP7405177B2 (en) | Information processing device, inference device, machine learning device, information processing method, inference method, and machine learning method | |
CN117709732B (en) | Agricultural disaster report generation method and system combined with meteorological monitoring data | |
WO2023119529A1 (en) | Growth prediction device, growth prediction method, and growth prediction program | |
JP2022136056A (en) | Prediction method for predicting crop production performance, prediction apparatus, and prediction program | |
Anshul et al. | Crop yield prediction and climate change impact assessment using machine learning technology in agriculture | |
JP2019165660A (en) | Water absorption amount estimation device, water absorption amount estimation method and computer program | |
Haider et al. | Cotton prediction from weather parameters of different city of Pakistan using machine learning technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211208 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20211213 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20211213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7208503 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |