机器学习基础算法笔记(一)——梯度下降算法(以housing数据集为例)

简述机器学习基础算法(一)——梯度下降算法(以housing数据集为例)

问题是从哪来的

生活中,很多事情是有因果关系的,比如房价受地段,小区绿化程度,周围学校好坏等因素影响;一杯果汁的价格可能受水果的种类,果汁的含量影响;再比如一个男性的魅力值或许受身高,财产,身材,年龄,学历等因素影响。我们在进化的过程中总是想总结出更多的因果关系,定性的相关性是比较好发现的,可是我们更希望得到一个定量的结果,这样才是有实际意义和价值的东西。
好了,现在问题转化成了想求得一个函数 y = f ( x ) y=f(x) y=f(x),其中y代表的是我们最终想得道的值,也就是上面所说的房价,果汁的价格,其中的x代表的则是影响因素的集合。
我们为了说明的方便,用一个具体的数据集,这里用的是housing数据集

housing.data 包含506个训练样本
该数据集包含 13 个不同的特征:
1.人均犯罪率。
2.占地面积超过 25000 平方英尺的住宅用地所占的比例。
3.非零售商业用地所占的比例(英亩/城镇)。
4.查尔斯河虚拟变量(如果大片土地都临近查尔斯河,则为 1;否则为 0)。
5.一氧化氮浓度(以千万分之一为单位)。
6.每栋住宅的平均房间数。
7.1940 年以前建造的自住房所占比例。
8.到 5 个波士顿就业中心的加权距离。
9.辐射式高速公路的可达性系数。
10.每 10000 美元的全额房产税率。
11.生师比(按城镇统计)。
12.1000 * (Bk - 0.63) ** 2,其中 Bk 是黑人所占的比例(按城镇统计)。
13.较低经济阶层人口所占百分比
14.房价

1~13也就是特征也就是X,14是最终结果也就是Y

过程综述

我们的任务就是用一个我们自己定义的函数 f ( x ) f(x) f(x)去接近真实的函数 g ( x ) g(x) g(x),真实的函数是什么没人知道,像这种经典数据集,使用什么样的函数去拟合是已知的,但是在实际应用中使用什么样的函数来拟合是需要测试的。
我们的目标是让 f ( x ) f(x) f(x)去接近 g ( x ) g(x) g(x),换一种表达方式也就是让 ∣ f ( x ) − g ( x ) ∣ |f(x)-g(x)| f(x)g(x)尽可能的小,如果两个函数的差值小,也就是意味着他们接近了。不过我们手上有的不是 g ( x ) g(x) g(x)而是 g ( x ) g(x) g(x)上的若干个点,即训练集中的点,这些点都是真实存在的数据,是真实函数上的点。解决问题的一个办法是转而求解另一个函数,比如 M i n ( ∑ i = 0 N ∣ f ( x i ) − g ( x i ) ∣ ) Min(\sum_{i=0}^{N}|f(x_i)-g(x_i)|) Min(i=0Nf(xi)g(xi)) (N代表样本的数量)。这个函数也就是损失函数,当然,上面的不是最终的损失函数,它有很多计算层面上的问题和不方便,不过我们也知道了需要一个损失函数来告诉我们现在的接近程度。我们需要求解损失函数的最小值,这个过程需要使用梯度下降算法。当求得最小值时,其对应的 f ( x ) f(x) f(x)即是我们的最终结果。

核心思想

梯度下降是求解函数极值的方法,整个过程就是一个下山的过程(如下图),站在山顶上找最陡峭的地方向下一步步走(因为陡峭的地方下的快),直到你下一步前进的时候发现自己在上升,就知道刚刚自己已经到达山脚(最低点)了。显然,梯度下降找到一个极值点就会停止,这个极值点不一定是全局的最大值最小值。
梯度下降算法
对于梯度下降算法,我们需要定义一些变量:

  1. 步长:步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。
  2. 特征:指的是样本中输入部分,即数据集中的特征值。数据集中的特征值是一个包含13个特征的向量,定义为X={ x 1 , x 2 , . . . , x 13 x_1,x_2,...,x_{13 } x1,x2,...,x13}
  3. 假设函数:在监督学习中,为了拟合输入样本,而使用的假设函数,记为h_θ (x)。对于该数据集,特征数为13,样本数为506的样本 ( x j i , y j ) (x^i_j,y_j) (xji,yj)(j=1,2,…506)(i=1,2…13)。实验中选取的拟合函数为一次函数即 h θ ( x ) = θ 0 + θ 1 ∗ x 1 + ⋯ + θ 13 ∗ x 13 h_θ (x)=θ_0+θ_1*x_1+⋯+θ_{13}*x_{13} hθ(x)=θ0+θ1x1++θ13x13
  4. 代价函数:为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。在线性回归中,损失函数通常为样本输出和假设函数的差取平方。比如对于m个样本 ( x j i , y j ) (x^i_j,y_j) (xji,yj)(i=1,2,…13;j=1,2,…,m),采用线性回归,损失函数为:
    J ( θ 0 , θ 1 , . . . , θ
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值