吴恩达机器学习笔记——Day1

本文介绍了机器学习中的线性回归模型和梯度下降优化算法。线性回归用于通过多个特征预测结果,模型包括参数w和b,代价函数用于衡量模型的准确性。梯度下降法用来最小化代价函数,通过学习速率控制参数更新,确保模型逐步收敛。特征缩放是提高梯度下降效率的关键,可以避免数值问题并加速收敛。正规方程作为另一种求解方法,适用于特征数量较少的情况。
摘要由CSDN通过智能技术生成

观看的视频来自网易云课堂——《吴恩达机器学习》
http://吴恩达机器学习 - 网易云课堂 https://study.163.com/course/courseMain.htm?courseId=1210076550

 模型 (model):f_{w,b}(x)=wx+b  其为预测值 y\hat{}

 参数 (parameters):w,b

 代价函数  :

J(w,b)=\frac{1}{2m}\sum_{i=1}^{m}f_{w,b}(x^{(i)}-(y^{(i)}))^{2}

        其中 J(w,b)要尽可能地小从而保证代价最少

 目标 (goal):mimimize J(w,b)

梯度下降原则:梯度下降就是找到一个\theta 值并期望其可以将代价函数最小化

w=w-\alpha {\frac{\partial }{\partial w}}(w,b)

b=b-\alpha {\frac{\partial }{\partial b}}(w,b)

\alpha : learning rate 学习速率  \alpha \in [0,1]   ,可以看作控制向局部最低点靠近时走的步数

求导部分代表向局部最低点靠近时选择的方向

对于分级下降算法,需同时更新 w 和 b (simultaneously update w and b),重复计算 w 和 b 直到代价函数收敛(repeat until convergence)

当靠近局部最低点时,梯度下降会根据梯度下降原则自动变换为较小的幅度,因此,即使再学习速率\alpha保持不变时,梯度下降也可以收敛到局部最低点,这就是梯度下降的做法。

若梯度下降算法正常工作,每一步迭代后的代价函数值都应下降,当代价函数不再下降则说明其已经收敛。

建议在计算的同时画一条以迭代次数为横坐标,代价函数值为纵坐标的图像以观察其收敛情况。若图像刚开始就呈现上升趋势或上升下降反复波动,可能使由于学习率\alpha过大。针对线性回归,只要学习率\alpha足够小,每次迭代后的代价函数都会下降,但\alpha过小的话则会导致梯度下降算法收敛很慢

常用\alpha值:...、0.003、0.001、0.03、0.01、0.3、0.1、1、...

线性回归算法

多元线性回归:通过多个特征量或变量来预测 h_{0}  

h_{0}(x)=\theta ^{T}=\theta _{0}x_{0}+\theta _{1}x_{1}+...+\theta _{n}x_{n}

模型 (model):h_{0}(x)=\theta ^{T}=\theta _{0}x_{0}+\theta _{1}x_{1}+...+\theta _{n}x_{n}

参数 (parameters):\theta _{0},\theta _{1},...,\theta _{n}

代价函数:

J(\theta _{0},\theta _{1},...,\theta _{n})=\frac{1}{2m}\sum_{i=1}^{m}h_{0}(x^{(i)}-(y^{(i)}))^{2}

梯度下降:

\theta _{j}=\theta _{j}-\alpha \frac{\partial }{\partial \theta _{j}}J(\theta _{0},...,\theta _{j})

注意:要反复重复这个过程,变换j的值。

特征缩放

        将有多个特征值 x_{i} 的取值保持在相近的范围内,进而时梯度下降法可以更快达到收敛。默认规定,x_{0} 的值等于1 

        有较多的特征值会使在寻找最小代价的路上发生反复偏移、来回振荡,进而导致寻找最佳路径的过程耗时增加,通过特征缩放可以使其范围变得相近。

特征缩放法:(不用太精确,只为达到提高运行效率的目的)

1、特征值除以最大值:使特征值可以约束在一定范围之间,范围不要过大也不要过小,如[-1,1]、[2,3],从而使代价函数更快收敛。

2、均值归一化:利用 x{_{i}}-\mu _{i} 代替 x_{i} 使特征值具有为0的平均值,但其方法不应用于x_{0}(默认x_{0}=1)

x_{i}=\frac{x_{i}-x_{average}}{x_{max}-x_{min}}

特征:通过定义新的特征,得到更好的模型

将已知的特征值进行数学变换得到新的更能描绘数据得特征值

多项式回归:将一个多项式拟合到数据上

将多元线性方程拟合,从而使其代价函数值可以趋向于某一个值

h_{0}(x)=\theta _{0}+\theta _{1}(x_{1})+\theta _{2}x{_{1}}^{2}  或   h_{0}(x)=\theta _{0}+\theta _{1}(x_{1})+\theta _{2}\sqrt{x_{1}}

正规方程:提供了一种代替迭代法求 \theta 的解析方法

J(\theta )=a\theta ^{2}+b\theta +c ,   \theta \in R    

对于   J(\theta _{_{0}},\theta _{1},...,\theta_{m} )=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta }(x^{(i)})-y^{(i)})^{2} ,  使  \frac{\partial }{\partial \theta _{j}}J(\theta )=...=0, 得到的 \theta _{j} 就可以得到代价函数的最值。

假设有m个训练样本,有n个特征值,对于每一个训练样本x^{^{(i)}}都有n+1维特征向量。(x^{1},y^{1}),(x^{2},y^{2}),...,(x^{(m)},y^{(m)})

做法:在 x_{1},x_{2},...,x_{n} 前还有恒等为1的 x_{0} ,构建一个矩阵x包含训练样本中所有的特征变量x,x^{^{(i)}}=[x{_{0}}^{(i)},x{_{1}}^{(i)},...,x{_{n}}^{(i)}]^{^{T}},其为m*(n+1)维矩阵,对输出y也进行向量表示,其为m维向量。

\theta =(X^{T}X)^{-1}X^{T}y

从而可以计算得到使得代价函数最小化的\theta

正规方程计算可以不用特征缩放,但是梯度下降法,特征缩放很重要。

梯度下降法(适合多约>10000)正规算法(适合少)
需要选择学习率\alpha,这就代表要运行多次不需要选择学习率\alpha
需要更多次的迭代,耗时长,但特征变量多也可以运行很好不需要迭代。特征量多会带来很大的计算量,耗时很慢,将是维数的三次方

对于不可逆矩阵情况很少发生,即使矩阵不可逆,也可使用软件Octave中的pinv函数计算。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_____�金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值