Machine Learning Notes-Linear Regression-Udacity

什么是 Regression?

Regression 就是想找到因变量和自变量之间的关系,用一个函数来表示,并且可用这个函数来预测任意一个新的 x 会有怎样的 y 。

那么怎么找最好的那条线来表示 x 与 y 之间的关系呢?

用积分的方式。

怎么确定拟合线的阶数?

判断的标准,就是最小的 mean squared error,最好是为0.

下面这条线虽然把每个点都 fit 了,但是在某两个点之间却急剧上升或者下降。

从 Training Error 的曲线上看,也是当 order=8 时,error几乎没有,但是曲线却非常地 crazy。

接下来用矩阵来表示多项式。

求解系数矩阵W的公式:

用来 Training 的数据其实是有 Error 的,产生的原因如下几条,

所以要让我们的拟合函数尽量避开这些error,从而达到更准的效果。

用 Training 和 Testing 数据训练出来的模型,我们需要相信它们是可以代表未来要被应用的系统的,

用 Cross Validation 去调 Polynomial 的参数,

取最小的 Error 相应的参数。

Cross Validation 的 Error 一开始要比 Training Error 要高,因为:Training 用了所有的数据,而 Cross Validation 用的是一部分数据,还有一部分数据用来 test,

随着阶数的增加,Cross Validation 的 Error 渐渐接近 Training Error,但超过某个值后,又剧增,因为:随着级数越来越大,虽然会更好的拟合数据,但是会 Over Fitting,那么在未来的数据上就会不太适用。

我们想要找到的是 fit 的这个点。

在 sklearn 里有很多线性回归模型: http://scikit-learn.org/stable/modules/linear_model.html

怎样评价你的线性回归模型

一个是画出来,一个是看Error, error 就是实际值-预测值,注意符号。

回归之后,测试数据和训练数据同时显示在这个图里。

对于回归模型,想要 Error 达到最小,合适的评价模型有两个,一个是绝对值,一个是平方。

目标就是想要这个 Error 达到最小,SSE 越大,拟合的效果越不好。

r squared 是评价回归模型的一种很重要的方法,

这个值越大越好,最大为1。越小说明没有很好地捕捉到数据的趋势,越大说明很好地描述了输入输出的关系。 这个值要用 test data 去检验,也可以看出是否 Over fitting。


多元回归


Classification 和 Regression 比较:


Regression 方法列表:

1. Parametric Regression

可以用 polyfit 直接得到多项式的系数:

import numpy as np

# The rank of the coefficient matrix in the least-squares fit is deficient. 
# The warning is only raised if full = False.
# The warnings can be turned off by
import warnings
warnings.simplefilter('ignore', np.RankWarning)

sleep = [5,6,7,8,10,12,16]
scores = [65,51,75,75,86,80,0]

import matplotlib.pyplot as plt
%matplotlib inline

plt.plot(sleep, scores)

coeffs=np.polyfit(sleep, scores, 2)

coeffs
2. K Nearest Neighbor

取 k 个值的平均值作为拟合后的点,最后可以得到一条沿着点的光滑的曲线。

3. Kernel Regression

和 KNN 类似,只是不同的点,根据距离来加权,而 KNN 的每个点作用都是一样的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人称T客

2017年移动办公发展五大趋势

T客汇 窦悦怡 随着移动办公市场的不断发展, 2016年的移动办公市场竞争也变得更加激烈。 那么, 2017年的移动办公有哪些趋势呢? 趋势一:移动办公全面提高...

43330
来自专栏人称T客

企业头条查翌:出得厅堂,还须入得厨房 | 创业者说

T客汇官网:tikehui.com 撰文 | 方方 ? 在熙熙攘攘的创业大军中,为数众多的女性勇立潮头,构成了一道美丽风景线。 作为创业美女之一,企业头条创始人...

32640
来自专栏新智元

机器学习里,数学究竟多重要?

【新智元导读】本文的主要目的是提供资源,给出有关机器学习所需的数学上面的建议。数学初学者无需沮丧,因为初学机器学习,并不需要先学好大量的数学知识才能开始。正如这...

427100
来自专栏数据派THU

独家 | 教你实现数据集多维可视化(附代码)

翻译:张媛 校对:卢苗苗 用代码将你的数据集进行多维可视化! 介绍 描述性分析是与数据科学或特定研究相关的任何分析生命周期中的核心组成部分之一。数据聚合,汇总...

1.3K90
来自专栏人称T客

麦肯锡报告:机器学习的未来

T客汇官网:tikehui.com 编译 | 徐婧欣 ? 数据及分析美国零售商供应链的营业毛利润在过去五年里增长了19%。 制造业的增值设计、供应链管理和售后...

37870
来自专栏人称T客

2017移动办公大势所趋,国营企业即将发力

受限于过去网络速度和终端设备的落后,碎片化时间始终无法被高效利用。随着科技发展和社会节奏的加快,人们对于时间利用率的追求也变得越来越高,这也促进了移动办公的蓬勃...

39350
来自专栏云计算D1net

拉回人间,高大上的云计算怎样发挥价值

信息技术的变革总是随着时间不断扩大其影响范围,而在此之前大多数企业会选择观察和等待时机成熟。云计算就处在这样一个特殊的时期,宣传已经足够,那么如何把其力量最大化...

44370
来自专栏云计算D1net

云计算能够改变科学计算吗?

日前,云计算专家汤姆·威尔基提供了两个例证,科学数据集的增长推动向云计算进军,另外,这将深刻地改变科学计算。 今年一月初,伦敦韦尔科姆基金会邀请生命科学领域的一...

40380
来自专栏腾讯Bugly的专栏

React Native按需加载 手Q狼人杀探索之路

| 导语 最近特别火的狼人杀和最近特别火的React Native会擦出什么样的火花呢?本文和您一同探讨RN性能优化的现实场景。 项目简介: ? 狼人杀游戏是多...

42140
来自专栏about云

日志分析实战之清洗日志小实例7:查看样本数据,保存统计数据到文件

问题导读 1.如何从所有数据中,抽取样本查看? 2.如何保存结果到hdfs? 3.saveAsTextFile的作用是什么? 上一篇 日志分析实战之清洗...

32950

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励