线性回归

机器学习笔记 逻辑回归

瘦欲@ 提交于 2019-12-24 18:04:29
逻辑回归 逻辑回归和线性回归其实有不少类似的地方,不同的是逻辑回归的$\hat y$是离散的.线性回归的$\hat y$是连续的. 逻辑回归:拟合样本数据发生的概率,根据概率进行分类处理. 逻辑回归,拟合样本发生的概率. $\hat p = f(x)$,之后根据概率的大小对样本做分类. 通常,将逻辑回归用来解决分类问题.作为分类算法时,解决的是二分类问题. 在 线性回归 一文中,我们知道$\hat y = \theta ^T X_b$,但是这个值的取值范围是负无穷到正无穷,如果我们想要表达概率的话,希望找到一个函数,取值范围在0-1. Sigmoid函数 在 一文读懂svm 中,我们也提到过这个函数,是常见核函数的一种.以后在讲神经网络的时候也会再看到它. $\hat p = \sigma(X_b \theta) =\frac 1 {1+e^{-X_b \theta}}$ 这个函数,我想不用多解释了,学过高中数学的应该都能明白其取值在0-1之间. 通过这个函数,我们可以把一个预测值转化为概率值,所以逻辑回归的概率模型可以表达为$$\hat p = \frac 1 {1+e^{-\theta ^T X_b}}$$. 我们做这样一个假设. 这样当有一个样本x过来,我们可以先计算出$\hat p$,再进而得到一个$\hat y$。 那么此时我们的问题转变为:怎样求得这样的$\theta$

机器学习实战:预测数值型数据 - 回归

浪子不回头ぞ 提交于 2019-12-23 12:39:20
机器学习实战:预测数值型数据 - 回归 文章目录 机器学习实战:预测数值型数据 - 回归 一、回归 1、回归 概述 2、回归 场景 3、回归 原理 线性回归 须知概念 工作原理 开发流程 算法特点 4、线性回归 & 局部加权线性回归 项目案例 4.1 线性回归 项目案例 4.2 局部加权线性回归 项目案例 局部加权线性回归 工作原理 项目案例 编写代码 拟合效果 4.3 线性回归 & 局部加权线性回归 项目案例 项目概述 开发流程 5、缩减系数来 “理解” 数据 5.1 岭回归 编写代码 运行效果 5.2 套索方法(Lasso) 5.3 前向逐步回归 编写代码 运行效果 5.4 小结 6、权衡偏差和方差 7、回归 项目案例 项目案例1: 预测乐高玩具套装的价格(已失效) 项目概述 开发流程 8、回归 选读内容 9、回归 小结 资料来源 一、回归 1、回归 概述 回归的目的是预测数值型的目标值。 其核心就是通过样本得到回归方程(一个预测值的计算公式),形如 y = ax , 其中a 就是回归系数,求回归系数的过程就是回归。一旦有了回归方程,再给定输入,预测就非常容易了。具体的做法是用回归系数乘以输入值,再将结果全部加在一起,就得到了预测值。 我们这里所说的,回归系数是一个向量,输入也是向量,这些运算也就是求出二者的内积。 说到回归,一般都是指线性回归

线性回归推导

不问归期 提交于 2019-12-22 02:15:38
样本(\(x_{i}\),\(y_{i}\))个数为\(m\): \[\{x_{1},x_{2},x_{3}...x_{m}\}\] \[\{y_{1},y_{2},y_{3}...y_{m}\}\] 其中\(x_{i}\)为\(n-1\)维向量(在最后添加一个1,和\(w\)的维度对齐,用于向量相乘): \[x_{i}=\{x_{i1},x_{i2},x_{i3}...x_{i(n-1)},1\}\] 其中\(w\)为\(n\)维向量: \[w=\{w_{1},w_{2},w_{3}...w_{n}\}\] 回归函数: \[h_{w}(x_{i})=wx_{i}\] 损失函数: \[J(w)=\frac{1}{2}\sum_{i=1}^{m}(h_{w}(x_{i})-y_{i})^2\] \[求w->min_{J(w)}\] 损失函数对\(w\)中的每个\(w_{j}\)求偏导数: \[\frac{\partial J(w)}{\partial w_{j}}=\frac{\partial}{\partial w_{j}}\sum_{i=1}^{m}(h_{w}(x_{i})-y_{i})^2\] \[=\frac{1}{2}*2*\sum_{i=1}^{m}(h_{w}(x_{i})-y_{i})*\frac{\partial (h_{w}(x_{i})-y_{i})}{

回归算法

匆匆过客 提交于 2019-12-20 02:37:56
1.什么是回归? 2.回归的类型有哪些? 3.线性回归的分析 4.总结 1.什么是回归? 回归分析是在一系列的已知或能通过获取的自变量与因变量之间的相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,通过其来实现对新自变量得出因变量的关系。因此回归分析是实用的预测模型或分类模型。 凡事皆有因果关系,解读“回归”二字,其实就是由因回溯果的过程,最终得到的因与果的关系,就称为回归。回归其实就是一个名词,没有特别的含义。 下面用一个大众的例子来更加形象的解释何为回归。 【根据销售产品预测营销额(实际中,此类数据挖掘问题可帮助商家合理的进货与最大化利润)】 这是一部分数据。观察数据一共有3个维度的因素影响最终的营销额。先拿部分数据集出来可视化,观察自变量与因变量间的关系。 通过Python可视化数据,可以看到产品销量与营销额的关系看似是线性的。其实实际中真的是这样做的,只不过在数据的获取和特征选择上做更多的功夫。所以,在此可以通过建立回归模型来分析这个业务问题。 这里先不考虑如何写代码的细节,直接上图清晰的看出回归模型的由来与作用。 由以上的图片看出来,由各个产品的销量与营销额建立回归模型: y = 0.04695 x1 + 0.17659 x2 + 0.00185*x3 + 2.9372 相信,看到这里应该对回归有了基本的了解了

线性回归,感知机,逻辑回归(GD,SGD)

你。 提交于 2019-12-20 00:53:30
线性回归 线性回归是一个 回归问题 ,即用一条线去拟合训练数据 线性回归的模型: 通过训练数据学习一个 特征的线性组合 ,以此作为预测函数。 训练目标:根据训练数据学习参数(w 1 ,w 2 , ... , w n ,b) 学习策略: 要确定参数(w 1 ,w 2 , ... , w n ,b),即关键在于如何衡量 预测函数f(x)与训练数据y之间的差别。 如果要使得预测函数 f(x)尽可能准确,那么即要求f(x)-y尽可能小,而 f(x)-y便是一个样本(x,y)的损失函数。 对于整个训练数据的损失函数,用 均方误差损失函数 (1/2是为了求导方便) 即当均方误差损失函数J最小时的参数(w 1 ,w 2 , ... , w n ,b),便是最终线性模型中的参数。 所以目标就是求: 求解这个损失函数的方法主要有两个: 最小二乘法,梯度下降法 使用 梯度下降法 求解 (梯度下降,批量梯度下降,随机梯度下降) 我们知道 曲面上沿着梯度的方向是函数值变化(增大)最快的方向,因此要得到J(w)最小值,应该沿着梯度的反方向 。 使用沿着梯度的反方向进行权重的更新,可以有效的找到全局的最优解。 更新过程如下: 说明: 1. 上述是对参数向量W的分量w j 进行更新的表达式。由更新表达式可知,每次更新使用所有的训练数据(m个样本)。 2. 在对参数w j 更新时,使用到了样本x i (样本x i

Python进行深度学习—线性回归

一笑奈何 提交于 2019-12-19 16:18:21
Python进行深度学习—线性回归 第一步,读取数据。 第二步,处理数据。提取原始数据中有用信息。 第三步,设置模型的X和Y,并进行标准化。 第四步,设置训练集和测试集。 第五步,构建模型。 第六步,拟合模型。将数据代入第五步构建的模型,得到模型参数。 第一步,读取数据。 import pandas as pd # 读取数据 MasterFile = pd . read_excel ( 'F:\\Anaconda文件\\人脸打分\\SCUT-FBP5500_with_Landmarks\\FaceScore.xlsx' ) # 查看文件有多少行和列 print ( MasterFile . shape ) MasterFile [ 0 : 5 ] 第二步,处理数据。提取原始数据中有用信息。 # 取中间两列 Master = MasterFile [ [ 'Filename' , 'Rating' ] ] # 取各图片评分的均值 Master = Master [ 'Rating' ] . groupby ( Master [ 'Filename' ] ) . mean ( ) # 设置为数据框 Master1 = pd . DataFrame ( list ( Master . index ) , columns = [ 'Filename' ] ) Master2 = pd .

(一)线性回归与特征归一化(feature scaling)

做~自己de王妃 提交于 2019-12-18 13:45:51
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题。 线性其实就是一系列一次特征的线性组合,在二维空间中是一条直线,在三维空间中是一个平面,然后推广到n维空间,可以理解维广义线性吧。 例如对房屋的价格预测,首先提取特征,特征的选取会影响模型的精度,比如房屋的高度与房屋的面积,毫无疑问面积是影响房价的重要因素,二高度基本与房价不相关 下图中挑选了 面积、我是数量、层数、建成时间四个特征,然后选取了一些train Set{x (i) , y (i) }。 有了这些数据之后就是进行训练,下面附一张有监督学习的示意图 Train Set 根据 学习算法得到模型h,对New Data x,直接用模型即可得到预测值y,本例中即可得到房屋大小,其实本质上就是根据历史数据来发现规律,事情总是偏向于向历史发生过次数多的方向发展。 下面就是计算模型了,才去的措施是经验风险最小化,即我们训练模型的宗旨是,模型训练数据上产生结果 , 要与实际的y (i) 越接近越好 (假定x 0 =1),定义损失函数J(θ)如下,即我们需要损失函数越小越好,本方法定义的J(θ)在最优化理论中称为凸(Convex)函数

机器学习系列笔记(2)——多项式回归与过拟合

£可爱£侵袭症+ 提交于 2019-12-18 07:54:07
多项式回归与过拟合 import numpy as np import matplotlib . pyplot as plt X_simple = np . arange ( 1 , 11 ) . reshape ( - 1 , 2 ) X_simple array([[ 1, 2], [ 3, 4], [ 5, 6], [ 7, 8], [ 9, 10]]) # 导入多项式处理的类 from sklearn . preprocessing import PolynomialFeatures poly = PolynomialFeatures ( degree = 2 ) poly . fit ( X_simple ) X2_simple = poly . transform ( X_simple ) X2_simple array([[ 1., 1., 2., 1., 2., 4.], [ 1., 3., 4., 9., 12., 16.], [ 1., 5., 6., 25., 30., 36.], [ 1., 7., 8., 49., 56., 64.], [ 1., 9., 10., 81., 90., 100.]]) 可以看到,在sklearn中,对于有两个特征 x 1 x_1 x 1 ​ , x 2 x_2 x 2 ​ ,多项式回归预处理将特征变为: 第一列全部为1;

机器学习——回归问题(线性回归,岭回归,逐步回归)

江枫思渺然 提交于 2019-12-18 01:21:30
线性回归 那么对于给定的数据x1,即矩阵X的第一列数据,预测结果u1将会通过如下公式给出: 现在的问题是,手里有数据矩阵X和对应的标签向量y,怎么才能找到w呢?一个常用的方法就是找出使误差最小的w。这里的误差是指预测u值和真实y值之间的差值,使用该误差的简单累加将使得正差值和负差值相互抵消,所以我们采用平方误差。 平方误差和可以写做: 为啥能这么变化,记住一个前提:若x为向量,则默认x为列向量,x^T为行向量。将上述提到的数据矩阵X和标签向量y带进去,就知道为何这么变化了。 在继续推导之前,我们要先明确一个目的:找到w,使平方误差和最小。因为我们认为平方误差和越小,说明线性回归拟合效果越好。 现在,我们用矩阵表示的平方误差和对w进行求导: 得到w 局部加权线性回归 多了一个权重矩阵 随着样本点与待测点距离的增加,权重将以指数级衰减。 岭回归 岭回归即我们所说的L2正则线性回归,在一般的线性回归最小化均方误差的基础上增加了一个参数w的L2范数的罚项,从而最小化罚项残差平方和: 简单说来,岭回归就是在普通线性回归的基础上引入单位矩阵。回归系数的计算公式变形如下: 图中绘制了回归系数与log(λ)的关系。在最左边,即λ最小时,可以得到所有系数的原始值(与线性回归一致);而在右边,系数全部缩减成0;在中间部分的某个位置,将会得到最好的预测结果。想要得到最佳的λ参数

(一)线性回归与特征归一化(feature scaling)

百般思念 提交于 2019-12-17 20:04:35
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题。 线性其实就是一系列一次特征的线性组合,在二维空间中是一条直线,在三维空间中是一个平面,然后推广到n维空间,可以理解维广义线性吧。 例如对房屋的价格预测,首先提取特征,特征的选取会影响模型的精度,比如房屋的高度与房屋的面积,毫无疑问面积是影响房价的重要因素,二高度基本与房价不相关 下图中挑选了 面积、我是数量、层数、建成时间四个特征,然后选取了一些train Set{x (i) , y (i) }。 有了这些数据之后就是进行训练,下面附一张有监督学习的示意图 Train Set 根据 学习算法得到模型h,对New Data x,直接用模型即可得到预测值y,本例中即可得到房屋大小,其实本质上就是根据历史数据来发现规律,事情总是偏向于向历史发生过次数多的方向发展。 下面就是计算模型了,才去的措施是经验风险最小化,即我们训练模型的宗旨是,模型训练数据上产生结果 , 要与实际的y (i) 越接近越好 (假定x 0 =1),定义损失函数J(θ)如下,即我们需要损失函数越小越好,本方法定义的J(θ)在最优化理论中称为凸(Convex)函数