机器学习(一)--- 监督学习之回归

参考学习资料:http://cs229.stanford.edu/materials.html

通过对学习,掌握的知识点包括:

  • 什么是 cost fuction
  • Linear regression的概念
  • Logistic regression的概念

============监督学习的引出==============

机器学习可以分为两个大类,一个是监督学习(supervised learning),一个是无监督学习(unsupervised learning)。监督学习的主要任务是通过给定输入样本,从而找出对应的分类或者变化的趋势,对应的术语概念就是分类和回归。之所以成为监督学习,是因为这类算法必须知道需要预测什么,即目标变量的分类信息。而无监督学习是没有类别信息的,也没有给定的目标值,需要完成的任务是将类似的对象归纳为一个类型,即聚类,或者寻找描述数据统计值得过程,即密度估计。一下是一个关于监督学习的一个例子,具体来说是实现回归:需要预测一组房子的大小和房价之间的关系:

房价和房子大小的二维显示如下:

进行建模分析:

1、代表第i-th个特征变量,这里代表的是第i个房子的房子的大小,对应上图的横坐标

2、代表第i-th个输出变量,或者目标值,在这个例子中代表需要预测的房价信息,对应上图的纵坐标

3、这样一组值,代表一组训练样本,trainning example,很多这样的的训练样本构成训练集,trainning set

4、代表特征变量构成的空间集合,代表目标值构成的空间集合

现在需要进行的任务是,确定学习算法,确立特征变量和目标值之间的存在的某种关系,即找出映射关系:,使得函数可以很好的预测测试样本,找到与之对应的目标值。在机器学习的术语中,h称为hypothesis。因此学习的模型大致如下:

以上就是监督学习的一个典型例子,更加确切的说是回归的一个例子。接下来介绍一个解决以上问题的一个解决方案:Linear regression,线性回归

===========Linear regression===========

在Linear regression中,模型建立的出发点是特征向量集&目标值集合存在某种线性关系,上面的例子中,即房子的大小和房价存在线性关系,即:

寻求的目标是,预测值和目标值的误差达到最小。通常这种误差用平方差来衡量,即:

cost function    :

定义表征上述公式。这就是所谓的cost function。

cost funcion是用于:measure the accuracy
of our hypothesis(假设模型) function by using a cost function。

因此最终的目标Goal就是对最小化 :

解决以上cost function的方法有很多,在Andrew Ng的讲义中介绍了一种方法,即gradient descent,梯度下降法。

gradient descent:

Gradient descent, also known as steepest
descent, is an iterative optimization algorithm for finding a local minimum of differentiable functions. At each iteration, gradient descent operates by moving the current solution in the direction of the negative gradient of the function (the direction of
"steepest descent").

其核心思想即,对cost function J求偏导,让决定cost function的参数按照梯度下降的方向变化,一个三维的示意图说明一下这个算法:

如中的黑线即为梯度下降过程中,cost funcion的变化过程,最后cost
function达到了一个局部的最小值。最初的初始值选择不同,最后计算出的最小值以及达到收敛时的最优可能不一样。

梯度下降的算法过程如下:

对于上面的Linear regression模型而言,最后的算法实现为:

参数的更新过程为:其中:

称为learning rate,学习速率。学习速率太小,会导致梯度下降法收敛太慢,而学习速率太大,则最后计算出的hypothsis可能就不能很好的达到预测的目的。

经过线性回归的学习算法后,得到的预测效果如图所示,现在给定一个新的x值,通过函数,就可以达到预测房价的目的。

=========Logistic regression=========

Logistic
regression is a machine learning model for binary classification, i.e. learning to classify data points into one of two categories. It‘s a linear model, in that the decision depends only on the dot product of a weight vector with a feature vector. This means
the classification boundary can be represented as a hyperplane. It‘s a widely used model in its own right, and the general structure of linear-followed-by-sigmoid is a common motif in neural networks.

Logistic regression的主要目的是为了解决二分类的问题。对于0--1的分类问题,即判断好坏,是或者不是等问题,比如肿瘤的恶性或者良性,垃圾邮箱的处理问题,一般来说对于类别为0的成为negative class,而类别为1的则被成为positive
class。一般而言,相对于Linear regression中目标值的连续性,可以看出,这里的分类问题目标值更多的表现出它的离散性。

这里将Logistic regression仍然成为一种回归,我的理解是由于decision
boundry。在不等式的判决中,就算是以上的Linear regression,我们可以认为在直线上方的为大于直线所有值的一种类别,而在直线下方则是小于直线的一种类别,而在三维平面中,这种直线则表现出一种超平面,因此这种简单的分类分体仍然可以用回归的思想来解决,即通过一种曲线,可以很好的将类型分为两类。Logistic regression就是解决这种问题。

一种曲线,如下图,一种较为简单的Logistic
regression进行二分类:

其函数形式是:

因此对于该,对于的cost
function可以理解为错误率的计算,错误率越低,则分类的错误率越高。从概率的角度出发,定义:

因此,所有个体的联合分布概率为:

因此,cost
function为:

注意,y的值在二分类问题中总是1或者0。

对该cost funcion的解释:

正确率的计算公式为:

当正确率最大时,其负值也就最小,即对cost
function求最小值。依然采取梯度下降法进行求解:

带入到cost function中,即对上式进行反号,可以看出,最会得到的梯度和Linear
regression是一致的。梯度下降的更新过程为:

时间: 2024-11-10 14:27:47

机器学习(一)--- 监督学习之回归的相关文章

机器学习有监督学习之--回归

一.引言 本材料参考Andrew Ng大神的机器学习课程 http://cs229.stanford.edu,以及斯坦福无监督学习UFLDL tutorial http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial 机器学习中的回归问题属于有监督学习的范畴.回归问题的目标是给定D维输入变量x,并且每一个输入矢量x都有对应的值y,要求对于新来的数据预测它对应的连续的目标值t.比如下面这个例子:假设我们有一个包含47个房子的面积和价格的数据集如

机器学习笔记—-监督学习与无监督学习的异同

** 机器学习笔记--监督学习与无监督学习的异同 ** 有监督学习 在监督学习中,输入数据和输出数据存在某种关系,即在已经给定的数据集下,对应的正确输出结果,已经大约知道是什么样子了. 有监督学习常常被归类为 回归 和 分类 问题. 在回归问题中,我们希望得到连续值的输出预测值,即,使用某些连续函数来映射输入值. 在分类问题中,则希望获得的是离散的预测值.将输入值映射到离散的种类上. 无监督学习 无监督学习,对于问题最终的结果,只有很少或没有什么感知.从已有数据中抽取相应的结构,且不必知道数据变

机器学习(4)之Logistic回归

机器学习(4)之Logistic回归 1. 算法推导 与之前学过的梯度下降等不同,Logistic回归是一类分类问题,而前者是回归问题.回归问题中,尝试预测的变量y是连续的变量,而在分类问题中,y是一组离散的,比如y只能取{0,1}. 假设一组样本为这样如图所示,如果需要用线性回归来拟合这些样本,匹配效果会很不好.对于这种y值只有{0,1}这种情况的,可以使用分类方法进行. 假设,且使得 其中定义Logistic函数(又名sigmoid函数): 下图是Logistic函数g(z)的分布曲线,当z

《机器学习实战》Logistic回归算法(1)

===================================================================== <机器学习实战>系列博客是博主阅读<机器学习实战>这本书的笔记也包含一些其他python实现的机器学习算法 算法实现均采用python github 源码同步:https://github.com/Thinkgamer/Machine-Learning-With-Python ==================================

机器学习总结之逻辑回归Logistic Regression

机器学习总结之逻辑回归Logistic Regression 逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法.简单的说回归问题和分类问题如下: 回归问题:预测一个连续的输出. 分类问题:离散输出,比如二分类问题输出0或1. 逻辑回归常用于垃圾邮件分类,天气预测.疾病判断和广告投放. 一.假设函数 因为是一个分类问题,所以我们希望有一个假设函数,使得: 而sigmoid 函数可以很好的满足这个性质: 故假设函数: 其实逻辑回归为什么要用sigmoi

机器学习九大算法---回归

机器学习九大算法---回归 转自:http://blog.csdn.net/xiaohai1232/article/details/59551240 回归分析即,量化因变量受自变量影响的大小,建立线性回归方程或者非线性回归方程,从而达对因变量的预测,或者对因变量的解释作用. 回归分析流程如下: ①探索性分析,画不同变量之间的散点图,进行相关性检验等,了解数据的大致情况,以及得知重点关注那几个变量: ②变量和模型选择,: ③回归分析假设条件验证: ④共线性和强影响点检查: ⑤模型修改,并且重复③④

易百教程人工智能python修正-人工智能监督学习(回归)

回归是最重要的统计和机器学习工具之一. 我们认为机器学习的旅程从回归开始并不是错的. 它可以被定义为使我们能够根据数据做出决定的参数化技术,或者换言之,允许通过学习输入和输出变量之间的关系来基于数据做出预测. 这里,依赖于输入变量的输出变量是连续值的实数. 在回归中,输入和输出变量之间的关系很重要,它有助于我们理解输出变量的值随输入变量的变化而变化. 回归常用于预测价格,经济,变化等. 在Python中构建回归器 在本节中,我们将学习如何构建单一以及多变量回归器. 线性回归器/单变量回归器 让我

遵循统一的机器学习框架理解逻辑回归

遵循统一的机器学习框架理解逻辑回归 标签: 机器学习 LR 分类 一.前言 我的博客不是科普性质的博客,仅记录我的观点和思考过程.欢迎大家指出我思考的盲点,更希望大家能有自己的理解. 本文参考了网络上诸多资料. 二.理解 统一的机器学习框架(MLA): 1.模型(Model) 2.策略(Loss) 3.算法(Algorithm) 按照如上所说框架,LR最核心的就是损失函数使用了 Sigmoid 和 Cross Entropy . LR: Sigmoid + Cross Entropy Model

机器学习-正则化(岭回归、lasso)和前向逐步回归

机器学习-正则化(岭回归.lasso)和前向逐步回归 本文代码均来自于<机器学习实战> 这三种要处理的是同样的问题,也就是数据的特征数量大于样本数量的情况.这个时候会出现矩阵不可逆的情况,为什么呢? 矩阵可逆的条件是:1. 方阵 2. 满秩 X.t*X必然是方阵(nxmxmxn=nxn,最终行列数是原来的X矩阵的列数,也就是特征数),但是要满秩的话,由于线性代数的一个结论,X.t*X的秩不会比X大,而X的秩是样本数和特征数中较小的那一个,所以,如果样本数小于特征数的话,X.t*X就不会是可逆的