- 机器学习的定义
- 什么是机器学习?
- 机器学习算法
- 1.监督学习(Supervised Learning)
- 2.无监督学习(Unsupervised Learning)
- 单变量线性回归
- 模型描述(Model Representation)
- 代价函数
- 梯度下降
- 线性回归中的梯度下降
- 凸函数(convex function)
吴恩达机器学习课程地址
机器学习的定义 什么是机器学习?机器学习(Machine Learning):是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。一个程序被认为能从经验E中学习,解决任务 T,达到性能度量值P,当且仅当,有了经验E后,经过P评判, 程序在处理T时的性能有所提升。
监督学习(Supervised Learning):对于数据集中每一个样本都有对应的标签(被告知什么是所谓的正确答案),包括回归(regression)和分类(classification)
· 回归(Regression):预测连续的数值输出
· 分类(Classification):预测离散值的输出
无监督学习(Unsupervised Learning):数据集中没有任何的标签(只知道这里有数据,但不知道这些数据的结构,包括聚类(clustering),比如Google news(收集大量的新闻,将其分成一个个的新闻专题)。
实现公式:[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x’)
· SVD:奇异值分解函数
·Notation:
| m | 训练集的样本数 |
|---|---|
| x‘s | 输入的变量/特征 |
| y’s | 输出的变量/目标变量 |
| (x,y) | 一个训练集中的样本 |
| (x(i),y((i)) | 第i个训练样本 |
假设函数h(hypothesis):是一个从输入x到输出y的映射,h(x) = θ0 +θ1x。θ0 和θ1都是模型参数
代价函数代价函数(cost function)
J
(
θ
)
mathop{J}(θ)
J(θ),通常使用平方误差函数,如下:
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
(
x
(
i
)
)
−
y
(
i
)
)
2
,
m
为
训
练
样
本
数
J(θ_{0},θ_{1}) = frac{1}{2m} sum_{i=1}^{m} (h(x^{(i)})-y^{(i)})^{2},m为训练样本数
J(θ0,θ1)=2m1i=1∑m(h(x(i))−y(i))2,m为训练样本数
训练的目标是为了最小化代价函数,即 m i n m i z e θ 0 , θ 1 J ( θ 0 , θ 1 ) 。 mathop{minmize} limits_{θ_{0},θ_{1}}J(θ_{0},θ_{1})。 θ0,θ1minmizeJ(θ0,θ1)。
简化一下,当θ0 = 0时,假设函数就时一个过原点的直线,此时h(x) = θ1x。
代价函数的另外一个图形表示是等高图,如图所示:
当你的点离同心椭圆的中心点越近,说明你的拟合更准确
代价函数:
J
(
θ
0
,
θ
1
)
J(θ_{0},θ_{1})
J(θ0,θ1),可以推广到更多元的函数
J
(
θ
0
,
θ
1
,
θ
2
,
.
.
.
θ
n
)
J(θ_{0},θ_{1},θ_{2},...θ_{n})
J(θ0,θ1,θ2,...θn)
目标:
m
i
n
m
i
z
e
θ
0
,
θ
1
J
(
θ
0
,
θ
1
)
。
mathop{minmize} limits_{θ_{0},θ_{1}}J(θ_{0},θ_{1})。
θ0,θ1minmizeJ(θ0,θ1)。
设置初始的
θ
0
,
θ
1
θ_{0},θ_{1}
θ0,θ1,然后更新公式:-
θ
j
:
=
θ
j
−
α
∂
∂
θ
j
J
(
θ
0
,
θ
1
)
,
对
于
j
=
0
,
1
时
θ_{j} := θ_{j} -αfrac{partial}{partialθ_{j}}J(θ_{0},θ_{1}) ,对于j=0,1时
θj:=θj−α∂θj∂J(θ0,θ1),对于j=0,1时
θ0 和 θ1 是要同时更新的,即在计算完θ0后在计算θ1时,使用的θ0还是计算前的θ0
α
alpha
α被称为学习速率(learning rate),用来控制下降时幅度多大。
α
alpha
α如果太小的话,会导致梯度下降的很慢,如果
α
alpha
α太大的话,梯度下降可能无法收敛甚至发散
没有局部最优解只有全局最优解



