线性回归

局部加权线性回归(Locally weighted linear regression)

北城以北 提交于 2020-03-16 21:44:24
首先我们来看一个线性回归的问题,在下面的例子中,我们选取不同维度的特征来对我们的数据进行拟合。 对于上面三个图像做如下解释: 选取一个特征 , 来拟合数据,可以看出来拟合情况并不是很好,有些数据误差还是比较大 针对第一个,我们增加了额外的特征 , ,这时我们可以看出情况就好了很多。 这个时候可能有疑问,是不是特征选取的越多越好,维度越高越好呢?所以针对这个疑问,如最右边图,我们用5揭多项式使得数据点都在同一条曲线上,为 。此时它对于训练集来说做到了很好的拟合效果,但是,我们不认为它是一个好的假设,因为它不能够做到更好的预测。 针对上面的分析,我们认为第二个是一个很好的假设,而第一个图我们称之为 欠拟合 ( underfitting ),而最右边的情况我们称之为 过拟合 ( overfitting ) 所以我们知道特征的选择对于学习算法的性能来说非常重要,所以现在我们要引入局部加权线性回归,它使得特征的选择对于算法来说没那么重要,也就是更随性了。 在我们原始的线性回归中,对于输入变量 ,我们要预测,通常要做: 而对于局部加权线性回归来说,我们要做: 为权值,从上面我们可以看出, 如果 很大,我们将很难去使得 小,所以如果 很小,则它所产生的影响也就很小。 通常我们选择 的形式如下所示: 上式中参数 为新预测的样本特征数据,它是一个向量,参数 控制了权值变化的速率, 和 的图像如下

6分钟了解所有机器学习模型

强颜欢笑 提交于 2020-03-15 01:46:23
所有机器学习模型都可以分为 有监督 的或 无监督 的。如果模型是监督模型,则将其再分类为回归模型或分类模型。我们将介绍这些术语的含义以及下面每个类别中对应的模型。 监督学习模型 监督学习涉及基于示例输入-输出对学习将输入映射到输出的功能。 例如,如果我有一个包含两个变量的数据集,即年龄(输入)和身高(输出),那么我可以实现一个监督学习模型,以根据一个人的年龄预测其身高。 监督学习示例 重申一下,在监督学习中,有两个子类别:回归和分类。 回归模型 在回归模型中,输出是连续的。以下是一些最常见的回归模型类型。 -线性回归 线性回归示例 线性回归的概念就是简单地找到一条最适合数据的直线。线性回归的扩展包括多元线性回归(例如,找到最佳拟合的平面)和多项式回归(例如,找到最佳拟合的曲线)。 -决策树 图片来自Kaggle 决策树是一种普遍应用的模型,常用于运筹学、战略计划和机器学习。上方的每个正方形称为一个节点,你拥有的节点越多,决策树(通常)将越准确。做出决策的决策树的最后节点称为树的叶子。决策树直观且易于构建,但在准确性方面稍有不足。 -随机森林 随机森林是一种基于决策树的整体学习技术。随机森林涉及使用原始数据通过“自举法”(Bootstrapping)得到的数据集创建多个决策树,并在决策树的每个步骤中随机选择变量的子集。然后,模型选择每个决策树的所有预测的模式。这有什么意义呢?通过依靠

学习深度学习--线性回归

大憨熊 提交于 2020-03-11 07:57:55
在之前已经了解到神经网络是由一个一个的神经元来组成的,接下来学习神经网络的基础---神经元,从最简单的线性回归开始学起。 1. 直观上来看线性回归解决什么样的问题呢? 用最经典的房价预测来看,首先考虑最简单的情况,假定现在只看房价和面积的大小的关系,通过历史的经验我们可能能够有看到这样一些样本点: 我们可以看到他们大概是呈一种正相关的关系,但是如果现在有一套新房,我们只知道他的面积,我怎么能够大概评估这个房子在什么价位呢?从最简单的角度来考虑,我们能不能找到一条直线来表达价格和面积之间的关系呢? 于是我们就有了一条直线来大概说明房价和面积之间是一种什么样的关系,这条直线用数学公式表达为:y_h = wx+b。但是在这个平面里面可以画无数条直线,哪一条直线是最好的呢?我们使用这条直线来预测房价,当然希望我在相同面积上面我预测的价格和实际的价格的差异越小越好,于是我们就有了优化的方向:Σ(h(x)-y)^2最小。 那怎么样去找到相关的参数,使得Σ(h(x)-y)^2,可以使用梯度下降法来实现。 什么是梯度下降呢? 梯度下降就好比下山,上帝把你随机的放在了一座山的任意一个位置,但是现在你要下山去要怎么走呢?第一是确定一个方向,我们在不知道整座山的全貌的时候,就只好基于我们当前的形式来判断,环顾四周,我走向那个下降最快的方向,这个方向就是梯度,我们可以用偏导数来描述这个方向

机器学习-线性回归

♀尐吖头ヾ 提交于 2020-03-10 05:17:01
机器学习-线性回归算法简单理解 一、基本含义 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w’x+e,e为误差服从均值为0的正态分布。 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。 二、拟合方程 我们所采用的拟合方程为最小二乘法,可以计算出对于y=bx+a的直线。 可以计算出对于y=bx+a的直线。同时可以表示为y = x.T*w , x = [x0 x1].T , w = [b w].T; 三、损失函数 其原理为真实值与预测值的差值 实现过程 一、导入相关模块 import pandas as pd import matplotlib . pyplot as plt import numpy as np import random 二、生成数据集 x , y = [ ] , [ ] for i in range ( 1 , 100 ) : x . append ( [ 1 , 2 * ( i + random . uniform ( - 0.3 , 0.3 ) ) + 3 + random . random ( ) ] ) y .

机器学习篇——单变量线性回归问题(Tensorflow求解)

走远了吗. 提交于 2020-03-10 03:29:26
机器学习中的单变量线性回归问题其实就是用一个神经元解决的方法。 文章目录 线性回归中的一些术语 模型训练的迭代方法 单变量线性回归机器学习求解 下面是一个简单的线性回归案例 线性回归中的一些术语 标签: 是我们要预测的真实事物,在上面例子线性回归中就是应变量y 特征: 是用于描述数据的输入变量,在上面例子线性回归中就是自变量x的取值集合{x1、x2、x3、…xn} 样本: 是数据的特定实例:x的一个取值 有标签样本就是{特征,标签}:{x,y},用来训练模型 无………………{特征,?}:{x,?},用来对新数据进行预测 模型: 可以将样本映射到预测标签:y’是由模型的内部参数定义,内部参数则是通过不断地学习而得到。 训练: 训练模型是指通过有标签的样本来学习所有的权重(x的系数)和偏差(截距)的理想值 在监督式学习中,机器学习算法可以通过检查多个样本并尝试找出可最大限度地减少损失的模型。(也被称之为经验风险最小化) 损失: 是对糟糕预测的惩罚,是一个对于单个样本而言模型预测的准确程度的数值指标。 训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。 损失函数: L1损失:基于模型预测值与标签的实际值之差的绝对值为指标 L2损失:基于模型预测值与标签的实际值之差的平均平方损失为指标(均方误差MSE) 模型训练的迭代方法 由上图可知,模型训练的要点:

logistics回归理解

不打扰是莪最后的温柔 提交于 2020-03-09 14:43:16
多元回归方程:假设有一个因变量y和一组自变量x 1 , x 2 , x 3 , ... , x n ,其中y为连续变量,我们可以拟合一个线性方程: y =β 0 +β 1 *x 1 +β 2 *x 2 +β 3 *x 3 +...+β n *x n 如果y为二分类变量,只能取值0或1,那么线性回归方程就会遇到困难: 方程右侧是一个连续的值,取值为负无穷到正无穷,而左侧只能取值[0,1],无法对应。为了继续使用线性回归的思想,统计学家想到了一个变换方法,就是将方程右边的取值变换为[0,1]。最后选中了Logistic函数:逻辑回归,可以说是在线性回归的基础上加上一个sigmoid函数,将线性回归产生的值归一化到[0-1]区间内。sigmoid函数如下: y = 1 / (1+e -x ) 这是一个S型函数,值域为(0,1),能将任何数值映射到(0,1),且具有无限阶可导等优良数学性质。 我们将线性回归方程改写为: y = 1 / (1+e -z ), 其中,z =β 0 +β 1 *x 1 +β 2 *x 2 +β 3 *x 3 +...+β n *x n 此时方程两边的取值都在0和1之间。 进一步数学变换,也就是可以写为: Ln(y/(1-y)) =β 0 +β 1 *x 1 +β 2 *x 2 +β 3 *x 3 +...+β n *x n Ln(y/(1-y)

线性回归两种求解方式总结

浪子不回头ぞ 提交于 2020-03-07 06:46:48
线性回归两种求解方式总结 使用梯度下降进行预测 from sklearn . datasets import load_boston # 波士顿房价数据集使用API from sklearn . linear_model import LinearRegression , SGDRegressor ##回归预测时使用的API from sklearn . model_selection import train_test_split from sklearn . preprocessing import StandardScaler ## 标准化API def myLinear ( ) : """线性回归直接预测房子价格""" # 获取数据 lb = load_boston ( ) # 分割数据集 x_train , x_text , y_train , y_text = train_test_split ( lb . data , lb . target , test_size = 0.25 ) # 进行标准化处理 std_x = StandardScaler ( ) x_train = std_x . fit_transform ( x_train ) x_text = std_x . transform ( ( x_text ) ) #目标值 std_y =

多变量线性回归

☆樱花仙子☆ 提交于 2020-03-05 23:22:54
多变量梯度下降 与单变量线性回归类似,在多变量线性回归中,我们也构建一个代价函数,则这个代价函数是所有建模误差的平方和,即: 其中: 我们的目标和单变量线性回归问题中一样,是要找出使得代价函数最小的一系列参数。 多变量线性回归的批量梯度下降算法为: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X8w3rqUS-1583408307734)(https://i.loli.net/2020/01/07/r2BYEoxOdN5zbUA.png)] 我们开始随机选择一系列的参数值,计算所有的预测结果后,再给所有的参数一个新的值,如此循环直到收敛。 Python 代码示例: def computeCost(X, y, theta): inner = np.power(((X * theta.T) - y), 2) return np.sum(inner) / (2 * len(X)) 梯度下降法实践1-特征缩放 在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛 以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000平方英尺,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。

机器学习的分类与回归算法

那年仲夏 提交于 2020-03-04 17:22:01
前言:根据机器学习的数据集的目标值是离散or连续,处理的算法包含分类、回归两大类 sklearn的使用教程 https://www.jianshu.com/p/6ada34655862 目录 分类算法 k近邻算法 朴素贝叶斯 决策树、随机森林 分类回归 回归算法 线性回归 分类算法 k近邻算法 算法思想:一个样本与数据集中的k个样本最相似,如果k个样本中的大多数属于一个类别,则认识该样本属于这个类别; 最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中。n维空间中两个点x1(x11,x12,…,x1n)与 x2(x21,x22,…,x2n)间的欧氏距离 实现: https://www.cnblogs.com/xiaotan-code/p/6680438.html from sklearn.neighbors import KNeighborsClassifier # 导包 knn = KNeighborsClassifer() # 定义一个分类器对象 knn.fit([特征值],[目标值]) # 调用模型 朴素贝叶斯 算法思想 : https://blog.csdn.net/Growing_hacker/article/details/89790230 实现 from sklearn.naive_bayes import MultinomialNB