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

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

一、引言
机器学习中的一个大类的问题就是分类问题。分类在我们的生活中也是很常见的,比如说,你刚进入大学,要分清哪些同学喜欢玩游戏,哪些喜欢学习,这样,你想玩游戏的时候可以找爱玩游戏的同学一起,你学习遇到难题可以找喜欢学习的同学请教。当然,你的好友可以同时做到以上两点那是最好不过的了。
还要提一下分类和回归的区别,当我们要解决的问题是预测的离散值的时候,也就是上面提到的例子,分清哪些人喜欢玩游戏,哪些人喜欢学习,这就是一个分类问题。当要预测的值是一个连续值的话,那这就是一个回归问题。比如,我们可能在刚上大学的时候,不了解同学们平时喜欢打游戏或者喜欢学习,但是我们知道他们一系列的其他信息: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,一经查实,立即删除!

相关文章

ElasticSearch快速入门(一)介绍

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

flash遨游缓存问题

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

ElasticSearch快速入门二(Restful介绍)

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

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

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

ElasticSearch API文档查看

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

取消Win7关机时的补丁更新

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

jdk下载

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

ElasticSearch和solr的对比

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

ElasticSearch和mysql对比

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

机器学习笔记(七)——决策树模型

引言 决策树(Decision Tree)是一种基本的分类和回归方法。它的扩展方法有GBDT和GBRT 等。决策树模型的学习过程主要有特征选择、决策树生成和剪枝。主要算法有ID3、C4.5和CART等。 一、决策树模型 决策树首先是一个树形结构,它包括两种类型…

ElasticSearch获取多个文档Multi GET API介绍

#■同时获取多个文档信息 #■例子:获职index:bank和shakespeare下面 #. I0为1.2.3.4.15.6.28的文档信息 GET /bank/bank_account/1 GET /bank/bank_account/2 GET /shakespcare/line/3 GET /bank/bank_account/4 GET /shakespeare/line/15 #日数组[] GET /_mget {"docs&qu…

Bulk批量操作API的介绍

#多重模式 #批量操作bulk POST /library/books/_bulk {"index": {"_id": 1}} {"title":"Elasticsearch: The Definitive Guide","price":5} {"index": {"_id": 2}} {"title":"The Elast…

elasticsearch内部版本控制

现在我将这个price价格改为10,看下版本有什么变化? 获取一下 返回结果我们知道价格price已经修改为10,_version已经变成2 我们把参数version改成2试试 我们从执行结果可知,我们已经修改成功,并且版本自增为3

最优化学习笔记(三)——梯度下降法

本来这周计划写下逻辑回归的学习笔记&#xff0c;但是其中用到了最优化对数似然函数&#xff0c;因此决定先复习下梯度方法和拟牛顿法。本节先从纯数学的角度总结下梯度下降法。 一、柯西-施瓦茨不等式 对于 Rn中的任意两个向量 x和y&#xff0c; 有&#xff1a; |<x,y&g…

ElasticSearch外部版本控制

#外部版本控制机制| PUT /library/books/1?version5&version_typeexternal {"title": "Elosticsearch: The Definitive Guide" ,"name":{"first" : "Zachary","last" : "Tong"},"publish_dat…

ElasticSearch映射Mapping

1.1 什么是映射 (1) 映射(mapping): 定义index的元数据, 指定要索引并存储的文档的字段类型. 也就是说映射决定了Elasticsearch在建立倒排索引、进行检索时对文档采取的相关策略, 如数字类型、日期类型、文本类型等等. 需要注意的是: 检索时用到的分析策略, 要和建立索引时的分…

机器学习笔记(十)——Logistic Function AND Softmax Function

一、说明 在逻辑回归和一些机器学习算法中&#xff0c; Logistic函数和Softmax函数是常用到的&#xff0c;今天就先讨论下这两个函数。 二、Logistic Function Logistic function一般用于二分类问题&#xff0c;它的函数定义如下&#xff1a; f(x)11e−x(1)f(x) = \frac{1}{1…

kibana客户端工具操作ElasticSearch(增删改查三)

之前一直我们讲的是添加文档和查看文档&#xff0c;下面我们看下怎么修改文档&#xff0c; 第一种方式PUT 覆盖原来的文档 修改文档&#xff08;覆盖原来的&#xff09;&#xff1a; PUT /lib/user/1 {"first_name":"Jane","last_name":"…

Word2Vec学习笔记(三)

三、Hierarchical Softmax模型 3.1 词向量 词向量目前常用的有2种表示方法&#xff0c;One-hot representation 和 distributed representation. 词向量&#xff0c;顾名思义就是将一个词表示为向量的形式&#xff0c;一个词&#xff0c;怎么可以将其表现为向量呢&#xff1f;…