机器学习笔记(一) : 线性建模——最小二乘法

讨论这个方法之前,先说些题外话。首先,我感觉机器学习是一门值得我们去了解和学习的一门技术,它不仅仅应用于我们的生活,而且不断地在改变着我们的方方面面。虽然很早就已经接触它,并开始学习,但是总体感觉是学习的比较混乱,仅以从今天开始的一系列文章作为重新总结和学习机器学习的一个新的历程。其次,学习机器学习,要有耐心,要执着,要不断总结和实现。最后,也是最重要的,要明白你的初衷是什么,也就是为什么要学习它。如果没有搞清楚为什么,那还是先弄清楚吧。好了,废话不多说了,开始进入正题。

一、引言
机器学习中的一个大类的问题就是分类问题。分类在我们的生活中也是很常见的,比如说,你刚进入大学,要分清哪些同学喜欢玩游戏,哪些喜欢学习,这样,你想玩游戏的时候可以找爱玩游戏的同学一起,你学习遇到难题可以找喜欢学习的同学请教。当然,你的好友可以同时做到以上两点那是最好不过的了。
还要提一下分类和回归的区别,当我们要解决的问题是预测的离散值的时候,也就是上面提到的例子,分清哪些人喜欢玩游戏,哪些人喜欢学习,这就是一个分类问题。当要预测的值是一个连续值的话,那这就是一个回归问题。比如,我们可能在刚上大学的时候,不了解同学们平时喜欢打游戏或者喜欢学习,但是我们知道他们一系列的其他信息:A同学周一到周五喜欢去图书馆、自修室,但是周末就和寝室的同学打游戏,甚至玩通宵,当然还有其他信息。那么,我们的问题是A同学喜欢学习的可能性有多大,这个问题的答案是[0,1]上的任意一个实数(这取决于你的预测模型),你可能根据你的系统推测出A喜欢学习的概率是0.51。

二、问题的提出
我们考虑简单的单一变量的线性回归。我这里为了简便就举《机器学习基础教程》上的例子。男子100m比赛赢得金牌不同举办年份所需的时间。如图1 所示:男子100m比赛赢得金牌所需时间数据分布
通过上图,我们至少可以看到年份和获胜时间存在一个关系。我们要预测2016年男子100米金牌所需的时间。

三、模型假设
y表示所需时间, x表示年份,则有如下假设。

y=ax+b(1)

我们现在知道2016年之前每届奥运会的男子100米金牌所需的时间,通过图一我们看到数据点的分布呈现一种趋势关系,假设它们分布在公式1所示的直线周围,我们的目标是找到一条直线,来拟合我们的观测数据,进而用我们找到的这条最佳的线预测2016年的男子100m金牌所需时间。那么,什么样的直线最好呢?我们如何求公式1中的 a, b 这两个参数呢?

假定我们的模型已经选择好了,那么衡量这个模型的一个常用方式就是用平方损失函数

L(t,f(x;a,b))=(tf(x;a,b))2(2)

上述公式(2)最小,我们就说模型对我们现有的观测数据来说是最好的,我们暂且抛开数据过拟合的问题。那么问题转化为求 L(t,f(x;a,b))取得最小值时候的 a,b.令 n代表历史数据的数目,则我们的损失函数可以写为:
L=in(yi(axi+b))2(3)

四、推导过程
用公式(3)分别对a,b求偏导数,然后令其分别等于0, 这就可以求得a,b. 这里用到了函数极值,可以参考高等数学。

La=in2(yi(axi+b))(xi)=2in(yixiax2ibxi)=0(4)Lb=in2(yi(axi+b))(1)=2in(yiaxib)=0(5)

利用公式4,5求解得:
a=nixiniyinniyixi(nixi)2nnix2i

b=nixiniyixinix2iniyi(nixi)2nnix2i

a,b带入公式1,然后令 x=2016就可以求出所需时间,拟合直线的效果如图2所示: 拟合直线

这样,我们就可以进行预测了。当然,这里只是一个简单的事例,我们并没有考虑其他因素。最小二乘法是介绍完了。

五、总结
本文介绍了最小二乘法拟合数据的过程,最小二乘法是最优化方法中的一个,要了解更多优化方法,可以看看《最优化导论》。本文的事例只考虑了一个变量:年份,如果有多个自变量,它们在空间中也满足线性分布,能不能用最小二乘法去拟合数据呢?这个问题,我将在下一篇文章中进行介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昨天、今天、明天

三天:昨天、今天、明天。人的一生,用这简单的6个字概括,形成了人生的一条“经”线,富有哲理,令人遐思。 今天处于昨天与明天的交接点上,我们每一天都在告别昨天,每一天又都在迎接明天。如果…

ElasticSearch快速入门(一)介绍

Devops运维 ● Node(节点):单个的装有Elasticsearch服务并且提供故障转移和扩展的服务 器。 ●Cluster (集群) :一-个集群就是由一个或多个node组织在一 起,共同工作, 共同分享整个数据具有负载均衡功能的集群。 ● Document (文档) : -一个文档是-一个可…

flash遨游缓存问题

来源:http://leftice.iteye.com/blog/806605 Flash需要和JS交互,但是在ie外壳浏览器下,有时候缓存会导致页面刷新后flash无法工作. 会报出SecurityError. 这是因为Flash并没有完全准备好,就尝试和JS交互导致的问题. 解决的问题方式有几种: 1.在页面上设置不缓存,网上…

机器学习笔记(二)——多变量最小二乘法

在上一节中,我们介绍了最简单的学习算法——最小二乘法去预测奥运会男子100米时间。但是可以发现,它的自变量只有一个:年份。通常,我们所面对的数据集往往不是单个特征,而是有成千上万个特征组成。那么我们就引入特征的…

ElasticSearch快速入门二(Restful介绍)

本节课从三个方便讲解 什么是restful ? API: Application Programming Interface的缩写,中文意思就是应用程序接口. ●XML: . 可扩展标记语言,是一种程序与程序之间传输数据的标记语言 ●JSON: 英文javascript object notation的缩写,它是一…

机器学习笔记(三)——正则化最小二乘法

一. 模型的泛化与过拟合 在上一节中,我们的预测函数为: f(x;ω)ωTx其中, x[x1],ω[ω1ω0]x=\begin{bmatrix} x\\ 1 \end{bmatrix}, \omega=\begin{bmatrix} \omega_1\\ \omega_0 \end{bmatrix}上述称为线性模型,我们也可以将x…

严谨,保证,职业。

上午在教室上的课,老师对我们这些VB初学者又“耐着性子”侃了半天,具体讲的内容虽然不多,但是说来奇怪,总能从中得到动力。教育的艺术在于激励。 经过三天的学习,对VB感觉慢慢入门,这两天一遍看着视频一遍做…

ElasticSearch快速入门三(curl命令讲解)

API测试工具_微博开放平台:https://open.weibo.com/tools/console# 感兴趣是可以使用这个工具玩一下restful接口调用,可以更形象的了解restful 下面我们就继续下面的内内容讲解curl命令 什么是CURL? 就是以命令的方式来执行HTTP协议的请求…

机器学习笔记(四)——最大似然估计

一、最大似然估计的基本思想 最大似然估计的基本思想是:从样本中随机抽取n个样本,而模型的参数估计量使得抽取的这n个样本的观测值的概率最大。最大似然估计是一个统计方法,它用来求一个样本集的概率密度函数的参数。 二、似然估计 在讲最…

Log4j 入门总结

一、Log4j介绍 log4j是类似于java.util.logging的日志作用,即记录一些有用信息,是一个日志框架; log4j log for Java 日志框架的作用: (1)函数参数是否正确; (2)软件发布后,记录用户的每一步操作&#xff…

ElasticSearch API文档查看

elastic官方API文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html

机器学习笔记(五)——朴素贝叶斯分类

一、分类问题 分类实际上是我们在日常生活中经常使用的。比如说,在工作中,把自己手头的任务分为轻重缓急,然后按照优先级去完成它们。 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。 从数学的角度看C{c1,c2,…,ck}是类别的…

delphi函数,识别字符集编码

纪念不用 Delphi 开发7周年函数,获取web page文本,识别字符集编码;1 function CreateHttpRequest(proxyServer: string ; proxyPort: integer 0):2 TIdHTTP;3 function DecodeHttpRequestText(InString: string): string;4 implementatio…

取消Win7关机时的补丁更新

取消Win7关机时的补丁更新作者:三好 阅读: 30037人文:陕西 三好 Windows操作系统一直是在缝缝补补中前行的,Win7也不例外。由于系统自带的更新更安全更可靠,所以好多朋友都喜欢使用,如果将系统默认的“自动…

jdk下载

oracle官网:https://developer.oracle.com/java/ 一直往下拉到最低部 这里选择你需要的历史版本,我就选择 安装就不用我多说了,和以前安装jdk一样安装,配置环境变量

机器学习笔记(五)续——朴素贝叶斯算法的后验概率最大化含义

上一节中讲了朴素贝叶斯算法将实例分到后验概率最大的类。这等价于期望风险最小化。 假设使用0-1损失函数: L(Y,f(X)){1,0,Y≠f(X)Yf(X)L(Y, f(X)) = \Bigg\{ \begin{array} {ll}1, & Y \neq f(X) \\0, & Y = f(X)\end{array}上式中的f(x)是分类决策函数…

项目管理汇总

一、一个失败软件项目的思考 http://kb.cnblogs.com/page/113051/ 二、我们需要真正的软件项目经理 http://wangacidlemon.iteye.com/blog/1185903 评论写的不错,粘贴来先给大家分享一下 一个好的项目负责人,是不会自己去做具体事情的,他应…

ElasticSearch和solr的对比

关于ES:ElasticSearch是一个事实分布式搜索和分析引擎,使用其可以以前所未有的速度处理大数据,他用于全文搜索、结构化搜索、分析以及将这三者混合使用。维基百科使用ElasticSearch提供全文搜索并高亮关键字,以及输入实时搜索(sea…

机器学习笔记(六)——朴素贝叶斯法的参数估计

一、极大似然估计 在上一笔记中,经过推导,得到了朴素贝叶斯分类器的表示形式: yargmaxckP(Yck)∏jP(X(j)x(j)|Yck)(1)也就是说,朴素贝叶斯方法的学习是对概率P(Yck)和P(X(j)x(j)|Yck)的估计。故可以用极大似然估计法估计上述先验…

ElasticSearch和mysql对比

以员工文档 的形式存储为例:一个文档代表一个员工数据。存储数据到 ElasticSearch 的行为叫做索引,但在索引一个文档之前,需要确定将文档存储在哪里。一个 ElasticSearch 集群可以包含多个 索引,相应的每个索引可以包含多个类型 。…