this post was submitted on 07 Jul 2024
378 points (96.8% liked)
Science Memes
10950 readers
1993 users here now
Welcome to c/science_memes @ Mander.xyz!
A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.
Rules
- Don't throw mud. Behave like an intellectual and remember the human.
- Keep it rooted (on topic).
- No spam.
- Infographics welcome, get schooled.
This is a science community. We use the Dawkins definition of meme.
Research Committee
Other Mander Communities
Science and Research
Biology and Life Sciences
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- !reptiles and [email protected]
Physical Sciences
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
Humanities and Social Sciences
Practical and Applied Sciences
- !exercise-and [email protected]
- [email protected]
- !self [email protected]
- [email protected]
- [email protected]
- [email protected]
Memes
Miscellaneous
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is blatantly false. Classification tasks like this all have a level of certainty for each possible category - it's just up to the person writing the software to interpret those levels of certainty in a way that's useful to the user. Whether this is saying "I don't know" when the certainties are too spread out, or providing a list of options like other people in this thread have said their apps do. The problem is that "100% certainty" comes off well with the general public, so there's a financial incentive to make the system seem more certain than it is by using a layer (from memory it's called Softmax?) that will return only the category with the highest degree of certainty.
The key issue here is that 'level of certainty' doesn't really mean what you would like it to.
You get back a number yes, but it can change according to what's visible in the background, the angle that the plants at, how close is it to the camera, and how nice the camera is you're using (professional photographers use expensive cameras and take shots of different things to everyone else).
Interpreting this score as "how safe is it to eat the plant" is a really bad idea. You will still eat the wrong plant. These scores can lead to very confident random guessing when you show it a plant it's never seen before.
And no, softmax is a trick for making the scores all sum to one, so you get back a confidence for every possible thing the image could be of.
I feel like you're viewing this from the wrong angle, or at very least we're viewing it from different angles. You seem to be doing a binary classification (Is this plant edible) rather than a group classification (what plant is this?) where edibility is an attribute of the plant to be returned to the user (yes; no; when green; only the roots; etc.) - the latter is the approach most of these apps take, classify the image into a species (or list of potential species) then give the user details such as identifying features, common growing areas, edibility, and lookalikes. You're right about softmax, it's been a couple of years since I've done the programming side of this so my terminology is a bit rusty.
I'm not describing binary classification, I'm describing multiclass. "Group classification" isn't really a thing. Yes, your ml system probably guesses what kind of plant it is and then looks up the ediblity of components.
The problem with this is how they will handle rare plants that aren't in the dataset, or that are in the dataset but with insufficient data to be recognised.
Because multiclass assumes that it's seen representative data on all possible outputs (e.g. plant types) it will tend to be dangerously confident on plant types it hasn't seen before.
This is because it can rule out other classes. E.g. if you're trying to classify as rose, tulip, or daisy and you get a bramble, your classifier is likely to be very certain it's a rose because tulips and daisies don't have thorns. So your softmax score is likely to show heavy confidence in rose even though it's actually none of them.
This is exactly what can go wrong when you try to use the softmax/standard multiclass approach and come across an interesting rare mushroom or wild carrot. You don't want it to guess which type of plant in the database it's most like, even if this guess comes with scores, you want it to say that it genuinely doesn't know and you shouldn't eat it.