1.1 Welcome to machine learning
Machine Learning
- Grew out of work in AI
- New capability for computers
Examples:
-
Database mining
Large databases from growth of automation / web.
E.g., Web click data, medical records, biology, engineering
-
Application can’t program by hand.
E.g., Autonomous helicopter, handwriting recognition, most of Natural Language Processing (NPL), Computer Vision.
-
Self-customizing (私人定制) programs
E.g., Amazon, Netflix product recommendations
-
Understanding human learning (brain, real AI).
1.2 What is machine learning
Machine Learning definition
- Arthur Samuel (1959) : Machine Learning is a field of study that gives computers the ability to learn without being explicitly programmed.
- Tom Mitchell (1998) : Well-posed Learning Problem : A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
Machine learning algorithms :
- Supervised learning
- Unsupervised learning
Others : Reinforcement learning (强化学习) , recommender systems (推荐系统) .
Also talk about : Practical advice for applying learning algorithms.
1.3 Supervised Learning
Fitting a straight line to the data, or fitting a quadratic function (二次函数), or a second-order polynomial (二次多项式) to this data may be better.
How to choose ? How to decide ?
Supervised Learning : “right answers” given.
We gave the algorithm a data set, in which the “right answer” were given.
Regression (回归) : Predict continuous valued output ( price)
We’re trying to predict the sort of continuous values attribute.
Classification : Discrete valued output (0 or 1)
We’re trying to predict a discrete valued output : (0 or 1). Sometimes, you can have more than two possible values for the output.
We may have more than one feature, more than one attribute (属性),
How do we deal with an infinite number of features ? How do even store an infinite number of things on the computer ?
Support Vector Machine : allow computer to deal with an infinite number of features.
1.4 Unsupervised Learning
CSDN上图片如何缩放啊啊啊啊啊 在typroa上markdown缩放50% sooo easy 转到CSDN就…森气
Unsupervised learning that doesn’t have any labels, or that all has the same label or really no labels. We’re given the data set and we’re not told what to do with it, and we’re not told what each data point is.
Instead we’re just tole, here is a data set, can you find some structure in the data ?
Given this data set, an Unsupervised Learning algorithm might decide that the data lives in two different clusters (簇) .
Clustering algorithm (聚类算法) :
Cocktail party algorithm (鸡尾酒会算法) : separate out two audio sources that were being added or being summed together to form other recordings.
[ W , s , v ] = s v d ( ( r e p m a t ( s u m ( x . ∗ x , 1 ) , s i z e ( x , 1 ) , 1 ) . ∗ x ) ∗ x ′ ) [W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x') [W,s,v]=svd((repmat(sum(x.∗x,1),size(x,1),1).∗x)∗x′)
When you use the right programming environment, many learning algorithm can be really short programs.
svd = singular value decomposition (奇异值分解)
Using Octave to first prototyping the learning algorithm (建立学习算法模型), only after you’ve gotten it to work , then you migrate it to C++ or Java or whatever.
lgorithm (建立学习算法模型), only after you’ve gotten it to work , then you migrate it to C++ or Java or whatever.