单变量线性回归原理

来源:互联网 发布:ubuntu在shell打开终端 编辑:程序博客网 时间:2024/06/06 08:53

第一部分:入门

一、机器学习的定义

Arthur Samuel:Field of study that gives computers the ability to learn without being explicitly programmed.

计算机在没有得到明确指令的情况下进行学习并解决问题。

Tom Mitchell : Well-posed Learning Problem: A computer program is said to learn from experience E with respect to sometask T and someperformance measure P, if its performance on T, as measured by P, improves with experience E.

计算机从经验E中进行学习,表现用指标P衡量,最终完成任务T

二、分类

1.监督学习supervised learning

(1)例子:房价预测


给出的这个例子中,房子面积所对应的房价已知,相当于给了一个确切的数据集合,在这个数据集合的元素中进行学习,找到750对应的房价price

这是一个回归问题(regression):predict continuous valued output 这个例子中,输出的price本来是一些离散的值,但可以将其看做连续

(2)例子:良性/恶性肿瘤

这个例子中,也给出了确切数据,每个肿瘤不同的size对应良性 or 恶性,输出离散的值——要么良性0,要么恶性1

也可以不止两个输出,output也可以是0,1,2,3,代表良性肿瘤、癌症1、癌症2、癌症3……

总之,输出是离散值。这种问题称为分类(classification)

不止是size,还会有其他的因素影响malignant or benign……当影响因素很多很多,甚至infinite,ml中会引入支撑向量机Support Vector Machine(SVM)来解决——惊讶这个后面应该会讲吧。。

2.无监督学习unsupervised learning

cluster 聚类

同样是“分类”,classification在于给的这个data set明确地告诉我们结果,谁在哪一类。BUT!cluster(聚类)只给了一堆数据,事先不知道正确答案(谁属于哪一类balabala),需要根据它们所携带的不同特征来进行分类,属于无监督学习

(1)举例:google搜索

输入一个关键词,google可以把与之相关的网页进行聚类,呈现在搜索结果中

(2)举例:DNA and 两个人声的分离 and 人声和音乐声的分离

反正要分清楚cluster和classification啦。

监督学习:被告知正确答案                    回归(输出连续)、分类(输出离散)

无监督学习:不知道正确答案                聚类


第二部分:单变量的线性回归

一、模型的表示



训练集(training set)相当于一本有着相同类型题的例题集,里面有习题(输入x)和习题答案(输出y),以及题目量(m)。做完这本习题集,再给一道同类型的题就能自己做出答案,这就是学习的过程。在做这本习题集(training set)时,会学到解题思路(learning algorithm),从而得到解题的方法(hypothesis)。刚开始,也许你的方法不是最好的。你会用得到的解题方法(hypothesis)去尝试做其他的习题,发现解出来的结果和答案有差别(cost function J),于是不断改进这个方法(hypothesis)直到用它解出来的结果和答案的差别最小(minimize J),这时得到了最佳的解题方法~

单变量 and 线性 ……………… h=θ0+θ1x

二、代价函数 cost function

1.目标:假设函数h=θ0+θ1x,选取合适的参数θ0和θ1,使与真实值的差距最小。

如何衡量这个差距

cost function:



目的就是,找到θ0 and θ1, s.t min J


2.简化

先固定一个参数,让θ0=0,找另一个参数的最佳取值


θ1每取一个值,都有一个h与之对应。可以画出J和θ1的关系图,当J到0的时候对应的θ1就是要找的那个


3.对两个参数


横坐标变成两个,形成一个曲面的函数,目标是找最凹点


三维图 -> 平面图 —————引入等值线图 contour plots



4.梯度下降法 gradient descent

选取参数的初始值,θ0、θ1

改变θ0、θ1来减小J,直到J最小

不同的初始值会得到不同的结果(局部最优)



梯度下降迭代算法:



注意:Simultaneous 同时更新 until converge 直到收敛

α:学习率(先用单个参数来理解α)



α太大太小都不好。太小收敛速度很慢,太大可能会不收敛


具体计算:

求偏导



对于凸函数,有全局最优解


5.批处理 Batch gradient descent

0 0
原创粉丝点击