关于机器学习,这是我学的第一节课。
Machine learning
Machine learning definition:
Arthur Samuel (1959) . 在没有明确设置的前提下,使机器具有学习能力的研究领域。
Tom Mitchell (1998) . 一个适当的学习问题定义如下:计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测试在T上的表现因经验E而提高。
对于跳棋游戏(Samuel设计的一个小游戏,通过数万次跳棋对战学习,获得比Samuel的跳棋水平还高的能力),经验E就是程序与自己下几万次跳棋,任务T就是玩跳棋,性能度量P就是与新对手玩跳棋时赢的概率。
Machine learning algorithms:
目前学习算法主要的两类是监督学习(supervised learning)和无监督学习(unsupervised learning)。
简单来说,监督学习就是我们教计算机做某件事情;在无监督学习中,我们让计算机自己学习。
Others:
强化学习(Reinforcement learning), 推荐系统(recommender systems)
Supervised Learning
监督学习:我们给算法一个数据集,其中包含了正确答案,算法的目的就是给出更多的正确答案。
回归(Regression):预测连续的数值输出。
分类(Classification):预测一个离散值输出。
示例:房子的价格与房子面积的关系(回归问题);肿瘤是恶性或良性与肿瘤大小,患者年龄,肿瘤块厚度等的关系(分类问题)。
下面一个问题。problem1将要卖的货物数量看成一个连续的值,属于回归问题;problem2输出的值可能为0或1,分别表示两种不同的结果,属于分类问题。
Unsupervised Learning
无监督学习:对于数据集中的每一个样本,都具有相同标签或都没有标签,我们不知道要拿数据做什么,也不知道每个数据点究竟是什么,只能在数据集种找到某种结构(簇),它们具有类似的性质。聚类(clustering)是无监督学习的一种 。
Cocktail party problem 鸡尾酒会问题
编程环境Octave或Matlab
解决代码
$$[W,s,v]=svd((repmat(sum(x.^*x,1),size(x,1),1).^*x)^*x’)$$
$svd$ 是奇异值分解的缩写,在Octave中作为一个内置函数。
下面一个问题,哪些选项要使用无监督学习算法?