4 ms·
I'll try to reply to the frustrations of the author of the OP. I'll give some high level views and also outline the math topics mentioned, high school through
by graycat 9y ago
I'll try to reply to the frustrations of
the author of the OP.
I'll give some high level views and also
outline the math topics mentioned, high
school through much of a Ph.D. in parts of
applied math.
I respond in three parts:
Part I
I have a good pure/applied math Ph.D. and
work in applied math and computing; while
I call my work applied math and not
artificial intelligence (AI), machine
learning (ML), or computer science, it
appears from the OP that there is
significant overlap between my background
and work and what the OP is concerned
about.
The Reddit post by the guy in Germany was
terrific although easy to parody as a big
feature of old German culture! :-)!
That post is maybe a bit over organized.
I've posted too often that the best future
for computer science was pure/applied
math, e.g., that someone seriously
interested in the future of computing
should as an undergraduate just major in
pure math with some applied math and,
essentially f'get about anything
specifically about computer science.
Or, for the essential computer science,
write some code in some common procedural
programming language for some simple
exercises, check out at the library D.
Knuth's The Art of Computer Programming,
Volume 3, Sorting and Searching, learn
about big-O notation, the heap data
structure and heap sort, as an exercise
program, say, a priority queue based on
the heap data structure, learn about the
Gleason bound and how heap sort achieves
it so is in an important sense the fastest
possible sort algorithm, as a side
exercise look at AVL trees, and call
computer science done for an
undergraduate! This is partly a joke but
not entirely.
Well, it appears that the OP has started
to discover some of why I've said such
things about math.
This role for math is just a special case
of the old standard situation that, in
nearly all fields, the best work
mathematizes the field as in, e.g.,
mathematical physics. Indeed, there is
the old joke that good coverage of the
math needed for theoretical physics is so
much about just the math that can do the
physics just in the footnotes.
It is a standard situation that nearly
everyone in the STEM fields is convinced
that they need to know more math. As I
read papers by computer science
professors, I tend to agree!
Here I'll try to help the person with
their lament in the OP:
(1) Start at about 50,000 feet up and
begin to identify in what fields, broadly
on what problems, you want to work.
Remember: One of the keys to success is
good, early work in problem selection.
(2) If you want to work in AI, I suggest
you try to regard the current headline
topics in AL/ML as nearly irrelevant.
Sure, for political reasons, might have to
keep up, and maybe there are some current,
hot applications, but I don't see that
work -- first-cut, ballpark, basically
empirical curve fitting to huge quantities
of data -- as much of a start on AI.
E.g., at one time I was hired to work in
an AI project, specifically expert
systems. My first reaction was that
expert systems -- rule based programming,
working memory and the RETE algorithm,
rule firing conflict resolution -- were
junk and, in particular, nothing like a
good start on AI, programming style, or
anything else. After 20 years my opinion
has changed: Expert systems were worse
than junk, as a style of programming, for
much of anything, and in particular on
anything like AI.
Maybe I got some revenge: We were trying
to use expert systems for the monitoring
and management of large server farms and
networks. For the monitoring, for
essentially health and wellness, they
were using essentially just thresholds set
by hand on single variables one at a time.
My view was, wrap that data and processing
in all the rules possible, and still the
results won't be very good.
Sure, for monitoring there are two ways to
be wrong, (A) a false alarm and (B) a
missed detection. So, right, we're forced
into statistical hypothesis testing with
(i) a null hypothesis that the system is
healthy, (ii) a false alarm is Type I
error, (iii) a missed detection is Type II
error. Quickly decide that need some
statistical hypothesis tests, with the
null hypothesis that the system is
healthy, that are both multidimensional
(treat several variables jointly)
distribution-free (make no assumptions
about probability distributions) and find
that apparently there were none such in
the literature. So, I invented a large
class of such tests that, really, totally
knocked the socks off expert systems for
much of monitoring. And what I did was
just some applied math and applied
probability -- some group theory, some
probability theory based on measure
theory, some measure preserving as in
ergodic theory, etc.
So, yes, I could say that my monitoring
took in training data, did some machine
learning, was better at its monitoring
than humans so was some artificial
intelligence, was computer science,
etc., but I didn't: I just called my work
some applied math. E.g., I got real
hypothesis tests where false alarm rate
was adjustable and known in advance and
some useful best possible results on
detection rate. So, as I wrote in the
paper, take away the mathematical
assumptions, derivations, theorems and
proofs, forget about false alarm rate and
detection rate, and just do the specified
data manipulations and call the work AI.
So, such real problems and applied things
are one approach to computer science, AI,
ML, etc. Then, sure, for such work as in
what I did for detection, need, really,
the Ph.D. coursework in pure and applied
math and some ability to do publishable
theorems and proofs in math -- for both,
net, need a pure/applied math Ph.D.
So, back to AI and mostly setting aside
the current headlines: For AI, I'd
suggest that from 50,000 feet up start by
watching
https://www.youtube.com/watch?v=vc8MddDFRw4 https://www.youtube.com/watch?v=vc8MddDFRw4
with a mommy kitty cat (domestic short
hair tabby) and 6 or so of her kittens,
maybe only 2 days old, and how they learn.
Their learning is astoundingly fast.
E.g., for how they learn to use their hind
legs, can see fairly directly some of just
how they do that. In just that one video
clip, in real time of likely just a week
or so, those kittens go from nearly
helpless balls of fur to young kitty cats.
Easy to guess that in two months they will
be safely 40 feet up a tree catching
something or other, effortlessly doing
gymnastic feats that would shame Olympic
athletes, etc. Astounding.
Okay for AI from 50,000 feet up, start by
trying to guess how those kittens learn.
Maybe there will be some math in that,
maybe not. Then if you can implement your
guess in software, if the software appears
from good tests in practice to learn some
things well, and if your guess is fairly
general, then maybe you have some progress
on AI. Here f'get about my view and
confirm with some AI profs who would have
to review your work, hire you for a
research slot, give you a research grant,
etc.
So, for some research, (i) could do some
math as I did for that monitoring or (ii)
try to do some real AI, e.g., by starting
by watching those kittens learn where
maybe, eventually there will be some math.
For both those research directions, notice
that need (i) some overview of the real
problem, (ii) some intuitive insights,
(iii) some good, new ideas. Maybe the
ideas will be mathematical or use math and
maybe not. E.g., might go a long way on
what those kittens are doing before use
much math.
(3) But for the math as mentioned by the OP,
I'll try to give an outline:
(i) Start with the real numbers, e.g., as
learned likely well enough by the 9th
grade. Then, sure, learn about the
complex numbers. So, net, have a high
school major in math, e.g., everything
short of calculus.
(ii) Learn college calculus well. At
least in part, you can do well alone: Due
to some circumstances beyond my control,
for freshman calculus I just got a good
book, studied, worked the exercises, and
learned. Then at a college with a good
math department, I started on sophomore
calculus. You can do such stuff yourself.
(iii) It would be good to take a course in
abstract algebra, especially one where
nearly all the exercises are proofs. So,
learn about sets, functions, groups,
rings, fields, more about the real and
complex numbers, maybe some basic number
theory, the greatest common divisor and
least common multiple algorithms, and some
about vector spaces. Might touch on
cryptography and coding theory.
Really the more important, maybe main,
value of the course is just learning how
to write proofs. The math there is nearly
all just so childishly simple that it's
easy to learn to write very highly precise
proofs -- crucial stuff if later want to
publish theorems and proofs.
Blunt fact of life, politically incorrect
observation: Without such training in
writing theorems and proofs, and, really,
just in math notation and how to do math
derivations, tough ever to learn how. So,
can find chaired professors of computer
science at top computer science
departments in top US research
universities who, however, fumble terribly
with just standard math notation and,
especially, with how to write theorems and
proofs.
- graycat 9y agoPart II Super simple view: In math, there are sets with elements. That's the logical foundation of essentially all of current pure/applied math. The details are in Zermalo-Fraenkel axiomatic set theory assuming the axiom of choice. E.g., can construct from sets a set that looks like the real numbers we knew about in the 9th grade. Soon define ordered pairs and, then, functions. After that, a huge fraction of everything is functions. The proofs -- as actually written but without the crucial intuitive ideas that permitted finding the proof -- are all essentially just symbol substitution as in basic logic and Whitehead and Russell. Warning: Any math you write for publication should be easily translated back to just sets and symbol substitution; that and nothing else is the criterion. If you also want the proof to be readable by humans, there is more. E.g., in the proof might mention one by one each theorem assumption and where it gets used. (iv) Learn linear algebra. Really the subject grew out of Gauss elimination for solving systems of linear equations -- with some additional attention to numerical stability (e.g., partial pivoting, double precision inner product accumulation, and iterative improvement) -- that's nearly always still the way to do it. It's fun to program a good Gauss elimination routine, e.g., just in C. There see clearly that any such system of equations has none, one, or infinitely many solutions. Later will discover that the set of all the solutions is an affine subspace, that is, a vector space plus some one vector; that is, a plane that does not pass through the origin. And will discover that the left side with the unknowns is a linear function -- big time stuff. So, that start was a small thing for a huge future. Next up, we consider n-tuples of real (or complex, here and always in linear algebra) numbers. Then we see how to make the n-tuples a vector space. They are the most important of the vector spaces. But should also see the abstract (with no mention of n-tuples) definition of a vector space because (a) the n-tuples are the most important example, (b) even when working with just n-tuples often need the more abstract definition (especially for subspaces, which are often the real interest, e.g., hyperplanes in curve fitting and multivariate statistics), and (c) there are other important vector spaces that are not just n-tuples (in signal processing, sets of random variables, wave functions in quantum mechanics, solutions to some differential equations, and much more). So, learn about linear independence and bases (essentially coordinate systems). Learn about inner products, distance, angles, and orthogonality. See generalizations of cosines, e.g., the Schwarz inequality, and the Pythagorean theorem. Learn about eigenvalues and eigen vectors -- those eigen vectors are often the most important ones in applications, e.g., your favorite coordinate axes. Then for the crown jewel, learn about the polar decomposition and, thus, singular values, principal components (e.g., data compression), the core of the normal equations in statistics, etc. There is a remark in G. Simmons that the two pillars of mathematical analysis are linearity and continuity. The superposition in physics is essentially linearity. In applied math, linearity is the main tool, the key to the land of milk and honey. Well, a good course in linear algebra is a good start on linearity. In particular, those linear equations solved with Gauss elimination are linear as in linear transformations in, right, linear algebra. Then, sure, that version of linearity takes one through much of all of applied math, e.g., Fourier analysis, the fast Fourier transform, X-ray diffraction, Banach space, Hilbert space, the classic Dunford and Schwartz, Linear Operators, etc. So, a Banach space is just a vector space where the scalars are the real or complex numbers, there is a norm, that is, a definition of distance, and the space is complete in that norm. Complete is what the rational numbers are not but the real numbers are. Or, complete means that a sequence that appears to converge, that is, converges in the weaker sense of Cauchy, actually does have something to converge to and does. E.g., in the rationals, the approximations to more and more decimal places of pi have nothing to converge to but in the reals do. In theorem proving, nice to have completeness. But, sure, computing knows next to nothing about completeness because we compute essentially only with rational numbers. So, can do a lot of work without completeness. Indeed, in applications, often we are just approximating, and the rationals can get as close as we please to pi! Banach spaces are not trivial or useless: E.g., based on the Hahn-Banach theorem, there is the grand applied math dessert buffet David G. Luenberger, Optimization by Vector Space Methods, John Wiley and Sons. A Hilbert space is a Banach space where the norm comes from an inner product. E.g., the set of all real valued random variables X such that E[X^2] is finite form a Hilbert space. That the space is complete for those random variables is nearly mind blowing; actually the proof is short. (v) There remains Baby Rudin, Principles of Mathematical Analysis. There see calculus done with essentially full care, as theorems and proofs. So, again, get lessons in how to write theorems and proofs on the way to being a good mathematician. The main content of the book is just showing that a real valued continuous function defined on a closed interval of the reals has a Riemann integral. The key is that that interval is compact. So, learn about compactness, which is of quite general usefulness. Then with compactness and continuity, have uniform continuity. Now the doors to grandeur start to open: That the Riemann integral works is a short proof. And, later in the book, get the three epsilon proof that the uniform limit of continuous functions is a continuous function (was a question on one of my Ph.D. qualifying exams -- from baby Rudin, I got it!). Compactness is so powerful that it is nearly the same as just finiteness -- there's a famous, old paper on that. Well for a positive integer n and the set of real number R, in R^n a set is compact if and only if it is closed and bounded. Now we are cleaning up the Riemann integral and a lot of associated stuff. At the back, Rudin gives a nice, short definition of a set of the real numbers that has measure zero (without really getting deep into measure theory) and, then, shows the Riemann integral exists if and only if the function is continuous everywhere except on a set of measure zero. Nice. Now an exercise is to find a function that is differentiable but whose derivative is not Riemann integrable. Might look in Gelbaum and Olmstead, Counterexamples in Analysis. Also the later editions of baby Rudin cover the exterior algebra of differential forms. That material is of interest in differential geometry, some applications, and general relativity. That's an overview of what baby Rudin is about. Go through that book carefully and will come out with (a) some good knowledge of the "principles" of the analysis part of pure math and (b) much better skills at doing math derivations, definitions, theorems, and proofs. If you want to write and publish new proofs for, say, AI, baby Rudin is one of your best mentors, maybe your Fairy Godmother? For being an applied mathematician, sure, you already guessed, and you were correct, that essentially always in practice the Riemann integral exists; so, why sweat the details? Okay, then just use baby Rudin to learn about compactness, continuity, uniform continuity, measure zero, and more on how to write proofs. And, really, focusing just on compactness, continuity, etc., can pull that off in a few, nice weekends, maybe just one. Then look at that result near the back on the uniform limit of continuous functions is continuous to see how to do such work. Sure, Rudin discusses compactness, etc. on metric spaces. Well, easily enough, the set of real numbers R is also a metric space! And for positive integer n, so is R^n. So, why say metric space instead of, say, just R^n? Well, first, the theory is cleaner because a metric space has so many fewer assumptions than R^n so that can see more clearly just what assumptions make the results true. Second, maybe some fine day all you will have is just a metric space and, then, can still use the results -- don't hold your breath while waiting for a significant application, either pure or applied, with a non-trivial metric space that isn't also much more! Or, proving the stuff in a metric space is no more difficult, more general, and maybe, and actually, more useful. Or, maybe math had the results in R^n and then invented a metric space just to have a place to have just enough to make the results true! So, a metric space was invented to have the least assumptions needed for proving the results; so, what came first were the results, and the metric space definition came later. Maybe!