记得当年背英语单词的书永远都翻在第一页,abandon背了一遍又一遍,还是没有记住,现如今周志华老师的书买了好久没有翻,吴恩达的视频看了一遍又一遍,只能希望这是最后一次看了。
什么是机器学习
不借助特定的程序使电脑学习的科学
监督学习(supervised learning)
例如:房价预测(回归问题),肿瘤预测(分类问题)
监督学习就是给出一组特征值,同时也给出这组特征所对应的结果。比如通过某一地区房子的面积和卧室数来预测房子的价格。
无监督学习(unsupervised learning)
无监督学习则是只给出一些特征值,但是并没有这些特征所对应的结果,通过这些特征值来寻找他们之间的关系,例如聚类问题,把同一事件的新闻划分为一类。
模型表示(Model Representation)
符号定义
m:样本数量(training examples)
x:输入值,又叫特征(input variables/features)
y:输出值,又叫目标值(output variables/target variables)
(x,y):训练样本
第i个训练样本:$(x^i,y^i)$
监督学习的工作方式
预测函数的表示
$h_\theta(x)=\theta_0+\theta_1x$
关于$x$单变量的线性回归方程
代价函数(cost function)
预测函数$h_\theta(x)$的线性意义:
预测函数$h_\theta(x)$是关于$x$的函数,而代价函数是一个关于$(\theta_0,\theta_1)$的函数
$J(\theta_0,\theta_1) = \frac{1}{2m} \sum^m_{i=1}(h_\theta(x^i)-y^i)^2$
优化目标:$minimize J(\theta_0,\theta_1)$
教授讲的很详细,这里记一下自己的见解吧:1
预测函数是根据已知特征向量和结果所描述的一个线性方程,根据改变线段的斜率来观察匹配到的特征吻合度达,当预测函数可以匹配到最多特征时则这个预测函数是最优解,如何获取最优解引入了代价函数,所谓代价函数就是预测函数的积分,
梯度下降
在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。
通过梯度下降的方法来寻找代价函数的最优解
符号解释
:= 赋值符,把右边的值赋值给左边
$\alpha$ 学习速度,步长,过小收敛时间过长,过大超过最小值无法收敛
$\theta_0$和$\theta_1$是同时更新的
梯度下降的缺点:
靠近极小值时收敛速度减慢。
直线搜索时可能会产生一些问题。
可能会“之字形”地下降。
会产生局部最优解而非全局。
总结
这里基本简单的记录了视频前三章的内容,梳理一下知识点。
在机器学习中首先需要有样本,也叫训练集,然后是一个机器学习算法,把训练集扔进这个算法中,通过迭代之类的方法计算机会发现其中的规律而给出统一的模型从而做到预测分析。
当训练集既有输入内容又有输出结果,就是监督学习(比如回归问题),当样本里没有结果时是无监督学习(比如聚类问题)
梯度下降就是寻找最佳的预测模型的方式,当我们要建立一个准确的预测模型需要不断改变参数($\theta_0,\theta_1$),于是建立一个关于$\theta_0,\theta_1$的方程,这个方程叫代价方程(cost function),其实这个方程就是度量预测函数的结果和实际结果的方差,当方差最小就是最佳$\theta_0,\theta_1$,方法就是计算所有预测函数的结果减实际结果和的平方,方差最小就代表拟合度最佳。可视化观察就向是在一个弯曲的山谷中寻找最低点。