Looking at Machine learning
I recently had to implement some of the common algorithms for
machine learning, both supervised and unsupervised methods using Python.
The problem's solutions were described using mathematics, with pages of
descriptive text. Once the program was coded, I could not find any relationship between the
program's Python script and the descriptive document.
It was impossible to read the coded program, and it was impossible to
logically describe the problem or the solution using equations and
descriptive text. Examples were required for a full understand of the
solution and of the problem.
I once taught a college class and stated that before computers there
was no thing such as "operator precedence". One student got so mad
as to drop the course. That statement has bothered me since and yet I
still believe in it.
In mathematics; location, operation and brackets determine the order
of evaluation. Computer languages came along and changed math
evaluation. The character set, keyboard and line editors limited the use
of mathematics. Operator precedence became the main method of
evaluation. Therefore the language of mathematics is lost.
Symbol substitution, order, placement, and brackets could replace our
"Mathematics is written for mathematicians." -- Copernicus
"As far as the laws of mathematics refer to reality, they are not
certain, and as far as they are certain, they do not refer to reality."
-- Albert Einstein
"He who asks a question is a fool for five minutes; he who does
not ask a question remains a fool forever." -Confucius
"If I had just one hour left to live, I'd spend it in Math
class... it never ends." -- Anonymous
"Mathematics is as much an aspect of culture as it is a collection
of algorithms." -- Carl Benjamin Boyer
"Life is hard; itís
harder if youíre stupid." -- John Wayne
Math Equation Programming:
The current computer languages have no direct relationship to the
science of mathematics. Equations, formulas, symbol substitution, sets,
subsets, integration, summation, probability, partial derivates,
trigonometric substations, rules and proofs of equations are not
maintained in our programming languages.
Programs such as
give the visual representation but not necessarily the content. Or if
the content were representative, the programming needed would be overly
complex for the editor, characters, and font technologies. So once
again the keyboard and fonts stop short of handling the editing needed
for complex math equation processing.
To implement math equations by a compiler requires a system for
editing in the language of mathematics. This means a keyboard with the
characters to be used, otherwise the human once again would be in the
middle as an interrupter. We need to get out of our 58 character
language to be able to code mathematics.
Lets jump ahead and assume the editing is handled. Where and how are
math equations are to be used, and more importantly to what benefit?
First look at this
paper. It describes the equation, restraints, and the proof in terms
that a human can read. Is it possible to program from this paper using
only the mathematics? There is a hung gap between mathematics and
the use for the mathematics, as can be seen in this paper from the text
used to describe the process. The author must assume some knowledge on
the part of the reader which makes it difficult to impossible program.
Parts of a Math Equation:
The input, result, operations, constants, ranges, indexes,
restraints, and structures are the primary parts of an equation. In
programming very little effort goes into the management of these parts
since none of them are of interest.
In mathematics all the factors
must be known before evaluation is accepted. The range and restraints
are often overlooked as a critical part of the equation.
Proofs of an Equation:
The mathematical truth broken down into manageable and
understandable equalities. They go far beyond correct or incorrect
thinking into the region of multiple mathematical entry points to a
solution. Programming of mathematical proofs place the solution of all
permutations into a system for unmanaged problem solving.
My first love of mathematics was in the area of trigonometry
substitutions, the science of substituting one equality for another and
then proceeding to solve a problem that was before unsolvable.
The best mathematicians are people that have the best command of
substitution, which is the restating of the program from any number of
starting points. The science of programming proofs is by far the
greatest challenge we face in the area of complier design, with the
greatest return on investment.
Proofs are, in one way, the reason we use the equation for a give
solution. In a wider scope, proofs provide alternate equalities, and
therefore different methods to solve problems, plus they provide
absolute accountability to the reasoning behind the solution.