欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

吴恩达机器学习笔记(二)

时间:2023-05-16
一、 模型描述

提供训练集,学习算法的任务是输出一个函数,通常用 h 表示,h 表示假设函数 hypothesis

假设函数的作用是给定输入变量 x ,输出相应的预测值 y ;h 是一个引导 x 得到 y 的函数

二、代价函数

1.平方误差代价函数

在线性回归中,我们要解决的是一个最小化问题,我们希望 h(x) 和 y 之间的差异要小
( h ( x ) i − y i ) 2 (h(x)^i - y^i)^2 (h(x)i−yi)2
对所有的训练样本进行求和(m代表训练集的样本数)
∑ i = 1 m ( h ( x ) i − y i ) 2 sum^{m}_{i = 1}{(h(x)^i - y^i)^2} i=1∑m​(h(x)i−yi)2
为了使公式更直白,我们计算
1 2 m ∑ i = 1 m ( h ( x ) i − y i ) 2 frac{1}{2m}sum^{m}_{i = 1}{(h(x)^i - y^i)^2} 2m1​i=1∑m​(h(x)i−yi)2
因此,代价函数记为
J ( θ 1 , θ 2 ) = 1 2 m ∑ i = 1 m ( h ( x ) i − y i ) 2 J(theta1,theta2) = frac{1}{2m}sum^{m}_{i = 1}{(h(x)^i - y^i)^2} J(θ1,θ2)=2m1​i=1∑m​(h(x)i−yi)2
我们的优化目标是 m i n i m i z e θ 1 , θ 2 J ( θ 1 , θ 2 ) minimize_{theta1,theta2}J(theta1,theta2) minimizeθ1,θ2​J(θ1,θ2)
2.令参数2=0
θ = 1 theta = 1 θ=1时, J ( θ ) = J ( 1 ) = 0 J(theta) = J(1) = 0 J(θ)=J(1)=0

θ = 0.5 theta = 0.5 θ=0.5时, J ( θ ) = J ( 0.5 ) = 0.58 J(theta) = J(0.5) = 0.58 J(θ)=J(0.5)=0.58

θ = 0 theta = 0 θ=0时, J ( θ ) = J ( 0 ) = 2.3 J(theta) = J(0) = 2.3 J(θ)=J(0)=2.3

经过一系列数值的计算,我们最终会得到函数 J ( θ ) J(theta) J(θ)的形状

3.使用两个参数
代价函数会变为三维曲线

用等高线来表示,每一条等高线上的点对应的 J ( θ 0 , θ 1 ) J(theta0,theta1) J(θ0,θ1)都相等,最小值在中心原点处,距离原点越近,拟合越好

三、梯度下降法——可以将代价函数最小化

梯度下降是很常用的算法,它不仅被用在线性回归上,还被广泛用于机器学习的众多领域
1.思路:

给定 θ 0 theta_0 θ0​和 θ 1 theta_1 θ1​的初始值,通常将 θ 0 theta_0 θ0​和 θ 1 theta_1 θ1​均设为0我们在梯度下降算法中要做的是不停地一点点改变 θ 0 theta_0 θ0​和 θ 1 theta_1 θ1​,来使 J ( θ 0 , θ 1 ) J(theta_0,theta_1) J(θ0​,θ1​)变小直到我们找到 J J J的最小值或者局部最小值

2.特点: 从不同的起点出发,将有可能获得不同的局部最优解

3.数学定义
repeat until convergence(重复计算直至收敛){
θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) / / f o r j = 0 a n d j = 1 , 同 时 更 新 θ 0 和 θ 1 theta_j := theta_j - alphafrac{partial}{partialtheta_j}J(theta_0,theta_1) // for j = 0 and j = 1,同时更新theta_0和theta_1 θj​:=θj​−α∂θj​∂​J(θ0​,θ1​)//forj=0andj=1,同时更新θ0​和θ1​
}
4.线性回归的梯度下降

上式利用了简单的求导公式

该算法也叫做Batch梯度下降算法:每一步梯度下降,我们都遍历了整个训练集的样本,所以在梯度下降中,当计算偏导数时,我们计算总和。在每一个单独的梯度下降我们最终计算 m 个训练样本的总和,

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。