11 points by arijo 5 days ago | 19 comments
jvanderbot 5 days ago
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.
jflessau 5 days ago
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 5 days ago
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.
Terr_ 4 days ago
arijo 5 days ago
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 5 days ago
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 5 days ago
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.
kcplate 4 days ago
I have done keto for weight loss across several stints, one lasting 4 years (I had a lot of weight to lose). I encountered plateaus at various points were despite pretty consistent caloric intake (at the time I religiously tracked everything), activity, and normal body eliminations, I would have periods of several weeks where my weight would not move at all, only to dramatically fall in a later week and continue the steady loss. I found it demotivating and had to adjust weigh ins from weekly to monthly to avoid the frustration.
I wonder what the model would say about those periods. I wish I would have kept the data from that time, it would have been interesting
arijo 4 days ago
I didn’t happen to find a plateau yet but surely will share the data if that happens.
mitjam 4 days ago
jflessau 5 days ago
Edit: nevermind, its all in the blog linked by you :)
arijo 5 days ago
arijo 4 days ago
sn9 4 days ago
Anyway nowadays you can just use Macrofactor which makes it all easier (not just the calculations/predictions but the data input itself).
arijo 4 days ago
sn9 2 days ago
Add in sufficient protein and strength training, and you can manipulate your body composition at will.
arijo 2 days ago
I guess the protein and strength training will make sure you keep your muscle mass while you are losing fat - is this correct?
sn9 1 day ago
You want the Total Daily Energy Expenditure (TDEE) which is all the energy you use in a day. Tracking your calories and changes to your bodyweight lets you do that. (You'll want to use weekly averages of your bodyweight to smooth out fluctuations that don't reflect changes in tissue.)
Yes strength training with sufficient protein is a signal to your body to maintain or even build muscle mass, so every pound you lose will shift to mostly or entirely fat.
arijo 1 day ago