standford 机器学习课阅读笔记——线性回归

一.机器学习算法的分类:


最主要包括两类:监督性学习和非监督性学习。

其它应用包括:增强性学习,推荐系统等


其运用的的领域非常广泛:

数据挖掘领域,自然语言处理,计算机视觉,电子商务的推荐等。。


二.关于监督性学习主要分为回归分析(regression)和分类(classification)


supervised learning最主要特点就是有training examples,通过training examples,结合相关算法,学习得到数据模型。然后根据学习的数学模型进行预测,对新来的样本,得了相关结果。


如果predict continuous valued output,即预测的结果是连续数值,则称为regression(回归) ,如预测房子价钱

如果要预测的结果是discrete(离散的),则称为分类。如垃圾邮件的分类等。


三.线性回归(linear regession)


线性回归主要分为,只有一个变量的回归和含有多个变量的回归。课程中主要讲解了两种方法Gradient descent(梯度下降)和normal equation(标准方程)两种方法来作回归分析。

1.问题描述

一个变量的作为入门,下面这个例子是讲一幢房子的价钱跟四个因素的关系:面积,房间数量,层数,年限。 

Size (feet 2 )
Number of bedrooms
Number of floors
Age of home (years)
Price ($1000)
2104
5
1
45
460
1416
3
2
40
232
1534
3
2
30
315
852
2
1
36
178

这是一个多变量问题,多变量的线性回归问题。

假设函数可以表示为:

其中x0=1。x1....xn代表的就是特征量(feature).

问题的结果就是要寻找参数



使得下面这个cost function最小:

其中 i表示第几个训练集。
2.梯度下降方法求解上述问题

 

 上述公式的一个非常重要的常数a,这个参数的选择对算法的质量和效率影响很大。

梯度下降的方法,在数学上实际上就是高等数学里面的切变量的下降问题,在这个在也就是参数,在不断地向自己的最小cost function的最小值靠近的过程。而a参数的大小就代表了这个过程的速度,当a很小时,这个速度比较慢,但是找到最小值的概率很大。当a很大时,可能会找不到这个值,或者在这过程中,值反而会变大。

 

3.上述问题的一些注意点:

feature scaling主要是指把feature的范围变化到同一个范围内,就像上述例子中的房子面积是1000多,而导数却只有1,2,3几个小数值。

通过

这样每个feature的范围都在-0.5到0.5的范围内。

 

4.nomal equation方法,这个访求主要是通过线性代数计算得到结果。比较直观,但是要通过大量的矩阵运算来求得,当训练样本非常多的时候,非常耗时。当训练样本较小时,比较合适。

 

Size (feet 2 )
Number of bedrooms
Number of floors
Age of home (years)
Price ($1000)
2104
5
1
45
460
1416
3
2
40
232
1534
3
2
30
315
852
2
1
36
178
3000
4
1
38
540

其中

  

通过上面这个公式示得最好的参数。

你可能感兴趣的:(机器学习,线性回归,梯度下降)