Arthur Samul (1959): Field of study that gives computers the ability to learn without being explicitly programmed.
Tom Mitchell (1998): 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 measure by P, improves with experience E.
计算机从经验E中学习,来解决某一个任务T,通过测定表现效果P来得出:在T任务中的表现是因为E经验而提高。
Supervised learning 监督学习,教会计算机如何解决一些事情
Unsupervised learning 无监督学习,让计算机自己学习
give the algorithm a data set including the right answers,给这个算法包含了正确答案的数据集,目的在于给出更多类似的问题的正确答案。
Regression 回归问题,Predict continous valued output 预测连续的数值输出。
Classification 分类问题,Predict discrete valued output 预测离散值输出(1/0)。解决例如:Spam filter problem 垃圾邮箱过滤问题。实际中,可能输出多个值
Support Vector Machine 支持向量机算法
给出数据集,can you find some structure in the data ?
clustering algorithm 聚类算法, 案例:google news example
Cocktail party algorithm 鸡尾酒晚会算法,解决 Cocktail party problem 鸡尾酒晚会问题
鸡尾酒晚会问题,在相同环境下的录音最后分离出不同的声源,实际应用如QQ音乐的识别音乐功能,在有周围环境影响的因素下识别(提取)出环境中的音乐名。
一行代码实现这个处理音频、分离音频的问题
[W, s, v] = svd((repamt(sum(x.*x, 1), size(x, 1), 1).*x)*x');
svd(), single value decomposition,奇异值分解
先在Octave or Matlab 环境中学习算法,然后用其他编程语言实现会更快。
Octave: https://www.gnu.org/software/octave/
Matlab:https://ww2.mathworks.cn/