吴恩达机器学习系列一
什么是机器学习
Arthur Samuel (1959):在没有明确设置的情况下,使计算机具有学习能力的研究领域
Tom Mitchell(1998):计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测定在T上的表现因经验E而提高
举例:
通过人工把邮箱里的邮件标记为垃圾邮件与否,使程序能够自动识别垃圾邮件
T:分类邮件是否是垃圾邮件
E:观察邮件的标签是否是垃圾邮件
P:正确归类的邮件的比例
机器学习算法
有监督学习(Supervised learning)
定义
给算法一个数据集,且数据集中的每个样本都被告知了正确答案(有标签),通过数据集进行学习得到预测的正确的值。
回归算法、分类算法
无监督学习(Unsupervised learning)
定义
给算法一个数据集,数据集中的每个样本都没有标签或者有相同的标签。
无监督学习可以把这些数据分为不同的簇
聚类算法
线性回归(Linear regression)
有监督学习
训练集标识符(training set)
m
= 训练样本的数量training example
x's
= 输入变量 / 特征features
y's
= 输出变量 / 目标变量(要预测的) “target” variable
(x,y)
= 一个训练样本
(x^(i),y^(i))
= 第i个训练样本
监督学习算法是如何工作的
以房价预测为例子
h:假设函数 -->>这是学习算法的目的 —>>预测y关于x的函数
代价函数
线性回归的整体目标函数,即是确定 θ 0 、 θ 1 \theta_0 、 \theta_1 θ0、θ1的值,使得平均误差【 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2} 2m1∑i=1m(hθ(x(i))−y(i))2】最小。/ 训练集中预测值和真实值的差的平方的和最小的1/2m最小的 θ 0 、 θ 1 \theta_0 、 \theta_1 θ0、θ1
定义一个代价函数(平均误差代价函数):
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0,\theta_1) = \frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2} J(θ0,θ1)=2m1∑i=1m(hθ(x(i))−y(i))2
关于 θ 0 和 θ 1 \theta_0和\theta_1 θ0和θ1对函数 J ( θ 0 、 θ 1 ) J(\theta_0 、 \theta_1) J(θ0、θ1)求最小值
代价函数作用
代价函数 J ( θ 0 , θ 1 ) J(\theta_{0},\theta_{1}) J(θ0,θ1)的图像:
梯度下降
一种可以用于最小化代价函数 J J J的算法
也可用于更一般的函数
梯度下降算法:
repeat until 收敛{
θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) ( f o r j = 0 a n d j = 1 ) \theta_{j} := \theta_{j}-\alpha\frac{\partial}{
{\partial}\theta_{j}}J(\theta_{0},\theta_{1}) \quad (for \quad j = 0\quad and\quad j=1) θj