about nn.Linear #1373
|
I want to know why do we use |
Replies: 1 comment
Why binary uses out_features=1 but multiclass uses out_features=num_classesThe label is always just 1 number in both cases (e.g. Binary (out_features = 1) Think of it like a boolean flag: you don't store Multiclass (out_features = num_classes) So
|
Why binary uses out_features=1 but multiclass uses out_features=num_classes
The label is always just 1 number in both cases (e.g.
0/1, or0/1/2/3). What's different is how many numbers the model needs to output before it decides on that label.Binary (out_features = 1)
Since there are only 2 classes, they're complements of each other. If P(class 1) = 0.91, then P(class 0) is automatically 1 - 0.91 = 0.09. So you only need 1 raw number → pass through sigmoid → that's your probability for class 1.
Think of it like a boolean flag: you don't store
is_activeandis_inactiveseparately, one implies the other.Multiclass (out_features = num_classes)
With 4+ classes there's no complement trick — …