-
目录
什么是机器学习?
Arthur Samuel described it as: "Field of study that gives computers the ability to learn without being explicitly programmed" 周老师的翻译是这样:不显示编程地赋予计算机学习能力地研究领域。
Tom Mitchell provides a more modern definition: "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E." 一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。
-
监督和无监督学习
监督学习:right answer given 即监督学习里的每条数据,我们已经清楚地知道,训练集对应的正确答案。分为:分类(classification)和回归(regression)二大类问题。
In a regression problem, we are trying to predict results within a continuous output, meaning that we are trying to map input variables to some continuous function. In a classification problem, we are instead trying to predict results in a discrete output. In other words, we are trying to map input variables into discrete categories.
无监督学习: no right answer 就是一个数据集 应用:聚类(clustering)把数据集分成多个个不同的簇(谷歌新闻分类),
-
监督学习的工作方式
这就是一个监督学习算法的工作方式,我们可以看到这里有我们的训练集里房屋价格 我们把它喂给我们的学习算法,学习算法的工作了,然后输出一个函数,通常表示为小写h表示。 代表hypothesis(假设),表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此 h 根据输入的 x值来得出y值, y值对应房子的价格 因此, h是一个从x 到 y 的函数映射。
-
代价函数(以线性回归为例)
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。
则可以看出在三维空间中存在一个使得J函数最小的点,我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。
-
梯度下降最小化代价函数
梯度下降背后的思想是:开始时我们随机选择一个参数的组合,计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转360度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置。梯度下降算法如下:
梯度下降算法的每次迭代受到学习率的影响,如果学习率过小,则达到收敛所需的迭代次数会非常高;如果学习率过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。
线性回归问题运用梯度下降法:
参考:
http://www.ai-start.com/ml2014/html/week1.html