[HN Gopher] Predicting Weight Loss with Machine Learning
___________________________________________________________________
Predicting Weight Loss with Machine Learning
Author : arijo
Score : 8 points
Date : 2024-10-19 17:08 UTC (5 hours ago)
(HTM) web link (www.feelingbuggy.com)
(TXT) w3m dump (www.feelingbuggy.com)
| jvanderbot wrote:
| This is pretty much what I do, as well!
|
| I've found the equations for metabolism and weight to be
| accessible enough that I can just plug in daily calories and
| weight and get a nice prediction once you run it through a curve
| fit. Nothing too sophisticated required.
|
| https://jodavaho.io/tags/diet.html
|
| That's not to say that ML doesn't help. I use LLMs for super
| simple calorie tracking.
| arijo wrote:
| I think most of the classical statistical methods for curve
| fitting happen to be some kind of variant of using least
| squares on a manually chosen parameterizable function - you'll
| have to chose between a linear, polynomial, exponential or some
| other moire complex forms.
|
| The nice things of using a simple feedforward DNN is that it
| will automatically infer both the nonlinear function structure
| and parameters and for simple basic use cases like this that
| don't require a lot of training it works well and you can even
| validate the fit visually by looking at the graph output.
| apwheele wrote:
| I'm sorry but this model is wild and highly misleading. Based
| on one variable and 7 observations, days since you have
| started, you have fit a model with `2 + 128 + 64^2`
| parameters. It happens that a straight line is fine for this
| data, so it does OK approximating the two observations that
| are in the test split.
|
| I was curious to see what would happen out of sample, I
| figured it would just be a straight line (and it is, despite
| the parameters being quite complex, print out `model.weights`
| to check them out!) outS =
| [[365],[400],[450],[500],[2*365],[3*365],[4*365]]
| outY = model.predict(scaler_X.transform(outS)) outY =
| scaler_y.inverse_transform(outY)
|
| Negative if you keep at it long enough.
| arijo wrote:
| I don't intend to use the model to predict more than a
| couple of weeks - the fact that it has no data to predict
| more than that is not that a big deal for this use case.
|
| Not very important, but the weight loss curve usually
| decelerates with time and this pattern is not captured by a
| straight line either - as i say not a big deal, it just
| happens that by using a simple DNN model for a simple curve
| I don't have to spend time choosing the type of function I
| want the data to fit.
|
| Also the model will improve as the number of measurements
| that are available increases.
|
| Your comment does make sense, I just think for this use
| case and short term prediction it's not a major problem.
|
| I'd be happy to learn how you'd apply some renormalization
| techniques to reduce the number of parameters and prevent
| the overfitting - I'm just a noob very curious to learn as
| most as I can about practical deep learning techniques.
| jflessau wrote:
| Would you mind elaborating on how you use LLMs to track
| calories?
|
| Edit: nevermind, its all in the blog linked by you :)
| arijo wrote:
| Ha ha, no worries - I'm eager to learn from you guys as well
| :)
| jflessau wrote:
| A calorie tracker app has been my tool of choice for the past
| few years, one that includes a catalog of food items, meals,
| and recipes.
|
| The two most useful features are the barcode scanner (scanning
| is much easier than typing into a search bar) and the fact that
| it knows, for example, how much a slice of cheese from a
| scanned package weighs. Weighing the food is actually the most
| annoying part, at least for me.
|
| It's even trickier when you're having breakfast and need to
| weigh butter, etc., before and after to get the difference, to
| avoid prepping everything beforehand.
|
| All that sounds annoying, and it is. But compared to exercise,
| it has been a great time investment for me. Weighing things and
| using this app takes about 5 minutes a day. It yields results
| I'm happy with and significantly reduces uncertainty.
|
| When you're unsure if you can eat one more thing near the end
| of the day, you can just look it up. Otherwise, uncertainty, at
| least for me, leads to under-eating, causing more hunger the
| next day, or overeating, jeopardizing the goal.
|
| The thought of using an LLM to analyze a picture is intriguing.
|
| I tried laying out items from the fridge on a plate and asking
| an LLM what I could make from them. That worked surprisingly
| well. But I like your idea much better.
|
| The question is how accurate that would be. But snapping one
| more picture and testing it for a few weeks sounds fun.
|
| Thanks for the food for thought! :)
| arijo wrote:
| I actually do that frequently to comply with my ketogenic
| diet - take a photo of the macro nutrients quantities,
| calories from the nutrition facts table on the food package
| and use ChatGPT or some other LLM to calculate the estimated
| calories per portion.
|
| You can then validate the data by tracking your lost calories
| (calculable from your lost weight - I do it each week) and
| compare with the predicted weight lost calculated from the
| vendor 's nutrition facts table.
| mitjam wrote:
| Thanks for sharing, I read all 4 parts and will definitely use
| this to improve my diet and activity (want to lose 10kg or
| about 12%). Looking forward for part 5.
___________________________________________________________________
(page generated 2024-10-19 23:01 UTC)