MORE CLASSIFIERS
AGENDA
Key concepts for all classifiers
Precision vs recall
Biased sample sets
Linear classifiers
Intro to neural networks
RECAP: DECISION BOUNDARIES
With continuous attributes, a decision boundary
is the surface in example space that splits
positive from negative examples
x2
x1>=20
T
x2>=10
F
x2>=15
F
T
F
T
T
F
x1
BEYOND ERROR RATES
4
BEYOND ERROR RATE
Predicting security risk
Predicting “low risk” for a terrorist, is
far worse than predicting “high risk”
for an innocent bystander (but maybe
not 5 million of them)
Searching for images
Returning irrelevant images is worse
than omitting relevant ones
5
BIASED SAMPLE SETS
Often there are orders of magnitude more
negative examples than positive
E.g., all images of Kris on Facebook
If I classify all images as “not Kris” I’ll have
>99.99% accuracy
Examples of Kris should count much more than
non-Kris!
FALSE POSITIVES
True decision boundary
Learned decision boundary
x2
x1
7
An example
incorrectly predicted
to be positive
FALSE POSITIVES
True decision boundary
Learned decision boundary
x2
New query
x1
8
An example
incorrectly predicted
to be negative
FALSE NEGATIVES
True decision boundary
Learned decision boundary
x2
New query
x1
9
PRECISION VS. RECALL
Precision
Recall
# of relevant documents retrieved / # of total
documents retrieved
# of relevant documents retrieved / # of total relevant
documents
Numbers between 0 and 1
10
PRECISION VS. RECALL
Precision
# of true positives / (# true positives + # false
positives)
Recall
# of true positives / (# true positives + # false
negatives)
A precise classifier is selective
A classifier with high recall is inclusive
11
REDUCING FALSE POSITIVE RATE
True decision boundary
Learned decision boundary
x2
x1
12
REDUCING FALSE NEGATIVE RATE
True decision boundary
Learned decision boundary
x2
x1
13
PRECISION-RECALL CURVES
Measure Precision vs Recall as the decision
boundary is tuned
Recall
Perfect classifier
Actual performance
14
Precision
PRECISION-RECALL CURVES
Measure Precision vs Recall as the decision
boundary is tuned
Recall
Penalize false negatives
Equal weight
Penalize false positives
15
Precision
PRECISION-RECALL CURVES
Measure Precision vs Recall as the decision
boundary is tuned
Recall
16
Precision
PRECISION-RECALL CURVES
Measure Precision vs Recall as the decision
boundary is tuned
Recall
Better learning
performance
17
Precision
OPTION 1: CLASSIFICATION THRESHOLDS
Many learning algorithms (e.g., probabilistic
models, linear models) give real-valued output
v(x) that needs thresholding for classification
v(x) > t => positive label given to x
v(x) < t => negative label given to x
May want to tune threshold to get fewer false
positives or false negatives
18
OPTION 2: WEIGHTED DATASETS
Weighted datasets: attach a weight w to each
example to indicate how important it is
Instead of counting “# of errors”, count “sum of
weights of errors”
Or construct a resampled dataset D’ where each
example is duplicated proportionally to its w
As the relative weights of positive vs negative
examples is tuned from 0 to 1, the precisionrecall curve is traced out
LINEAR CLASSIFIERS : MOTIVATION
Decision tree produces axis-aligned decision
boundaries
Can we accurately classify data like this?
x2
x1
PLANE GEOMETRY
Any line in 2D can be expressed as the set of
solutions (x,y) to the equation ax+by+c=0 (an
implicit surface)
ax+by+c > 0 is one side of the line
ax+by+c < 0 is the other
ax+by+c = 0 is the line itself
y
b
a
x
PLANE GEOMETRY
In 3D, a plane can be expressed as the set of
solutions (x,y,z) to the equation ax+by+cz+d=0
ax+by+cz+d > 0 is one side of the plane
ax+by+cz+d < 0 is the other side
ax+by+cz+d = 0 is the plane itself
z
c
a
b
x
y
LINEAR CLASSIFIER
In d dimensions,
c0+c1*x1+…+cd*xd =0
is a hyperplane.
Idea:
Use c0+c1*x1+…+cd*xd > 0 to denote positive
classifications
Use c0+c1*x1+…+cd*xd < 0 to denote negative
classifications
PERCEPTRON
x2
+
+
x1
+
-
-
+
xi wi
+
S
g
xn
y = f(x,w) = g(Si=1,…,n wi xi)
y
x1
-
w1 x1 + w2 x2 = 0
-
g(u)
24
u
A SINGLE PERCEPTRON CAN LEARN
x1
xi wi
S
g
y
xn
A disjunction of boolean literals x1 x2 x3
Majority function
25
A SINGLE PERCEPTRON CAN LEARN
x1
xi wi
S
g
y
xn
A disjunction of boolean literals x1 x2 x3
Majority function
XOR?
26
PERCEPTRON LEARNING RULE
θ θ + x(i)(y(i)-g(θT x(i)))
(g outputs either 0 or 1, y is either 0 or 1)
If output is correct, weights are unchanged
If g is 0 but y is 1, then the value of g on attribute
i is increased
If g is 1 but y is 0, then the value of g on attribute
i is decreased
Converges if data is linearly separable, but
oscillates otherwise
27
PERCEPTRON
+
+
x1
xi wi
?
-
S
+
g
xn
y = f(x,w) = g(Si=1,…,n wi xi)
y
-
+
+
-
g(u)
28
u
UNIT (NEURON)
x1
xi wi
S
g
y
xn
y = g(Si=1,…,n wi xi)
g(u) = 1/[1 + exp(-u)]
29
NEURAL NETWORK
Network of interconnected neurons
x1
xi w
x1
i
xi w
i
xn
S
g
y
S
g
y
xn
30
Acyclic (feed-forward) vs. recurrent networks
TWO-LAYER FEED-FORWARD
NEURAL NETWORK
w1j
Inputs
w2k
Hidden
layer
Output
layer
31
NETWORKS WITH HIDDEN LAYERS
Can represent XORs, other nonlinear functions
Common neuron types:
Soft perceptron (sigmoid), radial basis functions,
linear, …
As the number of hidden units increase, so does
the network’s capacity to learn functions with
more nonlinear features
How to train hidden layers?
32
BACKPROPAGATION (PRINCIPLE)
Treat the problem as one of minimizing errors
between the example label and the network
output, given the example and network weights
as input
Sum this error term over all examples
Error(xi,yi,w) = (yi – f(xi,w))2
E(w) = Si Error(xi,yi,w) = Si (yi – f(xi,w))2
Minimize errors using an optimization algorithm
Stochastic gradient descent is typically used
33
Gradient direction 𝛻𝐸 is orthogonal to the level sets (contours) of E,
points in direction of steepest increase
Gradient direction 𝛻𝐸 is orthogonal to the level sets (contours) of E,
points in direction of steepest increase
Gradient descent: iteratively move in direction −𝛻E
Gradient descent: iteratively move in direction −𝛻E
Gradient descent: iteratively move in direction −𝛻E
Gradient descent: iteratively move in direction −𝛻E
Gradient descent: iteratively move in direction −𝛻E
Gradient descent: iteratively move in direction −𝛻𝐸
Gradient descent: iteratively move in direction −𝛻𝐸
STOCHASTIC GRADIENT DESCENT
For each example (xi,yi), take a gradient descent
step to reduce the error for (xi,yi) only.
43
STOCHASTIC GRADIENT DESCENT
Objective function values (measured over all
examples) over time settle into local minimum
Step size must be reduced over time, e.g., O(1/t)
44
NEURAL NETWORKS: PROS AND CONS
Pros
Bioinspiration is nifty
Can represent a wide variety of decision boundaries
Complexity is easily tunable (number of hidden
nodes, topology)
Easily extendable to regression tasks
Cons
Haven’t gotten close to unlocking the power of the
human (or cat) brain
Complex boundaries need lots of data
Slow training
Mostly lukewarm feelings in mainstream ML
(although the “deep learning” variant is en vogue
now)
NEXT CLASS
Another guest lecture