I think the most important point of teaching maths for data science is to build mental models in the data scientists head. It takes time and part of the process of learning maths and usually takes 2 years (or two years course in university). Bypassing that process backfires—startups raising money for AI/ML normally take 2 years before shipping the product.
I think the mental model part is the most difficult to teach, but obviously, we are paid for specialised skills—like coding in python, hence everyone wants to jump into coding python without putting effort into learning maths and building proper mental models, which I think is wrong. The coding part is easy—I am comfortable with Octave/Matlab and Python or Rust. I would back Andrew Ng for choosing Octave for example—it’s one of the most concise ways to get ML concepts working, although I disliked it when I was a student, then I tried to translate the following code into Python:
%% Main loop
while(gen<maxgen)
gen
% perform uniform selection, then intermediate crossover
chx=zeros(lamda,nvar); % create storage space for new chrom
sigx=zeros(lamda,nvar); % create storage space for new sigmas
for n=1:lamda % loop over all population
if(rand<xovr) % roll the dice and see if we need to cross
alpha=rand(1,nvar)*1.5-0.25; % create vector of random
% then crossover
chx(n,:)=alpha.*chrom(mod(n-1,p)+1,:)+(1-alpha).*chrom(ceil(rand*p),:);
sigx(n,:)=abs(alpha.*sig(mod(n-1,p)+1,:)+(1-alpha).*sig(ceil(rand*p),:));
else
chx(n,:)=chrom(mod(n-1,p)+1,:); % just copy if not crossing
sigx(n,:)=sig(mod(n-1,p)+1,:);
end
end
I think the most important point of teaching maths for data science is to build mental models in the data scientists head. It takes time and part of the process of learning maths and usually takes 2 years (or two years course in university). Bypassing that process backfires—startups raising money for AI/ML normally take 2 years before shipping the product.
I think the mental model part is the most difficult to teach, but obviously, we are paid for specialised skills—like coding in python, hence everyone wants to jump into coding python without putting effort into learning maths and building proper mental models, which I think is wrong. The coding part is easy—I am comfortable with Octave/Matlab and Python or Rust. I would back Andrew Ng for choosing Octave for example—it’s one of the most concise ways to get ML concepts working, although I disliked it when I was a student, then I tried to translate the following code into Python: