机器学习算法面试—口述(5):回归

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此

算法的常见面问题。

一、Logistic回归

先说下logistic回归,它是根据现有数据对分类边界建立回归公式,以此进行分类。其计算代价不高,易于

实现与理解,但是容易欠拟合、分类精度不太高;

logistic回归可以看成是一种概率估计,使用的的是sigmioid函数,

通过训练数据训练出参数[w1, w2, ..., wn],根据训练出的参数就可以求出h(x)的值,比较其

与0.5的大小(大于则归为一个类别,小于则归于另一个类别)。现在的关键问题是如何根据

训练数据得到训练的参数?

1、使用梯度上升法

寻找某个函数的最大值,最好的方法是沿着函数的梯度方向寻找。

刚开始赋予一样的权重,然后根据结果与已知标号算出训练误差,再更新权值,不断地迭代

直到满足某些条件就停止。但是这个地方有一点需要注意——这种方法只试用与一些很小的

数据集,因为在更新权值的时候用到了整个数据集,这样会使速度慢很多。

2、 针对上面那个问题有一个改进的方法——随机 梯度上升法,不像梯度上升法使用整个

数据集更新数据,随机梯度上升法使用的是一个当前数据点来更新权值,这样的话基本

上不涉及向量的运算,前面的h(x) 和
误差error都是一个向量,但是随机梯度上升法

中这两个都由向量转化为一个数值,速度大幅度上升。但是,由于它是选用一个随机的样

本点来更新数据,所以有时这个方法会存在局部的波动,从而影响结果的精度。

3、针对上面波动的问题,可以通过两个步骤来改进:一是每次迭代的时候改变步长a,二是

使用随机样本来更新权值。

二、线性回归

回归的目的是预测数值型的目标值,最简单的方法是根据训练数据求出目标的计算公式,线性回归也就是用一条直线来拟合数据,从而实现目标值的预测。

目的是求出前面的回归系数

使用最小二乘法,得到结果

当然结果中有一个求逆的过程,需要验证逆是否存在!

三、局部线性加权回归

线性回归的一个比较严重的问题是欠拟合(因为它求的是最小均方误差的无偏估计),可以使用局部线性加权回归的方法来改善这个问题——给待预测点附近的每个点赋予一定的权重

求出的结果是:

这个做法可以增加拟合的精度,但是同时会增加大量的计算,每个测试样本都要与所有的训练样本求距离。

上面的二、三都是在逆存在的情况下才可以做,但是当数据的特征比样本点还多怎么办,因为此时逆是不存在的?可以使用岭回归的方法解决这个问题,也就是将转化为,其他的和前面的做法大同小异。

当然还有个做法叫做前向逐步回归,它是通过每一步对某个权值增加或则减小一个很小的值,再重新计算w和error,若是误差更小了,则更新w。

对回归的详细介绍可以参考:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971867.html

顺便吐槽下CSDN,编辑后一直看不到后面的,一行有时只能写一半的地方。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 07:55:46

机器学习算法面试—口述(5):回归的相关文章

机器学习算法面试—口述(4):决策树

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此 算法的常见面问题! 决策树是一种依托于策略抉择而建立起来的树,是一种依托于分类.训练上的预测树,根据已知,预测和分类未来. 决策树的建立是不断的使用数据的特征将数据分类的过程,主要的问题在于如何选择划分的特征: 常用的几种决策树算法有ID3.C4.5.CART等:其中ID3使用的是信息熵增益选大的方法划分数据,C4.5是使用增益率选大的方法划分数据,CART使用的是基尼指数选小的划分方法: ID3

机器学习算法面试口述(7)—分类小结

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此 算法的常见面问题. 分类的概念就说了,分类一般分为两个阶段:学习阶段以及分类阶段: 常用的分类方法有: 1.决策树 决策树不需要任何领域的知识或者参数的设置,其可以处理高维数据,简单快速. 若分类的数据是连续的,则需要插入分裂点将数据离散化:树建立的过程中,需要按照一定的 规则选择分裂的属性,可以有信息的增益.增益率.基尼指数等等,不同的规则对应的决策树, 如前面三种分别对应ID3.C4.5.CA

机器学习算法面试—口述(3):贝叶斯分类器

这个系列是为了应对找工作面试时面试官问的算法问题,所以只是也谢算法的简要介绍,后期会陆续补充关于此算法的常见面试的问题! 贝叶斯分类器的原理其实很简单,知道了贝叶斯公式基本上就知道了贝叶斯分类器的工作原理.对于一个待分类项,求出此项出现的条件下哪个类别的概率大,就判定为哪类,仅次而已.其实贝叶斯分类器是建立在错误的理论上建立起来的分类器,没错就是错误的理论,它假定事物之间是没有联系的(马克思告诉我们,这是不可能的...),从而大大的简化了计算. 算法的过程如下: 首先核心的是贝叶斯公式:P(B

【机器学习算法实现】logistic回归__基于Python和Numpy函数库

[机器学习算法实现]系列文章将记录个人阅读机器学习论文.书籍过程中所碰到的算法,每篇文章描述一个具体的算法.算法的编程实现.算法的具体应用实例.争取每个算法都用多种语言编程实现.所有代码共享至github:https://github.com/wepe/MachineLearning-Demo     欢迎交流指正! (2)logistic回归__基于Python和Numpy函数库 1.算法简介 本文的重点放在算法的工程实现上,关于算法的原理不具体展开,logistic回归算法很简单,可以看看A

机器学习算法集锦

机器学习 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能. 严格的定义:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问.这里所说的"机器",指的就是计算机,电子计算机,中子计算机.光子计算机或神经计算机等等. 机器学习概论 由上图所示:机器学习分为四大块: classifi

【转】常见面试之机器学习算法思想简单梳理

转:http://www.chinakdd.com/article-oyU85v018dQL0Iu.html 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

http://www.cnblogs.com/tornadomeet/p/3395593.html 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大.

常见面试之机器学习算法思想简单梳理

http://www.cnblogs.com/tornadomeet/p/3395593.html (转) 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大

常见面试之机器学习算法思想简单梳理【转】

前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大. 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大点的公司里百度,阿里,腾讯,网易,搜狐,华为(华为的岗位基本都是随机分配,机器学习等岗位基本面向的是博士)等