线性回归

机器学习小白学习笔记---day3---线性模型(岭回归、lasso、线性模型【svm、logistic回归】)

ⅰ亾dé卋堺 提交于 2020-02-05 23:49:22
机器学习小白学习笔记之scikit-learn 最近刚把西瓜书啃完,一大堆理论让脑子真的是一团浆糊,说实话看的基本只有一个概念哈哈哈,效果不高,但是让我对与机器学习真的是整体有了一个大的了解,但是并没能将每个课后作业都完成,甚至很多公式推导也没实现,太难了,让我着手于实践,古人云实践出真知,又拿起了另一本书《Introduce to Mashine Learning with python》 昨天上一节,学习完了knn分类回归,这一节继续往下学,自然而然地学到线性模型,线性模型在实际运用中还是相当广泛的。 用于回归的线性模型: 单一特征的预测结果是一条直线,双特征是一个平面,而高维度的则是一个超平面。 我们继续来看最常见的线性回归模型: 线性回归(普通最小二乘法) 线性回归寻找最佳的参数w(斜率、权重、系数),和b(截距),使得对训练集的预测值与真hide回归目标值y之间的均方误差最小。 在高位数据集中,线性模型将体现的更加强大,但同时会产生过拟合风险,根据书本,通过波士顿房价数据集进行预测。 我们会发现一个情况: 测试集的分数远远低于训练集的分数,显而易见就是产生了过拟合,所以我们应该找到一个可以控制复杂度的模型,标准线性回归最常用的替代方法之一就是 岭回归 。 岭回归 其实预测方法和最小二乘法相同,但是做了一下正则化(附带上拟合约束,希望系数尽可能小

【机器学习 线性模型】10分钟了解下6种常见的线性模型

拈花ヽ惹草 提交于 2020-02-05 06:39:10
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 人工智能教程 在目前的机器学习领域中,最常见的三种任务就是:回归分析、分类分析、聚类分析。那么什么是回归呢?回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。回归分析在机器学习领域应用非常广泛,例如,商品的销量预测问题,交通流量预测问题。下面介绍几种常见的线性回归模型。 常用的线性回归算法 1、线性回归 线性回归拟合一个带系数的线性模型,以最小化数据中的观测值与线性预测值之间的残差平方和。 #加载线性模型算法库 from sklearn import linear_model # 创建线性回归模型的对象 regr = linear_model . LinearRegression ( ) # 利用训练集训练线性模型 regr . fit ( X_train , y_train ) # 使用测试集做预测 y_pred = regr . predict ( X_test ) 2、岭回归 上述的线性回归算法使用最小二乘法优化各个系数,对于岭回归来说,岭回归通过对系数进行惩罚(L2范式)来解决普通最小二乘法的一些问题,例如,当特征之间完全共线性(有解)或者说特征之间高度相关

线性回归 | 推导 | 笔记

左心房为你撑大大i 提交于 2020-02-03 17:36:18
博客部分公式有格式问题,请前往语雀: https://www.yuque.com/leesamoyed/bvsayi/hrobcr 一、最小二乘法(矩阵表达;几何意义): 1.线性拟合是用线去拟合样本点: 假设: 其中: , , 有: 事实上要拟合的曲线: 其中: (在这里 所以我们更倾向于把它写入 ) 2.最小二乘估计: 最小二乘法定义: 其中: 得到: 得到: 得到: 所以: 注意: 称为伪逆记为 第一个几何解释:距离和。 另一个几何解释:对于要拟合的直线我们从另一个角度看: ,把 想象为 维度的一个系数: ,横着看就是 样本点,竖着看就是一个 维,由 可以形成一个 维空间(一般 ), 形成的向量一般不在 维空间(存在噪声之类的),最小二乘法就是在 维空间中找到一条线,让 距离线(平面最近),那么很显然就是投影。 既然是投影就会垂直于 维空间,就会垂直于每一个向量,就有 ​ ​ ​ 显而易见的是,结果和我们之前推导的结果是一样的,所以从这个角度就很好推证。 这个就是把误差看成每个维度。 二、最小二乘法-概率角度: 概率视角: 假设: 其中: , , 有: :样本 :值 最小二乘估计: 假设存在噪声: 和最小二乘估计的 一样 (noise is Gaussian Dist) 三、正则化-岭回归-频率角度: Loss Function: , 个样本, (一般 ),如果样本纬度高

线性回归中的参数求解---利用损失函数与梯度下降法

狂风中的少年 提交于 2020-02-03 04:43:31
线性回归中的参数求解---利用损失函数与梯度下降法 因为新型流感病毒的原因寒假延长了许多,但是这一点也不妨碍搞科研,,,,这不知网大大都免费开放了。阿弥陀佛,真是让人痛哭流涕。导师前两天给我发了一道题目,问我里面的数据具体是怎么计算的,要我将详细的计算结果写出了。题目如下: 例:示例模型函数: Y=w1x1+w2x2+w3x3 示例训练集: X(x1,x2,x3)=(2,5,3) Y=80 学习速率: =1/35(人为设置) 求解w1,w2,w3就是利用损失函数和梯度下降法的知识即可,之前的博文里面有介绍就不赘述了。 求解w1第一次迭代的具体步骤如下: 随机初始化:w1=50,w2=50,w3=50 计算error(预测值与真实值的误差):(50*2+50*5+50*3)-850=-350 计算w1下降的梯度: w1= = =-20 , 其中 = 计算w1第一次迭代后的值:w1:=w1- w1=50-(-20)=70 其余参数迭代求解过程与w1相同。假设error<0.02是可接受范围内的误差。 整个训练过程中各个参数变化如下表,为了便于阅读,将每次迭代W的变化罗列在表中。 简单迭代过程示意 次数 w1 w2 w3 Error △w1 △w2 △w3 1 50.00 50.00 50.00 350.00 20.00 50.00 30.00 2 70.00 100.00 80.00

机器学习——正规方程,正则化

Deadly 提交于 2020-02-01 21:48:14
一、正规方程(Normal equation): 对于某些线性回归问题,正规方程方法很好解决; \(\frac{\partial}{\partial\theta_j}J(\theta_j)=0\) ,假设我们的训练集特征矩阵为 X(包含了 x0)并且我们的训练集结果为向量 y,则利用正规方程解出向量 \(\theta=(X^TX)^{-1}X^Ty\) 注意: \((X^TX)^{-1}\) 如果特征数量n较大,运算代价就很大,一般小于10000即可;只适用于线性模型; 二、正则化: 解决过拟合问题: 1.丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如 PCA ) 2.正则化。 保留所有的特征,但是减少参数的大小( magnitude )。 如果我们的模型是: \(h_\theta(x)=\theta_0x_0^0+\theta_1x_1^1+...+\theta_nx_n^n\) 正是这些高次项导致了过拟合的产生,所以去减小他们系数的大小就好了。修改代价函数,给他们的系数设置惩罚; 修改后的代价函数: \(J(\theta)=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{j=1}^n\theta_j^2]\) 其中 \(\lambda\

线性回归

六月ゝ 毕业季﹏ 提交于 2020-02-01 16:20:41
线性回归模型的数学表达式如公示1所示: θ \theta θ 统称为模型的参数,其中 θ 0 \theta_0 θ 0 ​ 被称为截距(intercept), θ 1 \theta_1 θ 1 ​ ~ θ n \theta_n θ n ​ 被称为系数(coefficient), x i x_{i} x i ​ 表示数据属性的第i个自变量。我们通过矩阵形式来表示这个方程,如公式2所示: 这里 x x x 和 θ \theta θ 都可以被看成一个矩阵,线性回归的任务就是通过预测函数 z z z 来映射输入的特征矩阵 x x x 和标签 y y y 的线性关系,而构造预测函数的核心就是找出模型的参数: θ T \theta_T θ T ​ 和 θ 0 \theta_0 θ 0 ​ ,这里是通过著名的最小二乘法来求解的。 来源: CSDN 作者: 阴天了 链接: https://blog.csdn.net/sun_xiao_kai/article/details/103937479

线性回归

旧城冷巷雨未停 提交于 2020-02-01 14:08:12
二维线性回归(作了可视化处理): 1 from sklearn.linear_model import LinearRegression 2 import numpy as np 3 import matplotlib.pyplot as plt 4 X=[[1],[4],[3]] 5 y=[3,5,3] 6 lr=LinearRegression() 7 model=lr.fit(X,y) 8 z=np.linspace(0,5,20) 9 plt.scatter(X,y,s=80) 10 plt.plot(z,model.predict(z.reshape(-1,1)),c='k') 11 plt.title('Linear Regression') 12 print("y={:.3f}x".format(model.coef_[0])+'+{:.3f}'.format(model.intercept_)) 13 plt.show() 1 from sklearn.datasets import make_regression 2 X,y=make_regression(n_samples=50,n_features=1,n_informative=1,noise=50,random_state=1) 3 reg=LinearRegression() 4 reg.fit(X,y

线性回归推理

不羁岁月 提交于 2020-02-01 02:35:39
备注(第一次写博客,如有错误望指正) 认识线性回归 机器学习分为有监督学习和无监督学习,线性回归属于有监督学习。即需要特征X和标签Y,训练输入(特征X)与输出(标签Y)之间的映射函数。 此时有人肯定会想,什么是特征什么是标签?映射函数又是什么呢? 简单的线性函数 Y = w 1 * x 1 + w 0 * x 0 如果x0=1的话 Y = w 1 * x 1 + w 0 这样是不是很像一次方程y = k*x + b ?没错差不多就是一个意思。 上面就是我们一个很简单的线性函数了,但是对特征和标签还不是特别明白。没关系看下面表格 工资(X0) 年龄 (X1) 花呗额度(Y) 3000 22 1600 5000 26 4000 10000 30 8000 如表格所示工资和年龄这两样决定着花呗的额度,这里的工资和年龄就是我们需要的特征X0和X1,花呗额度就是我们最终的结果Y。 这样是不是就很显然了可以知道,线性回归就是寻找已经知道的条件工资X0和年龄X1与花呗额度Y之间的关系。这种关系就是由公式里的 w 所决定的。那这就有疑问了,如果是多个特征X呢?没关系,我们用特征向量X来表示。 这也就说明有多个w,那么也用特征向量 W 表示。 线性函数表示为 这里的h w (x) 也就是我们说的预测值,跟上面说的标签值性质相同。公式里的特征向量X和权重向量W都是列向量,所以才有最后的结果 h w

【论文阅读笔记】faster rcnn 代码阅读细节

[亡魂溺海] 提交于 2020-02-01 01:41:26
faster rcnn细节 bounding box regression原理 理论 faster rcnn 代码 box_coder.py 参考: https://zhuanlan.zhihu.com/p/31426458 https://www.cnblogs.com/dudumiaomiao/p/6560841.html bounding box regression原理 如图所示绿色框为飞机的Ground Truth(GT),红色为提取的positive anchors,即便红色的框被分类器识别为飞机,但是由于红色的框定位不准,这张图相当于没有正确的检测出飞机。所以我们希望采用一种方法对红色的框进行微调,使得positive anchors和GT更加接近。 理论 对于窗口一般使用四维向量 ( x , y , w , h ) (x,y,w,h) ( x , y , w , h ) 表示,分别表示窗口的中心点坐标和宽高。 对下图,红色的框A代表原始的positive Anchors,绿色的框G代表目标的GT,我们的目标是寻找一种关系,使得输入原始的anchor A经过映射得到一个跟真实窗口G更接近的回归窗口G’,即: 给定anchor A = ( A x , A y , A w , A h ) A=(A_x,A_y,A_w,A_h) A = ( A x ​ , A y ​ ,

《机器学习实战》笔记(八):Ch8 - 预测数值型数据:回归

╄→尐↘猪︶ㄣ 提交于 2020-02-01 00:08:36
第八章 预测数值型数据: 回归([代码][ch08]) 线性回归算法的优缺点 优点:结果容易理解,计算上下不复杂 缺点:对非线性问题数据处理不好. 使用数据类型:数值型和标称型数据. 回归方程 回归方程(regression equation),回归系数(regression weights),求回归系数的过程就是回归。说到回归,一般都是指线性回归(linear regression),还存在非线性回归模型。 局部加权线性回归 线性回归会出现欠拟合现象,因为它求的是最小均方误差的无偏估计。可以在估计中引入一些偏差,从而降低预测的均方误差。其中一个方法是局部加权线性回归(Locally Weighted Linear Regression,LWLR),该算法中给待测点附近的每个点赋予一定的权重,然后在这个子集上基于最小均方差来进行普通的回归。与kNN一样,此算法每次预测均需事先选取出对应的数据子集 缩减系数“理解”数据 若数据的特征比样本点还多,在计算(XTX)−1的时候会出错,也就是输入数据的矩阵X不是满秩矩阵,非满秩矩阵在求逆是会出现问题。接下来介绍两种方法来解决这个问题:岭回归(ridge regression)与前向逐步回归(Forward stepwise regression),其中前向逐步回归与lasso法效果差不多。 lasso 是一种压缩估计