一.机器学习算法的分类:
最主要包括两类:监督性学习和非监督性学习。
其它应用包括:增强性学习,推荐系统等
其运用的的领域非常广泛:
数据挖掘领域,自然语言处理,计算机视觉,电子商务的推荐等。。
二.关于监督性学习主要分为回归分析(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
|
其中
则
通过上面这个公式示得最好的参数。