IP Library Granted Patent US 12,417,408
Granted Patent B2
US 12,417,408 · App. 18/430,094 · Granted Sep 16, 2025

Online trained object property estimator

Inventor: Mark Henrik Sandstrom (Alexandria, VA)
Assignee: ThroughPuter, Inc.
G06N20/00G06F16/23G06F16/24568G06F16/9017G06F18/214G06F18/2411
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,417,408
App. No.
18/430,094
Granted
Sep 16, 2025
Kind
B2
Abstract

This disclosure describes systems and methods for using an estimator to produce values for dependent variables of streaming objects based on values of independent variables of the objects. The systems and methods may include continuously tuning the estimator based on any objects received with pre-populated values for the dependent variables.

Claims (56)

1. A method for estimating values of unknown features of a series of objects, the objects being represented as digital feature vectors, at least some of such digital feature vectors including a plurality of X variables having corresponding values populated on the respective digital feature vector before the estimating as a plurality of populated X-variables, and, for at least a portion of the series of objects, a Y-variable having an unknown value prior to the estimating, the method comprising operations performed by an estimator, the estimator comprising hardware logic and/or software logic executing via processing circuitry, the operations comprising:

maintaining, by the estimator on a non-transitory digital memory, an array of models, wherein

each model of the array of models comprises a Y-variable value and a plurality of X-variable values corresponding to the respective Y-variable value, and

the array of models is organized according to Y-variable values of the models; and

for each object of at least a portion of the series of objects,

computing, by the estimator, an estimated value of the Y-variable of the respective object by identifying, from the array of models, a set of closest matching models based on a measure of difference between the values of at least a subset of the X-variables of the respective object and a corresponding subset of the X-variable values of at least a portion of the models of the array of models, and

producing the estimated value of the Y-variable of the respective object based at least in part on a Y-variable value of one or more models of the set of closest matching models,

wherein said maintaining includes:

ascertaining and populating an actual value corresponding to the estimated value of the Y-variable of the respective object to make it a training object,

as a real-time operation interleaved with the estimating values of the unknown features of the series of objects, inserting the training object within the series of objects, and

updating a model of the array of models corresponding to the Y-variable value of the training object, based at least in part on the X-variable values of the training object and of existing X-variable values of the model.

2. The method of claim 1 , wherein:

the array of models comprises a set of model banks arranged by their associated object classifications, and

the identifying, from the array of models, a set of closest matching models, furthermore involves:

determining, for the respective object, at least one candidate classification from a plurality of classifications, and

for each given one of one or more model banks associated with the at least one candidate classification, finding, from object models in the given bank, one or more closest matching models, each associated with said classification, for the respective object.

3. The method of claim 1 , wherein the updating forms updated X-variable values for the model corresponding to the Y-variable value of the training object by computing, for any given X-variable, a weighted average of the respective X-variable value of the training object and the respective existing X-variable value of the model.

4. The method of claim 3 , wherein for the computing of the weighted average, the weight factor for the existing X-variable values of the model is

(i) increased based on occurrences of the estimated value of the Y-variable matching the corresponding ascertained actual value, and/or

(ii) decreased based on occurrences of the estimated value of the Y-variable not matching the corresponding ascertained actual value.

5. The method of claim 1 , wherein the updating of a model of the array of models corresponding to the Y-variable value of a given training object involves, in case said array of models does not include any model corresponding to the training object, creating a new object model in the array based on variable values of that training object.

6. The method of claim 5 , where the model array is considered to not include a model corresponding to a given training object in case a vector distance measure between the given training object and any of the existing object models in the array is above a configured threshold distance.

7. The method of claim 5 , where the model array is considered to not include a model corresponding to a given training object in case the array of models does not include any model corresponding to the Y-variable value of the training object.

8. The method of claim 1 , wherein the operations further comprise outputting, by the estimator, a given object of the series of objects as an output object, wherein a value of the Y-variable of the digital feature vector of the output object is set to the estimated value for the given object.

9. The method of claim 1 , wherein, in case a given one of the objects in the series has one or more of the X-variables unpopulated on its respective digital feature vector before the estimating, said X-variables referred to as unpopulated variables, the operations further comprise outputting, by the estimator, such given object of the series of objects as an output object, wherein a value of at least one of said unpopulated variables of the output object is set to an estimated value based at least in part based on variable values a model of the array of models

(i) that corresponds to the estimated value of the Y-variable, and/or

(ii) that is closest in vector distance to the given object when considering its populated X-variables.

10. The method of claim 1 , wherein the populated X-variables include further a set of synthesized X-variables formed based at least in part on values of received X-variables of the digital feature vector of the respective object.

11. A system for estimating values of unknown features of a series of objects, the objects being represented as digital feature vectors, at least some of such digital feature vectors including a plurality of X variables having corresponding values populated on the respective digital feature vector before the estimating as a plurality of populated X-variables, and, for at least a portion of the series of objects, a Y-variable having an unknown value prior to the estimating, the system comprising an estimator comprising hardware logic and/or software logic stored on a non-transitory digital medium and configured for execution via processing circuitry, the estimator performing operations comprising:

maintaining, by the estimator on a non-transitory digital memory, an array of models, wherein

each model of the array of models comprises a Y-variable value and a plurality of X-variable values corresponding to the respective Y-variable value, and

the array of models is organized according to Y-variable values of the models; and

for each object of at least a portion of the series of objects,

computing, by the estimator, an estimated value of the Y-variable of the respective object by identifying, from the array of models, a set of closest matching models based on a measure of difference between the values of at least a subset of the X-variables of the respective object and a corresponding subset of the X-variable values of at least a portion of the models of the array of models, and

producing the estimated value of the Y-variable of the respective object based at least in part on a Y-variable value of one or more models of the set of closest matching models,

wherein said maintaining includes:

ascertaining and populating an actual value corresponding to the estimated value of the Y-variable of the respective object to make it a training object,

as a real-time operation interleaved with the estimating values of the unknown features of the series of objects, inserting the training object within the series of objects, and

updating a model of the array of models corresponding to the Y-variable value of the training object, based at least in part on the X-variable values of the training object and of existing X-variable values of the model.

12. The system of claim 11 , wherein:

the array of models comprises a set of model banks arranged by their associated object classifications, and

the identifying, from the array of models, a set of closest matching models, furthermore involves:

determining, for the respective object, at least one candidate classification from a plurality of classifications, and

for each given one of one or more model banks associated with the at least one candidate classification, finding, from object models in the given bank, one or more closest matching models, each associated with said classification, for the respective object.

13. The system of claim 11 , wherein the updating forms updated X-variable values for the model corresponding to the Y-variable value of the training object by computing, for any given X-variable, a weighted average of the respective X-variable value of the training object and the respective existing X-variable value of the model.

14. The system of claim 13 , wherein for the computing of the weighted average, the weight factor for the existing X-variable values of the model is

(iii) increased based on occurrences of the estimated value of the Y-variable matching the corresponding ascertained actual value, and/or

(iv) decreased based on occurrences of the estimated value of the Y-variable not matching the corresponding ascertained actual value.

15. The system of claim 11 , wherein the updating of a model of the array of models corresponding to the Y-variable value of a given training object involves, in case said array of models does not include any model corresponding to the training object, creating a new object model in the array based on variable values of that training object.

16. The system of claim 15 , where the model array is considered to not include a model corresponding to a given training object in case a vector distance measure between the given training object and any of the existing object models in the array is above a configured threshold distance.

17. The system of claim 15 , where the model array is considered to not include a model corresponding to a given training object in case the array of models does not include any model corresponding to the Y-variable value of the training object.

18. The system of claim 15 , wherein the operations further comprise outputting, by the estimator, a given object of the series of objects as an output object, wherein a value of the Y-variable of the digital feature vector of the output object is set to the estimated value for the given object.

19. The system of claim 15 , wherein, in case a given one of the objects in the series has one or more of the X-variables unpopulated on its respective digital feature vector before the estimating, said X-variables referred to as unpopulated variables, the operations further comprise outputting, by the estimator, such given object of the series of objects as an output object, wherein a value of at least one of said unpopulated variables of the output object is set to an estimated value based at least in part based on variable values a model of the array of models

(iii) that corresponds to the estimated value of the Y-variable, and/or

(iv) that is closest in vector distance to the given object when considering its populated X-variables.

20. The system of claim 11 , wherein the populated X-variables include further a set of synthesized X-variables formed based at least in part on values of received X-variables of the digital feature vector of the respective object.

Continuity (10)
Continuation 18095350 · Jan 10, 2023
Continuation 16812158 · Mar 6, 2020
Provisional Application 62876087 · Jul 19, 2019
Provisional Application 62871096 · Jul 6, 2019
Provisional Application 62868756 · Jun 28, 2019
Provisional Application 62857573 · Jun 5, 2019
Provisional Application 62827435 · Apr 1, 2019
Provisional Application 62822569 · Mar 22, 2019
Provisional Application 62815153 · Mar 7, 2019
Related Publication 20240296380A1 · Sep 5, 2024
References Cited (140)
US 5465084A · Cottrell · 1995 [cited by applicant]
US 7124433B2 · Little · 2006 [cited by applicant]
US 7219368B2 · Juels et al. · 2007 [cited by applicant]
US 7702629B2 · Cytron et al. · 2010 [cited by applicant]
US 7844825B1 · Neginsky · 2010 [cited by applicant]
US 8189905B2 · Eaton et al. · 2012 [cited by applicant]
US 8458485B2 · Bandyopadhyay et al. · 2013 [cited by applicant]
US 8539550B1 · Terres et al. · 2013 [cited by applicant]
US 8601552B1 · Bowers et al. · 2013 [cited by applicant]
US 8718374B2 · Ashbrook · 2014 [cited by applicant]
US 8789206B2 · Harris · 2014 [cited by applicant]
US 8868919B2 · Barton et al. · 2014 [cited by applicant]
US 8881251B1 · Hilger · 2014 [cited by applicant]
US 8904479B1 · Johansson et al. · 2014 [cited by applicant]
US 8931060B2 · Bidare · 2015 [cited by applicant]
US 8955074B2 · Barton et al. · 2015 [cited by applicant]
US 9104855B2 · Vargas et al. · 2015 [cited by applicant]
US 9111073B1 · Jiang et al. · 2015 [cited by applicant]
US 9117068B1 · Zhang et al. · 2015 [cited by applicant]
US 9165159B1 · Mcdonnell · 2015 [cited by applicant]
US 9215072B1 · Barton et al. · 2015 [cited by applicant]
US 9230079B2 · Yun · 2016 [cited by applicant]
US 9235715B1 · Bailey et al. · 2016 [cited by applicant]
US 9348981B1 · Hearn et al. · 2016 [cited by applicant]
US 9813409B2 · Zia · 2017 [cited by applicant]
US 10013546B1 · Johansson et al. · 2018 [cited by applicant]
US 10120989B2 · Anson · 2018 [cited by applicant]
US 10169565B2 · Zia · 2019 [cited by applicant]
US 10176315B2 · Riddiford · 2019 [cited by applicant]
US 10754814B1 · Li et al. · 2020 [cited by applicant]
US 10754936B1 · Hawes et al. · 2020 [cited by applicant]
US 11042880B1 · Hazan et al. · 2021 [cited by applicant]
US 11561983B2 · Sandstrom · 2023 [cited by applicant]
US 11893463B2 · Sandstrom · 2024 [cited by applicant]
US 20040143750A1 · Kulack et al. · 2004 [cited by applicant]
US 20050097320A1 · Golan et al. · 2005 [cited by applicant]
US 20060174339A1 · Tao · 2006 [cited by applicant]
US 20060206918A1 · McLean · 2006 [cited by applicant]
US 20080208777A1 · Stephens · 2008 [cited by applicant]
US 20090037986A1 · Baker · 2009 [cited by applicant]
US 20090187962A1 · Brenneman et al. · 2009 [cited by applicant]
US 20100043062A1 · Alexander et al. · 2010 [cited by applicant]
US 20100251388A1 · Dorfman · 2010 [cited by applicant]
US 20110010763A1 · Beardslee · 2011 [cited by applicant]
US 20120026109A1 · Baba · 2012 [cited by applicant]
US 20120066650A1 · Tirpak et al. · 2012 [cited by applicant]
US 20120084734A1 · Wilairat · 2012 [cited by applicant]
US 20120252409A1 · Cao · 2012 [cited by applicant]
US 20130044954A1 · Ashbrook · 2013 [cited by applicant]
US 20130139226A1 · Welsch · 2013 [cited by applicant]
US 20130276100A1 · Yi et al. · 2013 [cited by applicant]
US 20130276125A1 · Bailey · 2013 [cited by applicant]
US 20130347066A1 · Wells et al. · 2013 [cited by applicant]
US 20140025467A1 · Nagarajan et al. · 2014 [cited by applicant]
US 20140025497A1 · Jha et al. · 2014 [cited by applicant]
US 20140115670A1 · Barton et al. · 2014 [cited by applicant]
US 20140157382A1 · Ford · 2014 [cited by applicant]
US 20140165186A1 · Ramu et al. · 2014 [cited by applicant]
US 20140195974A1 · Ballard et al. · 2014 [cited by applicant]
US 20140344186A1 · Nadler · 2014 [cited by examiner]
US 20140359300A1 · Shirakawa · 2014 [cited by applicant]
US 20140365904A1 · Kim et al. · 2014 [cited by applicant]
US 20150012444A1 · Brown et al. · 2015 [cited by applicant]
US 20150143509A1 · Selander et al. · 2015 [cited by applicant]
US 20150324559A1 · Boss et al. · 2015 [cited by applicant]
US 20160110528A1 · Gupta et al. · 2016 [cited by applicant]
US 20160132673A1 · Birk et al. · 2016 [cited by applicant]
US 20160150260A1 · Ovide · 2016 [cited by examiner]
US 20160253288A1 · Reddy · 2016 [cited by applicant]
US 20160277439A1 · Rotter et al. · 2016 [cited by applicant]
US 20170064555A1 · Johansson et al. · 2017 [cited by applicant]
US 20170132404A1 · Tao · 2017 [cited by applicant]
US 20170308644A1 · Van Rooyen et al. · 2017 [cited by applicant]
US 20170317993A1 · Weber et al. · 2017 [cited by applicant]
US 20170323092A1 · Thakur et al. · 2017 [cited by applicant]
US 20170331817A1 · Votaw et al. · 2017 [cited by applicant]
US 20180032714A1 · Zia · 2018 [cited by applicant]
US 20180053274A1 · Kendall · 2018 [cited by examiner]
US 20180107920A1 · Jayaraman · 2018 [cited by examiner]
US 20180253717A1 · Kim et al. · 2018 [cited by applicant]
US 20180300178A1 · Sandstrom · 2018 [cited by applicant]
US 20190012074A1 · Ajayan et al. · 2019 [cited by applicant]
US 20190034613A1 · Jajoo et al. · 2019 [cited by applicant]
US 20190057207A1 · Schwartz et al. · 2019 [cited by applicant]
US 20190095605A1 · Gupta et al. · 2019 [cited by applicant]
US 20190137955A1 · Fahrenkopf · 2019 [cited by examiner]
US 20190312861A1 · Kairi et al. · 2019 [cited by applicant]
US 20190316794A1 · Song · 2019 [cited by examiner]
US 20190347586A1 · Kaulgud · 2019 [cited by examiner]
US 20200026843A1 · Anwar et al. · 2020 [cited by applicant]
US 20200065469A1 · Norris, III · 2020 [cited by applicant]
US 20200066392A1 · Bess · 2020 [cited by examiner]
US 20200090240A1 · Sinha · 2020 [cited by examiner]
US 20200104737A1 · Abaci · 2020 [cited by examiner]
US 20200110651A1 · Milman · 2020 [cited by examiner]
US 20200134167A1 · Craymer et al. · 2020 [cited by applicant]
US 20200167914A1 · Stamatoyannopoulos · 2020 [cited by examiner]
US 20200193075A1 · Allen · 2020 [cited by examiner]
US 20200218776A1 · Shah · 2020 [cited by examiner]
US 20200242000A1 · Khosrowpour · 2020 [cited by examiner]
US 20200265330A1 · Ishikawa · 2020 [cited by examiner]
US 20200285645A1 · Sandstrom · 2020 [cited by applicant]
US 20200288306A1 · Do et al. · 2020 [cited by applicant]
US 20200302455A1 · Arroyo · 2020 [cited by examiner]
US 20200311250A1 · Sandstrom · 2020 [cited by applicant]
US 20200311586A1 · Sandstrom · 2020 [cited by applicant]
US 20200351283A1 · Salunke · 2020 [cited by examiner]
US 20200387594A1 · Sandstrom · 2020 [cited by applicant]
US 20230237376A1 · Sandstrom · 2023 [cited by applicant]
US 20230252126A1 · Sandstrom · 2023 [cited by applicant]
CN 105976517A · 2016 [cited by applicant]
EP 3559889 · 2022 [cited by applicant]
EP 3980910A1 · 2022 [cited by applicant]
FR 3037684A1 · 2016 [cited by applicant]
IN 202117043365A · 2022 [cited by applicant]
JP 2014211818A5 · 2014 [cited by applicant]
RU 2672394C1 · 2018 [cited by applicant]
WO 0177792A2 · 2001 [cited by applicant]
WO 2020181268A1 · 2020 [cited by applicant]
WO 2020247800 · 2020 [cited by applicant]
“Grid Locker”, accessed at “https://www.f88x.com/modules/grid-locker-draw-a-plugin-wp-password-wordpress-utilities-download.html” accessed on Mar. 19, 2020. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Non-Final Office Action mailed Jul. 25, 2022 in U.S. Appl. No. 16/798,310. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
Invitation To Pay Additional Fees And, Where Applicable, Protest Fee of PCT Application No. PCT/US2020/021581 dated May 5, 2020. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2020/036394 mailed Sep. 30, 2020. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
Kaur, et al., “Multi-Factor Graphical Password for Cloud Interface Authentication Security”, International Journal of Computer Applications, vol. 125, No. 7, Sep. 2015, pp. 32-35. (Submitted in related U.S. Appl. No. 16… [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2020/021581 mailed Sep. 16, 2021. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2020/036394 mailed Dec. 16, 2021. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
Invitation To Pay Additional Fees And, Where Applicable, Protest Fee for International Application No. PCT/US2020/036394 mailed Jul. 21, 2020. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2020/021581 mailed Jul. 22, 2020. (Submitted in related U.S. Appl. No. 16/812,158). [cited by applicant]
Gewali, et al., “Machine Learning Based Hyperspectral Image Analysis: A Survey”, Rochester Institute of Technology, Rochester, NY, arXiv: 1802.08701v2, Feb. 10, 2019, pp. 1-46. (Submitted in related U.S. Appl. No. 16/81… [cited by applicant]
Grzegorczyk, et al., “Vector Representations Of Text Data In Deep Learning”, AGH University of Science and Technology, Faculty of Computer Science, Electronics and Telecommunications, Department of Computer Science, arX… [cited by applicant]
Extended European Search Report mailed in European Application No. 20817925.9 dated Jun. 28, 2023. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Non-Final Office Action mailed in U.S. Appl. No. 16/812,158 dated Jun. 6, 2022. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Notice of Allowance mailed in U.S. Appl. No. 16/812,158 dated Sep. 16, 2022. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Non-Final Office Action mailed Apr. 6, 2022 in U.S. Appl. No. 16/834,961. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Notice of Allowance mailed Oct. 26, 2022 in U.S. Appl. No. 16/894,177. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Notice of Allowance mailed Jul. 19, 2022 in U.S. Appl. No. 16/834,961. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Notice of Allowance mailed Nov. 3, 2022 in U.S. Appl. No. 16/834,961. (Submitted in related U.S. Appl. No. 18/095,350.). [cited by applicant]
Non-Final Office Action mailed May 20, 2022 in U.S. Appl. No. 16/894,177. [cited by applicant]
Non-Final Office Action mailed May 23, 2023 in U.S. Appl. No. 18/095,350. [cited by applicant]