-
Notifications
You must be signed in to change notification settings - Fork 4
/
Google Machine Learning Glossary.csv
We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 1.
5109 lines (3912 loc) · 260 KB
/
Google Machine Learning Glossary.csv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Introduction (Google Machine Learning Glossary)|"
<p>This deck has taken definitions outlined in <a href=""https://developers.google.com/machine-learning/glossary/"">Google's Machine Learning Glossary</a> and put them into a form which can be easily learnt/revised using <a href=""https://apps.ankiweb.net/"">Anki</a> a cross platform app.</p>
<h2>Notes</h2>
<p>Please note the modifications which have been made & where you can find updates.</p>
<ol align=""left"">
<li>Every card has ""(Google Machine Learning Glossary)"" appended to the end so that if you have any other Machine Learning words in your collection, the Google definition will still be added when importing it.</li>
<li>The original relative urls have been made into full urls so they are clickable within Anki.</li>
<li>All LaTeX formulae have been wrapped with text to ensure that it can be rendered correctly in Anki.</li>
<li>Any updates, translations or corrections to the deck will be available at <a href=""https://github.com/darigovresearch/Google-Machine-Learning-Glossary-Flashcards""></a><a href=""https://github.com/darigovresearch/Google-Machine-Learning-Glossary-Flashcards"">https://github.com/darigovresearch/Google-Machine-Learning-Glossary-Flashcards</a> so do return periodically to check if you have the latest version.</li>
</ol>
<p>Feel free to share the deck and give the repository a star so more people can get the most out of it.</p>
<h2>License</h2>
<p>Except as otherwise noted, the content of this deck is licensed under the <a href=""https://creativecommons.org/licenses/by/4.0/"">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href=""https://www.apache.org/licenses/LICENSE-2.0"">Apache 2.0 License</a>. For details, see the <a href=""https://developers.google.com/site-policies"">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p>
<p>To see this work in full go to <a href=""https://developers.google.com/machine-learning/glossary/"">https://developers.google.com/machine-learning/glossary/</a></p>
"
A/B testing (Google Machine Learning Glossary)|"
<p>A statistical way of comparing two (or more) techniques, typically an incumbent
against a new rival. A/B testing aims to determine not only which technique
performs better but also to understand whether the difference is
statistically significant. A/B testing usually considers only two techniques
using one measurement, but it can be applied to any finite number of techniques
and measures.</p>
"
accuracy (Google Machine Learning Glossary)|"
<p>The fraction of <a href=""https://developers.google.com/machine-learning/glossary/#prediction""><strong>predictions</strong></a> that a
<a href=""https://developers.google.com/machine-learning/glossary/#classification_model""><strong>classification model</strong></a> got right. In
<a href=""https://developers.google.com/machine-learning/glossary/#multi-class""><strong>multi-class classification</strong></a>, accuracy
is defined as follows:</p>
<div>
[$$]\text{Accuracy} =
\frac{\text{Correct Predictions}} {\text{Total Number Of Examples}}[/$$]
</div>
<p>In <a href=""https://developers.google.com/machine-learning/glossary/#binary_classification""><strong>binary classification</strong></a>, accuracy has
the following definition:</p>
<div>
[$$]\text{Accuracy} = \frac{\text{True Positives} + \text{True Negatives}}
{\text{Total Number Of Examples}}[/$$]
</div>
<p>See <a href=""https://developers.google.com/machine-learning/glossary/#TP""><strong>true positive</strong></a> and
<a href=""https://developers.google.com/machine-learning/glossary/#TN""><strong>true negative</strong></a>.</p>
"
action (Google Machine Learning Glossary)|"
<p>In reinforcement learning, the mechanism by which the <a href=""https://developers.google.com/machine-learning/glossary/#agent""><strong>agent</strong></a>
transitions between <a href=""https://developers.google.com/machine-learning/glossary/#state""><strong>states</strong></a> of the
<a href=""https://developers.google.com/machine-learning/glossary/#environment""><strong>environment</strong></a>. The agent chooses the action by using a
<a href=""https://developers.google.com/machine-learning/glossary/#policy""><strong>policy</strong></a>.</p>
"
activation function (Google Machine Learning Glossary)|"
<p>A function (for example, <a href=""https://developers.google.com/machine-learning/glossary/#ReLU""><strong>ReLU</strong></a> or <a href=""https://developers.google.com/machine-learning/glossary/#sigmoid_function""><strong>sigmoid</strong></a>)
that takes in the weighted sum of all of the inputs from the previous layer
and then generates and passes an output value (typically nonlinear) to the next
layer.</p>
"
active learning (Google Machine Learning Glossary)|"
<p>A <a href=""https://developers.google.com/machine-learning/glossary/#training""><strong>training</strong></a> approach in which the
algorithm <em>chooses</em> some of the data it learns from. Active learning
is particularly valuable when <a href=""https://developers.google.com/machine-learning/glossary/#labeled_example""><strong>labeled examples</strong></a>
are scarce or expensive to obtain. Instead of blindly seeking a diverse
range of labeled examples, an active learning algorithm selectively seeks
the particular range of examples it needs for learning.</p>
"
AdaGrad (Google Machine Learning Glossary)|"
<p>A sophisticated gradient descent algorithm that rescales the
gradients of each parameter, effectively giving each parameter
an independent <a href=""https://developers.google.com/machine-learning/glossary/#learning_rate""><strong>learning rate</strong></a>. For a full explanation, see
<a href=""http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf""
target=""T"">this paper</a>.</p>
"
agent (Google Machine Learning Glossary)|"
<p>In reinforcement learning, the entity that uses a <a href=""https://developers.google.com/machine-learning/glossary/#policy""><strong>policy</strong></a>
to maximize expected <a href=""https://developers.google.com/machine-learning/glossary/#return""><strong>return</strong></a> gained from transitioning
between <a href=""https://developers.google.com/machine-learning/glossary/#state""><strong>states</strong></a> of the <a href=""https://developers.google.com/machine-learning/glossary/#environment""><strong>environment</strong></a>.</p>
"
agglomerative clustering (Google Machine Learning Glossary)|"
<p>See <a href=""https://developers.google.com/machine-learning/glossary/#hierarchical_clustering""><strong>hierarchical clustering</strong></a>.</p>
"
AR (Google Machine Learning Glossary)|"
<p>Abbreviation for <a href=""https://developers.google.com/machine-learning/glossary/#augmented_reality""><strong>augmented reality</strong></a>.</p>
"
area under the PR curve (Google Machine Learning Glossary)|"
<p>See <a href=""https://developers.google.com/machine-learning/glossary/#PR_AUC""><strong>PR AUC (Area under the PR Curve)</strong></a>.</p>
"
area under the ROC curve (Google Machine Learning Glossary)|"
<p>See <a href=""https://developers.google.com/machine-learning/glossary/#AUC""><strong>AUC (Area under the ROC curve)</strong></a>.</p>
"
artificial general intelligence (Google Machine Learning Glossary)|"
<p>A non-human mechanism that demonstrates a <em>broad range</em> of problem solving,
creativity, and adaptability. For example, a program demonstrating artificial
general intelligence could translate text, compose symphonies, <em>and</em> excel at
games that have not yet been invented.</p>
"
artificial intelligence (Google Machine Learning Glossary)|"
<p>A non-human program or model that can solve sophisticated tasks. For example,
a program or model that translates text or a program or model that identifies
diseases from radiologic images both exhibit artificial intelligence.</p>
<p>Formally, <a href=""https://developers.google.com/machine-learning/glossary/#machine_learning""><strong>machine learning</strong></a> is a sub-field of artificial
intelligence. However, in recent years, some organizations have begun using the
terms <em>artificial intelligence</em> and <em>machine learning</em> interchangeably.</p>
"
attribute (Google Machine Learning Glossary)|"
<p>Synonym for <a href=""https://developers.google.com/machine-learning/glossary/#feature""><strong>feature</strong></a>. In fairness, attributes often refer to
characteristics pertaining to individuals.</p>
"
AUC (Area under the ROC Curve) (Google Machine Learning Glossary)|"
<p>An evaluation metric that considers all possible
<a href=""https://developers.google.com/machine-learning/glossary/#classification_threshold""><strong>classification thresholds</strong></a>.</p>
<p>The Area Under the <a href=""https://developers.google.com/machine-learning/glossary/#ROC""><strong>ROC curve</strong></a> is the probability that a classifier
will be more confident that a randomly chosen positive example is actually
positive than that a randomly chosen negative example is positive.</p>
"
augmented reality (Google Machine Learning Glossary)|"
<p>A technology that superimposes a computer-generated image on a user's view of
the real world, thus providing a composite view.</p>
"
automation bias (Google Machine Learning Glossary)|"
<p>When a human decision maker favors recommendations made by an automated
decision-making system over information made without automation, even
when the automated decision-making system makes errors.</p>
"
average precision (Google Machine Learning Glossary)|"
<p>A metric for summarizing the performance of a ranked sequence of results.
Average precision is calculated by taking the average of the
<a href=""https://developers.google.com/machine-learning/glossary/#precision""><strong>precision</strong></a> values for each relevant result (each result in
the ranked list where the recall increases relative to the previous result).</p>
<p>See also <a href=""https://developers.google.com/machine-learning/glossary/#area_under_the_pr_curve""><strong>Area under the PR Curve</strong></a>.</p>
"
backpropagation (Google Machine Learning Glossary)|"
<p>The primary algorithm for performing
<a href=""https://developers.google.com/machine-learning/glossary/#gradient_descent""><strong>gradient descent</strong></a> on
<a href=""https://developers.google.com/machine-learning/glossary/#neural_network""><strong>neural networks</strong></a>. First, the output values
of each node are calculated (and cached) in a forward pass.
Then, the <a href=""https://developers.google.com/machine-learning/glossary/#partial_derivative""><strong>partial derivative</strong></a>
of the error with respect to each parameter is calculated in a backward
pass through the graph.</p>
"
bag of words (Google Machine Learning Glossary)|"
<p>A representation of the words in a phrase or passage,
irrespective of order. For example, bag of words represents the
following three phrases identically:</p>
<ul align=""left"">
<li>the dog jumps</li>
<li>jumps the dog</li>
<li>dog jumps the</li>
</ul>
<p>Each word is mapped to an index in a <a href=""https://developers.google.com/machine-learning/glossary/#sparse_vector""><strong>sparse vector</strong></a>, where
the vector has an index for every word in the vocabulary. For example,
the phrase <em>the dog jumps</em> is mapped into a feature vector with non-zero
values at the three indices corresponding to the words <em>the</em>, <em>dog</em>, and
<em>jumps</em>. The non-zero value can be any of the following:</p>
<ul align=""left"">
<li>A 1 to indicate the presence of a word.</li>
<li>A count of the number of times a word appears in the bag. For example,
if the phrase were <em>the maroon dog is a dog with maroon fur</em>, then both
<em>maroon</em> and <em>dog</em> would be represented as 2, while the other words would
be represented as 1.</li>
<li>Some other value, such as the logarithm of the count of the number of
times a word appears in the bag.</li>
</ul>
"
baseline (Google Machine Learning Glossary)|"
<p>A <a href=""https://developers.google.com/machine-learning/glossary/#model""><strong>model</strong></a> used as a reference point for comparing how well another
model (typically, a more complex one) is performing. For example, a
<a href=""https://developers.google.com/machine-learning/glossary/#logistic_regression""><strong>logistic regression model</strong></a> might serve as a
good baseline for a <a href=""https://developers.google.com/machine-learning/glossary/#deep_model""><strong>deep model</strong></a>.</p>
<p>For a particular problem, the baseline helps model developers quantify
the minimal expected performance that a new model must achieve for the new
model to be useful.</p>
"
batch (Google Machine Learning Glossary)|"
<p>The set of examples used in one <a href=""https://developers.google.com/machine-learning/glossary/#iteration""><strong>iteration</strong></a> (that is, one
<a href=""https://developers.google.com/machine-learning/glossary/#gradient""><strong>gradient</strong></a> update) of
<a href=""https://developers.google.com/machine-learning/glossary/#model_training""><strong>model training</strong></a>.</p>
<p>See also <a href=""https://developers.google.com/machine-learning/glossary/#batch_size""><strong>batch size</strong></a>.</p>
"
batch normalization (Google Machine Learning Glossary)|"
<p><a href=""https://developers.google.com/machine-learning/glossary/#normalization""><strong>Normalizing</strong></a> the input or output of the
<a href=""https://developers.google.com/machine-learning/glossary/#activation_function""><strong>activation functions</strong></a> in a
<a href=""https://developers.google.com/machine-learning/glossary/#hidden_layer""><strong>hidden layer</strong></a>. Batch normalization can
provide the following benefits:</p>
<ul align=""left"">
<li>Make <a href=""https://developers.google.com/machine-learning/glossary/#neural_network""><strong>neural networks</strong></a> more stable by protecting
against <a href=""https://developers.google.com/machine-learning/glossary/#outliers""><strong>outlier</strong></a> weights.</li>
<li>Enable higher <a href=""https://developers.google.com/machine-learning/glossary/#learning_rate""><strong>learning rates</strong></a>.</li>
<li>Reduce <a href=""https://developers.google.com/machine-learning/glossary/#overfitting""><strong>overfitting</strong></a>.</li>
</ul>
"
batch size (Google Machine Learning Glossary)|"
<p>The number of examples in a <a href=""https://developers.google.com/machine-learning/glossary/#batch""><strong>batch</strong></a>. For example, the batch size
of <a href=""https://developers.google.com/machine-learning/glossary/#SGD""><strong>SGD</strong></a> is 1, while the batch size of
a <a href=""https://developers.google.com/machine-learning/glossary/#mini-batch""><strong>mini-batch</strong></a> is usually between 10 and 1000. Batch size is
usually fixed during <a href=""https://developers.google.com/machine-learning/glossary/#training""><strong>training</strong></a> and <a href=""https://developers.google.com/machine-learning/glossary/#inference""><strong>inference</strong></a>;
however, <a href=""https://developers.google.com/machine-learning/glossary/#TensorFlow""><strong>TensorFlow</strong></a> does permit dynamic batch sizes.</p>
"
Bayesian neural network (Google Machine Learning Glossary)|"
<p>A probabilistic <a href=""https://developers.google.com/machine-learning/glossary/#neural_network""><strong>neural network</strong></a> that accounts for
uncertainty in <a href=""https://developers.google.com/machine-learning/glossary/#weight""><strong>weights</strong></a> and outputs. A standard neural network
regression model typically <a href=""https://developers.google.com/machine-learning/glossary/#prediction""><strong>predicts</strong></a> a scalar value;
for example, a model predicts a house price
of 853,000. By contrast, a Bayesian neural network predicts a distribution of
values; for example, a model predicts a house price of 853,000 with a standard
deviation of 67,200. A Bayesian neural network relies on
<a href=""https://betterexplained.com/articles/an-intuitive-and-short-explanation-of-bayes-theorem/"" target=""T"">
Bayes' Theorem</a>
to calculate uncertainties in weights and predictions. A Bayesian neural
network can be useful when it is important to quantify uncertainty, such as in
models related to pharmaceuticals. Bayesian neural networks can also help
prevent <a href=""https://developers.google.com/machine-learning/glossary/#overfitting""><strong>overfitting</strong></a>.</p>
"
Bellman equation (Google Machine Learning Glossary)|"
<p>In reinforcement learning, the following identity satisfied by the optimal
<a href=""https://developers.google.com/machine-learning/glossary/#q-function""><strong>Q-function</strong></a>:</p>
<p>\[Q(s, a) = r(s, a) + \gamma \mathbb{E}_{s'|s,a} \max_{a'} Q(s', a'))\]</p>
<p><a href=""https://developers.google.com/machine-learning/glossary/#reinforcement_learning""><strong>Reinforcement learning</strong></a> algorithms apply this
identity to create <a href=""https://developers.google.com/machine-learning/glossary/#q-learning""><strong>Q-learning</strong></a> via the following update rule:</p>
<p>\[Q(s,a) \gets Q(s,a) + \alpha
\left[r(s,a)
+ \gamma \displaystyle\max_{\substack{a_1}} Q(s’,a’)
- Q(s,a) \right]
\]</p>
<p>Beyond reinforcement learning, the Bellman equation has applications to
dynamic programming. See the
<a href=""https://wikipedia.org/wiki/Bellman_equation"" target=""T"">
Wikipedia entry for Bellman Equation</a>.</p>
"
bias (ethics/fairness) (Google Machine Learning Glossary)|"
<p>
1. Stereotyping, prejudice or favoritism towards some things, people,
or groups over others. These biases can affect collection and
interpretation of data, the design of a system, and how users interact
with a system. Forms of this type of bias include:
</p>
<ul align=""left"">
<li><a href=""https://developers.google.com/machine-learning/glossary/#automation_bias""><strong>automation bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#confirmation_bias""><strong>confirmation bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#confirmation_bias""><strong>experimenter’s bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#group_attribution_bias""><strong>group attribution bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#implicit_bias""><strong>implicit bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#in-group_bias""><strong>in-group bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#out-group_homogeneity_bias""><strong>out-group homogeneity bias</strong></a></li>
</ul>
<p>
2. Systematic error introduced by a sampling or reporting procedure.
Forms of this type of bias include:
</p>
<ul align=""left"">
<li><a href=""https://developers.google.com/machine-learning/glossary/#selection_bias""><strong>coverage bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#selection_bias""><strong>non-response bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#participation_bias""><strong>participation bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#reporting_bias""><strong>reporting bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#selection_bias""><strong>sampling bias</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#selection_bias""><strong>selection bias</strong></a></li>
</ul>
<p>Not to be confused with the <a href=""https://developers.google.com/machine-learning/glossary/#bias"">bias term</a> in machine learning models
or <a href=""https://developers.google.com/machine-learning/glossary/#prediction_bias""><strong>prediction bias</strong></a>.</p>
"
bias (math) (Google Machine Learning Glossary)|"
<p>An intercept or offset from an origin. Bias (also known as the
<strong>bias term</strong>) is referred to as <em>b</em> or <i>w<sub>0</sub></i> in
machine learning models. For example, bias is the <em>b</em> in the
following formula:</p>
<div>
[$$]y' = b + w_1x_1 + w_2x_2 + … w_nx_n[/$$]
</div>
<p>Not to be confused with <a href=""https://developers.google.com/machine-learning/glossary/#bias_ethics""><strong>bias in ethics and fairness</strong></a>
or <a href=""https://developers.google.com/machine-learning/glossary/#prediction_bias""><strong>prediction bias</strong></a>.</p>
"
bigram (Google Machine Learning Glossary)|"
<p>An <a href=""https://developers.google.com/machine-learning/glossary/#N-gram""><strong>N-gram</strong></a> in which N=2.</p>
"
binary classification (Google Machine Learning Glossary)|"
<p>A type of <a href=""https://developers.google.com/machine-learning/glossary/#classification_model""><strong>classification</strong></a> task that outputs one
of two mutually exclusive <a href=""https://developers.google.com/machine-learning/glossary/#class""><strong>classes</strong></a>. For example, a machine
learning model that evaluates email messages and outputs either "spam" or
"not spam" is a <a href=""https://developers.google.com/machine-learning/glossary/#binary_classification""><strong>binary classifier</strong></a>.</p>
"
binning (Google Machine Learning Glossary)|"
<p>See <a href=""https://developers.google.com/machine-learning/glossary/#bucketing""><strong>bucketing</strong></a>.</p>
"
boosting (Google Machine Learning Glossary)|"
<p>A machine learning technique that iteratively combines a set of simple and
not very accurate classifiers (referred to as "weak" classifiers) into a
classifier with high accuracy (a "strong" classifier) by
<a href=""https://developers.google.com/machine-learning/glossary/#upweighting""><strong>upweighting</strong></a> the examples that the model is currently
misclassfying.</p>
"
bounding box (Google Machine Learning Glossary)|"
<p>In an image, the (<em>x</em>, <em>y</em>) coordinates of a rectangle around an area of
interest, such as the dog in the image below.</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/bounding_box.jpg""
alt=""Photograph of a dog sitting on a sofa. A green bounding box
with top-left coordinates of (275, 1271) and bottom-right
coordinates of (2954, 2761) circumscribes the dog's body"">
</p>
"
broadcasting (Google Machine Learning Glossary)|"
<p>Expanding the shape of an operand in a matrix math operation to
<a href=""https://developers.google.com/machine-learning/glossary/#dimensions""><strong>dimensions</strong></a> compatible for that operation. For instance,
linear algebra requires that the two operands in a matrix addition operation
must have the same dimensions. Consequently, you can't add a matrix of shape
(m, n) to a vector of length n. Broadcasting enables this operation by
virtually expanding the vector of length n to a matrix of shape (m,n) by
replicating the same values down each column.</p>
<p>For example, given the following definitions, linear algebra prohibits
A+B because A and B have different dimensions:</p>
<pre class=""prettyprint"" translate=""no"" dir=""ltr""><code translate=""no"" dir=""ltr"">A = [[7, 10, 4],
[13, 5, 9]]
B = [2]
</code></pre>
<p>However, broadcasting enables the operation A+B by virtually expanding B to:</p>
<pre class=""prettyprint"" translate=""no"" dir=""ltr""><code translate=""no"" dir=""ltr""> [[2, 2, 2],
[2, 2, 2]]
</code></pre>
<p>Thus, A+B is now a valid operation:</p>
<pre class=""prettyprint"" translate=""no"" dir=""ltr""><code translate=""no"" dir=""ltr"">[[7, 10, 4], + [[2, 2, 2], = [[ 9, 12, 6],
[13, 5, 9]] [2, 2, 2]] [15, 7, 11]]
</code></pre>
<p>See the following description of
<a href=""https://docs.scipy.org/doc/numpy-1.15.0/user/basics.broadcasting.html""
target=""T"">broadcasting in NumPy</a> for more details.</p>
"
bucketing (Google Machine Learning Glossary)|"
<p>Converting a (usually <a href=""https://developers.google.com/machine-learning/glossary/#continuous_feature""><strong>continuous</strong></a>) feature into
multiple binary features called buckets or bins, typically based on value
range. For example, instead of representing temperature as a single
continuous floating-point feature, you could chop ranges of temperatures
into discrete bins. Given temperature data sensitive to a tenth of a degree,
all temperatures between 0.0 and 15.0 degrees could be put into one bin,
15.1 to 30.0 degrees could be a second bin, and 30.1 to 50.0 degrees could
be a third bin.</p>
"
calibration layer (Google Machine Learning Glossary)|"
<p>A post-prediction adjustment, typically to account for
<a href=""https://developers.google.com/machine-learning/glossary/#prediction_bias""><strong>prediction bias</strong></a>. The adjusted predictions and
probabilities should match the distribution of an observed set of labels.</p>
"
candidate generation (Google Machine Learning Glossary)|"
<p>The initial set of recommendations chosen by a recommendation system. For
example, consider a bookstore that offers 100,000 titles. The candidate
generation phase creates a much smaller list of suitable books for a
particular user, say 500. But even 500 books is way too many to recommend
to a user. Subsequent, more expensive, phases of a recommendation system
(such as <a href=""https://developers.google.com/machine-learning/glossary/#scoring""><strong>scoring</strong></a> and <a href=""https://developers.google.com/machine-learning/glossary/#re-ranking""><strong>re-ranking</strong></a>) whittle
down those 500 to a much smaller, more useful set of recommendations.</p>
"
candidate sampling (Google Machine Learning Glossary)|"
<p>A training-time optimization in which a probability is calculated for all the
positive labels, using, for example, <a href=""https://developers.google.com/machine-learning/glossary/#softmax""><strong>softmax</strong></a>,
but only for a random
sample of negative labels. For example, if we have an example labeled
<em>beagle</em> and <em>dog</em> candidate sampling computes the predicted probabilities
and corresponding loss terms for the <em>beagle</em> and <em>dog</em> class outputs
in addition to a random subset of the remaining classes
(<em>cat</em>, <em>lollipop</em>, <em>fence</em>). The idea is that the
<a href=""https://developers.google.com/machine-learning/glossary/#negative_class""><strong>negative classes</strong></a> can learn from less frequent
negative reinforcement as long as
<a href=""https://developers.google.com/machine-learning/glossary/#positive_class""><strong>positive classes</strong></a> always get proper positive
reinforcement, and this is indeed observed empirically. The motivation for
candidate sampling is a computational efficiency win from not computing
predictions for all negatives.</p>
"
categorical data (Google Machine Learning Glossary)|"
<p><a href=""https://developers.google.com/machine-learning/glossary/#feature""><strong>Features</strong></a> having a discrete set of possible values. For example,
consider a categorical feature named <code translate=""no"" dir=""ltr"">house style</code>, which has a discrete set of
three possible values: <code translate=""no"" dir=""ltr"">Tudor, ranch, colonial</code>. By representing <code translate=""no"" dir=""ltr"">house style</code>
as categorical data, the model can learn the separate impacts of <code translate=""no"" dir=""ltr"">Tudor</code>,
<code translate=""no"" dir=""ltr"">ranch</code>, and <code translate=""no"" dir=""ltr"">colonial</code> on house price.</p>
<p>Sometimes, values in the discrete set are mutually exclusive, and only one
value can be applied to a given example. For example, a <code translate=""no"" dir=""ltr"">car maker</code>
categorical feature would probably permit only a single value (<code translate=""no"" dir=""ltr"">Toyota</code>)
per example. Other times, more than one value may be applicable. A single
car could be painted more than one different color, so a <code translate=""no"" dir=""ltr"">car color</code>
categorical feature would likely permit a single example to have multiple
values (for example, <code translate=""no"" dir=""ltr"">red</code> and <code translate=""no"" dir=""ltr"">white</code>).</p>
<p>Categorical features are sometimes called
<a href=""https://developers.google.com/machine-learning/glossary/#discrete_feature""><strong>discrete features</strong></a>.</p>
<p>Contrast with <a href=""https://developers.google.com/machine-learning/glossary/#numerical_data""><strong>numerical data</strong></a>.</p>
"
centroid (Google Machine Learning Glossary)|"
<p>The center of a cluster as determined by a <a href=""https://developers.google.com/machine-learning/glossary/#k-means""><strong>k-means</strong></a> or
<a href=""https://developers.google.com/machine-learning/glossary/#k-median""><strong>k-median</strong></a> algorithm. For instance, if k is 3,
then the k-means or k-median algorithm finds 3 centroids.</p>
"
centroid-based clustering (Google Machine Learning Glossary)|"
<p>A category of <a href=""https://developers.google.com/machine-learning/glossary/#clustering""><strong>clustering</strong></a> algorithms that organizes data
into nonhierarchical clusters. <a href=""https://developers.google.com/machine-learning/glossary/#k-means""><strong>k-means</strong></a> is the most widely
used centroid-based clustering algorithm.</p>
<p>Contrast with <a href=""https://developers.google.com/machine-learning/glossary/#hierarchical_clustering""><strong>hierarchical clustering</strong></a>
algorithms.</p>
"
checkpoint (Google Machine Learning Glossary)|"
<p>Data that captures the state of the variables of a model at a particular
time. Checkpoints enable exporting model <a href=""https://developers.google.com/machine-learning/glossary/#weight""><strong>weights</strong></a>, as well
as performing training across multiple sessions. Checkpoints also enable
training to continue past errors (for example, job preemption). Note that
the <a href=""https://developers.google.com/machine-learning/glossary/#graph""><strong>graph</strong></a> itself is not included in a checkpoint.</p>
"
class (Google Machine Learning Glossary)|"
<p>One of a set of enumerated target values for a label. For example, in a
<a href=""https://developers.google.com/machine-learning/glossary/#binary_classification""><strong>binary classification</strong></a> model that detects
spam, the two classes are <em>spam</em> and <em>not spam</em>. In a
<a href=""https://developers.google.com/machine-learning/glossary/#multi-class""><strong>multi-class classification</strong></a> model that
identifies dog breeds, the classes would be <em>poodle</em>, <em>beagle</em>, <em>pug</em>, and so
on.</p>
"
classification model (Google Machine Learning Glossary)|"
<p>A type of machine learning model for distinguishing among two or more
discrete classes. For example, a natural language processing classification
model could determine whether an input sentence was in French, Spanish,
or Italian. Compare with <a href=""https://developers.google.com/machine-learning/glossary/#regression_model""><strong>regression model</strong></a>.</p>
"
classification threshold (Google Machine Learning Glossary)|"
<p>A scalar-value criterion that is applied to a model's predicted score in order
to separate the <a href=""https://developers.google.com/machine-learning/glossary/#positive_class""><strong>positive class</strong></a> from the <a href=""https://developers.google.com/machine-learning/glossary/#negative_class""><strong>negative
class</strong></a>. Used when mapping
<a href=""https://developers.google.com/machine-learning/glossary/#logistic_regression""><strong>logistic regression</strong></a> results to
<a href=""https://developers.google.com/machine-learning/glossary/#binary_classification""><strong>binary classification</strong></a>. For example, consider
a logistic regression model that determines the probability of a given email
message being spam. If the classification threshold is 0.9, then logistic
regression values above 0.9 are classified as <em>spam</em> and those below
0.9 are classified as <em>not spam</em>.</p>
"
class-imbalanced dataset (Google Machine Learning Glossary)|"
<p>A <a href=""https://developers.google.com/machine-learning/glossary/#binary_classification""><strong>binary classification</strong></a> problem in which the
<a href=""https://developers.google.com/machine-learning/glossary/#label""><strong>labels</strong></a> for the two classes have significantly different
frequencies. For example, a disease dataset in which 0.0001 of examples
have positive labels and 0.9999 have negative labels is a class-imbalanced
problem, but a football game predictor in which 0.51 of examples label one
team winning and 0.49 label the other team winning is <em>not</em> a
class-imbalanced problem.</p>
"
clipping (Google Machine Learning Glossary)|"
<p>A technique for handling <a href=""https://developers.google.com/machine-learning/glossary/#outliers""><strong>outliers</strong></a>. Specifically, reducing
feature values that are greater than a set maximum value down to that maximum
value. Also, increasing feature values that are less than a specific minimum
value up to that minimum value.</p>
<p>For example, suppose that only a few feature values fall outside the
range 40–60. In this case, you could do the following:</p>
<ul align=""left"">
<li>Clip all values over 60 to be exactly 60.</li>
<li>Clip all values under 40 to be exactly 40.</li>
</ul>
<p>In addition to bringing <em>input values</em> within a designated range, clipping
can also used to force <em>gradient values</em> within a designated range during
training.</p>
"
Cloud TPU (Google Machine Learning Glossary)|"
<p>A specialized hardware accelerator designed to speed up machine
learning workloads on Google Cloud Platform.</p>
"
clustering (Google Machine Learning Glossary)|"
<p>Grouping related <a href=""https://developers.google.com/machine-learning/glossary/#example""><strong>examples</strong></a>, particularly during
<a href=""https://developers.google.com/machine-learning/glossary/#unsupervised_machine_learning""><strong>unsupervised learning</strong></a>. Once all the
examples are grouped, a human can optionally supply meaning to each cluster.</p>
<p>Many clustering algorithms exist. For example, the <a href=""https://developers.google.com/machine-learning/glossary/#k-means""><strong>k-means</strong></a>
algorithm clusters examples based on their proximity to a
<a href=""https://developers.google.com/machine-learning/glossary/#centroid""><strong>centroid</strong></a>, as in the following diagram:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/Cluster.svg"">
</p>
<p>A human researcher could then review the clusters and, for example,
label cluster 1 as "dwarf trees" and cluster 2 as "full-size trees."</p>
<p>As another example, consider a clustering algorithm based on an
example's distance from a center point, illustrated as follows:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/RingCluster.svg"">
</p>
"
co-adaptation (Google Machine Learning Glossary)|"
<p>When <a href=""https://developers.google.com/machine-learning/glossary/#neuron""><strong>neurons</strong></a> predict patterns in training data by relying
almost exclusively on outputs of specific other neurons instead of relying on
the network's behavior as a whole. When the patterns that cause co-adaption
are not present in validation data, then co-adaptation causes overfitting.
<a href=""https://developers.google.com/machine-learning/glossary/#dropout_regularization""><strong>Dropout regularization</strong></a> reduces co-adaptation
because dropout ensures neurons cannot rely solely on specific other neurons.</p>
"
collaborative filtering (Google Machine Learning Glossary)|"
<p>Making <a href=""https://developers.google.com/machine-learning/glossary/#prediction""><strong>predictions</strong></a> about the interests of one user
based on the interests of many other users. Collaborative filtering
is often used in <a href=""https://developers.google.com/machine-learning/glossary/#recommendation_system""><strong>recommendation systems</strong></a>.</p>
"
confirmation bias (Google Machine Learning Glossary)|"
<p>The tendency to search for, interpret, favor, and recall information in a
way that confirms one's preexisting beliefs or hypotheses.
Machine learning developers may inadvertently collect or label
data in ways that influence an outcome supporting their existing
beliefs. Confirmation bias is a form of <a href=""https://developers.google.com/machine-learning/glossary/#implicit_bias""><strong>implicit bias</strong></a>.</p>
<p><strong>Experimenter's bias</strong> is a form of confirmation bias in which
an experimenter continues training models until a preexisting
hypothesis is confirmed.</p>
"
confusion matrix (Google Machine Learning Glossary)|"
<p>An NxN table that summarizes how successful a
<a href=""https://developers.google.com/machine-learning/glossary/#classification_model""><strong>classification model's</strong></a> predictions were; that is,
the correlation between the label and the model's classification. One axis of
a confusion matrix is the <a href=""https://developers.google.com/machine-learning/glossary/#label""><strong>label</strong></a> that the model predicted, and the
other axis is the actual label. N represents the number of
<a href=""https://developers.google.com/machine-learning/glossary/#class""><strong>classes</strong></a>. In a <a href=""https://developers.google.com/machine-learning/glossary/#binary_classification""><strong>binary classification</strong></a>
problem, N=2. For example, here is a sample confusion matrix for a
binary classification problem:</p>
<table>
<thead>
<tr>
<th></th>
<th>Tumor (predicted)</th>
<th>Non-Tumor (predicted)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tumor (actual)</td>
<td>18</td>
<td>1</td>
</tr>
<tr>
<td>Non-Tumor (actual)</td>
<td>6</td>
<td>452</td>
</tr>
</tbody>
</table>
<p>The preceding confusion matrix shows that of the 19 samples that actually had
tumors, the model correctly classified 18 as having tumors
(18 <a href=""https://developers.google.com/machine-learning/glossary/#TP""><strong>true positives</strong></a>), and incorrectly classified 1 as
not having a tumor (1 <a href=""https://developers.google.com/machine-learning/glossary/#FN""><strong>false negative</strong></a>). Similarly, of
458 samples that actually did not have tumors, 452 were correctly classified
(452 <a href=""https://developers.google.com/machine-learning/glossary/#TN""><strong>true negatives</strong></a>) and 6 were
incorrectly classified (6 <a href=""https://developers.google.com/machine-learning/glossary/#FP""><strong>false positives</strong></a>).</p>
<p>The confusion matrix for a <a href=""https://developers.google.com/machine-learning/glossary/#multi-class""><strong>multi-class classification</strong></a>
problem can help you determine mistake patterns. For example, a
confusion matrix could reveal that a model trained to recognize handwritten
digits tends to mistakenly predict 9 instead of 4, or 1 instead of 7.</p>
<p>Confusion matrices contain sufficient information to calculate a
variety of performance metrics, including <a href=""https://developers.google.com/machine-learning/glossary/#precision""><strong>precision</strong></a>
and <a href=""https://developers.google.com/machine-learning/glossary/#recall""><strong>recall</strong></a>.</p>
"
continuous feature (Google Machine Learning Glossary)|"
<p>A floating-point feature with an infinite range of possible values.
Contrast with <a href=""https://developers.google.com/machine-learning/glossary/#discrete_feature""><strong>discrete feature</strong></a>.</p>
"
convenience sampling (Google Machine Learning Glossary)|"
<p>Using a dataset not gathered scientifically in order to run quick
experiments. Later on, it's essential to switch to a scientifically gathered
dataset.</p>
"
convergence (Google Machine Learning Glossary)|"
<p>Informally, often refers to a state reached during <a href=""https://developers.google.com/machine-learning/glossary/#training""><strong>training</strong></a>
in which training <a href=""https://developers.google.com/machine-learning/glossary/#loss""><strong>loss</strong></a> and <a href=""https://developers.google.com/machine-learning/glossary/#validation""><strong>validation</strong></a> loss
change very little or not at all
with each iteration after a certain number of iterations. In other words, a
model reaches convergence when additional training on the current data will
not improve the model. In <a href=""https://developers.google.com/machine-learning/glossary/#deep_model""><strong>deep learning</strong></a>, loss values
sometimes stay constant or nearly so for many iterations before finally
descending, temporarily producing a false sense of convergence.</p>
<p>See also <a href=""https://developers.google.com/machine-learning/glossary/#early_stopping""><strong>early stopping</strong></a>.</p>
<p>See also Boyd and Vandenberghe,
<a href=""https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf""
target=""T"">Convex Optimization</a>.</p>
"
convex function (Google Machine Learning Glossary)|"
<p>A function in which the region above the graph of the function is a
<a href=""https://developers.google.com/machine-learning/glossary/#convex_set""><strong>convex set</strong></a>. The prototypical convex function is
shaped something like the letter <strong>U</strong>. For example, the following
are all convex functions:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/convex_functions.png"" height=""300""
alt=""A typical convex function is shaped like the letter 'U'.""></img>
</p>
<p>By contrast, the following function is not convex. Notice how the
region above the graph is not a convex set:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/nonconvex_function.svg"">
</p>
<p>A <strong>strictly convex function</strong> has exactly one local minimum point, which
is also the global minimum point. The classic U-shaped functions are
strictly convex functions. However, some convex functions
(for example, straight lines) are not U-shaped.</p>
<p>A lot of the common <a href=""https://developers.google.com/machine-learning/glossary/#loss""><strong>loss functions</strong></a>, including the
following, are convex functions:</p>
<ul align=""left"">
<li><a href=""https://developers.google.com/machine-learning/glossary/#L2_loss""><strong>L<sub>2</sub> loss</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#Log_Loss""><strong>Log Loss</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#L1_regularization""><strong>L<sub>1</sub> regularization</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#L2_regularization""><strong>L<sub>2</sub> regularization</strong></a></li>
</ul>
<p>Many variations of <a href=""https://developers.google.com/machine-learning/glossary/#gradient_descent""><strong>gradient descent</strong></a> are
guaranteed to find a point close to the minimum of a
strictly convex function. Similarly, many variations of
<a href=""https://developers.google.com/machine-learning/glossary/#SGD""><strong>stochastic gradient descent</strong></a> have a high probability
(though, not a guarantee) of finding a point close to the minimum of a
strictly convex function.</p>
<p>The sum of two convex functions (for example,
L<sub>2</sub> loss + L<sub>1</sub> regularization) is a convex function.</p>
<p><a href=""https://developers.google.com/machine-learning/glossary/#deep_model""><strong>Deep models</strong></a> are never convex functions.
Remarkably, algorithms designed for
<a href=""https://developers.google.com/machine-learning/glossary/#convex_optimization""><strong>convex optimization</strong></a> tend to find
reasonably good solutions on deep networks anyway, even though
those solutions are not guaranteed to be a global minimum.</p>
"
convex optimization (Google Machine Learning Glossary)|"
<p>The process of using mathematical techniques such as
<a href=""https://developers.google.com/machine-learning/glossary/#gradient_descent""><strong>gradient descent</strong></a> to find
the minimum of a <a href=""https://developers.google.com/machine-learning/glossary/#convex_function""><strong>convex function</strong></a>.
A great deal of research in machine learning has focused on formulating various
problems as convex optimization problems and in solving those problems more
efficiently.</p>
<p>For complete details, see Boyd and Vandenberghe,
<a href=""https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf"" target=""T"">Convex
Optimization</a>.</p>
"
convex set (Google Machine Learning Glossary)|"
<p>A subset of Euclidean space such that a line drawn between any two points in the
subset remains completely within the subset. For instance, the following two
shapes are convex sets:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/convex_set.png"" alt=""A rectangle
and a semi-ellipse are both convex sets.""></img>
</p>
<p>By contrast, the following two shapes are not convex sets:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/nonconvex_set.png"" alt=""A pie-chart
with a missing slice and a firework are both nonconvex sets.""></img>
</p>
"
convolution (Google Machine Learning Glossary)|"
<p>In mathematics, casually speaking, a mixture of two functions. In machine
learning, a convolution mixes the convolutional filter and the input matrix
in order to train <a href=""https://developers.google.com/machine-learning/glossary/#weight""><strong>weights</strong></a>.</p>
<p>The term "convolution" in machine learning is often a shorthand way of
referring to either <a href=""https://developers.google.com/machine-learning/glossary/#convolutional_operation""><strong>convolutional operation</strong></a>
or <a href=""https://developers.google.com/machine-learning/glossary/#convolutional_layer""><strong>convolutional layer</strong></a>.</p>
<p>Without convolutions, a machine learning algorithm would have to learn
a separate weight for every cell in a large <a href=""https://developers.google.com/machine-learning/glossary/#tensor""><strong>tensor</strong></a>. For example,
a machine learning algorithm training on 2K x 2K images would be forced to
find 4M separate weights. Thanks to convolutions, a machine learning
algorithm only has to find weights for every cell in the
<a href=""https://developers.google.com/machine-learning/glossary/#convolutional_filter""><strong>convolutional filter</strong></a>, dramatically reducing
the memory needed to train the model. When the convolutional filter is
applied, it is simply replicated across cells such that each is multiplied
by the filter.</p>
"
convolutional filter (Google Machine Learning Glossary)|"
<p>One of the two actors in a
<a href=""https://developers.google.com/machine-learning/glossary/#convolutional_operation""><strong>convolutional operation</strong></a>. (The other actor
is a slice of an input matrix.) A convolutional filter is a matrix having
the same <a href=""https://developers.google.com/machine-learning/glossary/#rank""><strong>rank</strong></a> as the input matrix, but a smaller shape.
For example, given a 28x28 input matrix, the filter could be any 2D matrix
smaller than 28x28.</p>
<p>In photographic manipulation, all the cells in a convolutional filter are
typically set to a constant pattern of ones and zeroes. In machine learning,
convolutional filters are typically seeded with random numbers and then the
network <a href=""https://developers.google.com/machine-learning/glossary/#training""><strong>trains</strong></a> the ideal values.</p>
"
convolutional layer (Google Machine Learning Glossary)|"
<p>A layer of a <a href=""https://developers.google.com/machine-learning/glossary/#deep_model""><strong>deep neural network</strong></a> in which a
<a href=""https://developers.google.com/machine-learning/glossary/#convolutional_filter""><strong>convolutional filter</strong></a> passes along an input
matrix. For example, consider the following 3x3
<a href=""https://developers.google.com/machine-learning/glossary/#convolutional_filter""><strong>convolutional filter</strong></a>:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/ConvolutionalFilter33.svg"">
</p>
<p>The following animation shows a convolutional layer consisting of 9
convolutional operations involving the 5x5 input matrix. Notice that each
convolutional operation works on a different 3x3 slice of the input matrix.
The resulting 3x3 matrix (on the right) consists of the results of the 9
convolutional operations:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/AnimatedConvolution.gif"">
</p>
"
convolutional neural network (Google Machine Learning Glossary)|"
<p>A <a href=""https://developers.google.com/machine-learning/glossary/#neural_network""><strong>neural network</strong></a> in which at least one layer is a
<a href=""https://developers.google.com/machine-learning/glossary/#convolutional_layer""><strong>convolutional layer</strong></a>. A typical convolutional
neural network consists of some combination of the following layers:</p>
<ul align=""left"">
<li><a href=""https://developers.google.com/machine-learning/glossary/#convolutional_layer""><strong>convolutional layers</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#pooling""><strong>pooling layers</strong></a></li>
<li><a href=""https://developers.google.com/machine-learning/glossary/#dense_layer""><strong>dense layers</strong></a></li>
</ul>
<p>Convolutional neural networks have had great success in certain kinds
of problems, such as image recognition.</p>
"
convolutional operation (Google Machine Learning Glossary)|"
<p>The following two-step mathematical operation:</p>
<ol align=""left"">
<li>Element-wise multiplication of the
<a href=""https://developers.google.com/machine-learning/glossary/#convolutional_filter""><strong>convolutional filter</strong></a> and a slice of an
input matrix. (The slice of the input matrix has the same rank and
size as the convolutional filter.)</li>
<li>Summation of all the values in the resulting product matrix.</li>
</ol>
<p>For example, consider the following 5x5 input matrix:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/ConvolutionalLayerInputMatrix.svg"">
</p>
<p>Now imagine the following 2x2 convolutional filter:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/ConvolutionalLayerFilter.svg"">
</p>
<p>Each convolutional operation involves a single 2x2 slice of the
input matrix. For instance, suppose we use the 2x2 slice at the
top-left of the input matrix. So, the convolution operation on
this slice looks as follows:</p>
<p>
<img src=""https://developers.google.com/machine-learning/glossary/images/ConvolutionalLayerOperation.svg"">
</p>
<p>A <a href=""https://developers.google.com/machine-learning/glossary/#convolutional_layer""><strong>convolutional layer</strong></a> consists of a
series of convolutional operations, each acting on a different slice
of the input matrix.</p>
"
cost (Google Machine Learning Glossary)|"
<p>Synonym for <a href=""https://developers.google.com/machine-learning/glossary/#loss""><strong>loss</strong></a>.</p>
"
counterfactual fairness (Google Machine Learning Glossary)|"
A <a href=""https://developers.google.com/machine-learning/glossary/#fairness_metric""><strong>fairness metric</strong></a> that checks whether a classifier
produces the same result for one individual as it does for another individual
who is identical to the first, except with respect to one or more
<a href=""https://developers.google.com/machine-learning/glossary/#sensitive_attribute""><strong>sensitive attributes</strong></a>. Evaluating a classifier for
counterfactual fairness is one method for surfacing potential sources of
bias in a model.</p>
<p>See
<a href=""https://papers.nips.cc/paper/7220-when-worlds-collide-integrating-different-counterfactual-assumptions-in-fairness.pdf"" target=""T"">"When Worlds
Collide: Integrating Different Counterfactual Assumptions in Fairness"</a>
for a more detailed discussion of counterfactual fairness.</p>
"
coverage bias (Google Machine Learning Glossary)|"
<p>See <a href=""https://developers.google.com/machine-learning/glossary/#selection_bias""><strong>selection bias</strong></a>.</p>
"
crash blossom (Google Machine Learning Glossary)|"
<p>A sentence or phrase with an ambiguous meaning.
Crash blossoms present a significant problem in <a href=""https://developers.google.com/machine-learning/glossary/#natural_language_understanding""><strong>natural
language understanding</strong></a>.
For example, the headline <em>Red Tape Holds Up Skyscraper</em> is a
crash blossom because an NLU model could interpret the headline literally or
figuratively.</p>
"
critic (Google Machine Learning Glossary)|"
<p>Synonym for <a href=""https://developers.google.com/machine-learning/glossary/#deep_q-network""><strong>Deep Q-Network</strong></a>.</p>
"
cross-entropy (Google Machine Learning Glossary)|"
<p>A generalization of <a href=""https://developers.google.com/machine-learning/glossary/#Log_Loss""><strong>Log Loss</strong></a> to
<a href=""https://developers.google.com/machine-learning/glossary/#multi-class""><strong>multi-class classification problems</strong></a>. Cross-entropy
quantifies the difference between two probability distributions. See also
<a href=""https://developers.google.com/machine-learning/glossary/#perplexity""><strong>perplexity</strong></a>.</p>
"
cross-validation (Google Machine Learning Glossary)|"
<p>A mechanism for estimating how well a model will generalize to new data by
testing the model against one or more non-overlapping data subsets withheld
from the <a href=""https://developers.google.com/machine-learning/glossary/#training_set""><strong>training set</strong></a>.</p>
"
custom Estimator (Google Machine Learning Glossary)|"
<p>An <a href=""https://developers.google.com/machine-learning/glossary/#Estimators""><strong>Estimator</strong></a> that you write yourself by following
<a href=""https://www.tensorflow.org/guide/custom_estimators""
target=""T"">these directions</a>.</p>
<p>Contrast with <a href=""https://developers.google.com/machine-learning/glossary/#premade_Estimator""><strong>premade Estimators</strong></a>.</p>
"
data analysis (Google Machine Learning Glossary)|"
<p>Obtaining an understanding of data by considering samples, measurement,
and visualization. Data analysis can be particularly useful when a
dataset is first received, before one builds the first model. It is
also crucial in understanding experiments and debugging problems with
the system.</p>
"
data augmentation (Google Machine Learning Glossary)|"
<p>Artificially boosting the range and number of <a href=""https://developers.google.com/machine-learning/glossary/#training""><strong>training</strong></a> examples
by transforming existing examples to create additional examples. For example,
suppose images are one of your features, but your dataset doesn't contain
enough image examples for the model to learn useful associations. Ideally,
you'd add enough <a href=""https://developers.google.com/machine-learning/glossary/#label""><strong>labeled</strong></a> images to your dataset to enable your
model to train properly. If that's not possible, data augmentation can rotate,
stretch, and reflect each image to produce many variants of the original
picture, possibly yielding enough labeled data to enable excellent training.</p>