今天正式开始机器学习之路(看的斯坦福大学的视频课以及讲义),由于看的时候蒙蒙的,因此想要找个平台保存一下自己学习的成果,因此写了此篇文章,作为机器学习的小白,文章可能有诸多不妥之处,不作为学术理论的深入研究范围。因为我是小白,我是小白,我是小白。
由于第一次用简书写,所以可能格式不太对,请见谅。
其中用到的一些算法基本的解释:
(1)最小二乘法(来自百度百科):最小二乘法。最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
(2)机器学习分为:有监督学习、无监督学习、强化学习。有监督学习包括:回归问题(针对连续值)和分类问题(针对离散值)。无监督学习通常为聚类问题。强化学习(不太了解)
首先举一个简单的例子,来说明问题。
比如温度和湿度,对生长期的农作物的影响。
y表示农作物生长速度。x为影响因素。构建的线性模型如下:其中
表示权重
(公式 1)
如果影响因素更多的话,就利用下面的公式。
(公式2)n 为影响因素的个数
建立了一个这样的模型之后,要通过训练集求解权重,求解的过程中运用到了最小二乘思想、梯度下降。
即利用 h(x)[这个就是公式1的函数,由于权重没办法用公式编辑器打,就简写了],去逼近样本(x,y)。[x表示的是x1,x2,x3....即一个样本中包含若干个影响因素]。建立了一个损失函数[cost function]。
(公式3)x(i)表示第i个样本;m为样本总数
为了使得损失最小,先假定一个初始的权重值,用梯度下降法做迭代逼近,使j(权重)最小。
(公式4)
公式4中α为步长[给定],α后面的为梯度[打不出来]。公式4中(权重)j表示第j个影响因素对应的权重。将公式3带入公式公式4有:
(公式6-推导J(权重))
公式6 (推导后带入)
j表示第几个影响因素。公式6只是针对一个样本进行的推导。若有m个样本,即为:
公式7(x的上角标i表示第i个样本)
这个规则就叫LMS规则,暂时可以理解为线性回归。(其实不太懂)
上述的梯度下降法为批梯度下降法。
从公式7,可以看出由于批梯度下降法需要遍历每一个样本求和,当样本数量较大时,它的效率是较低的。时间复杂度为O(n^2)。
所以,又基于批梯度下降法(Batch Gradient Descent)改进后有了随机梯度下降法(Stochastic /Incremental Gradient Descent)。
公式8
随机梯度下降法时间复杂度为O(n)。
[其实斯坦福大学讲义中,讲了一下两者的区别,实在懒得写翻译了,哪天空闲了再补吧,就写到这吧]
文章思想主要来源于:斯坦福大学机器学习视频以及讲义;部分内容为百度百科。