机器学习-线性回归 原理详解
一、什么是线性回归
回归算法是一种有监督算法。
回归算法可以看作是用来建立“解释”变量(自变量X)和因变量(Y)之间的关系。从机器学习的角度讲,就是构建一个算法模型来做属性(X)与标签(Y)之间的映射关系,在算法的学习过程中,试图寻找一个函数使得参数的拟合性最好。
回归算法中算法的最终结果是一个连续的数据值,输入值(属性值)是一个d维度的属性/数值向量。
线性回归认为数据中的特征属性X和目标属性Y之间满足线性关系。而她所构建的模型也试图寻找到一条直线或一个平面使所有样本(训练数据)都能比较均匀地分布在其两侧,也就是使数据距离该直线或平面最小。
图1是一个二维的线性回归,即只有一个特征属性值和一个目标属性值,图2是一个三维的线性回归,即有两个特征属性值和一个目标属性值。
二、算法原理
不管是一维还是多维的线性回归其公式的形式都是:
线性回归损失函数:
是独立同分布的,根据中心极限定律,
即样本的预测值和真实值的误差服从(近似服从)均值为0方差为某定值
的高斯分布。
求其似然函数
根据损失函数的误差公式
将其带入似然函数得:
我们所要求的是在给定样本X时找到一组解向量,使得真实值和预测值之间的误差最小。
使用最小二乘法求解值。
连乘的方式求解比较困难,所以通过对数转换,进而求导(因为将似然函数对数化之后不改变原函数的单调性,所以对数化后求得
最优解就是原函数的
最优解)。
接下来求导
另又因为
作为一个定值常量不影响求导,所以可以忽略,之后得到:
此处交换
和
是为了以后求导方便,且不影响最终结果
令得
进而
该即为参数得到解析解。
因为最小二乘法要求矩阵必须可逆,所以为防止不可逆,可增加额外数据影响,使得矩阵最终可逆。
三、总结
线性回归理解比较简单,但是以最小二乘法求解的最优解,对于计算机而言是比较困难的,因而会有其他的方式,比如梯度下降法来求解。
机器学习-线性回归 原理详解相关推荐
- 机器学习之线性回归原理详解、公式推导(手推)、简单实例
目录 1. 原理详解 1.1. 线性回归 1.2. 回归系数 2. 公式推导 2.1. 单元线性回归 2.2. 多元线性回归 3. 简单实例 3.1. 实例1:一元线性回归 实例2: 多元线性回归 3 ...
- 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))
机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...
- SVM分类器原理详解
SVM分类器原理详解 标签: svm文本分类java 2015-08-21 11:51 2399人阅读 评论(0) 收藏 举报 分类: 数据挖掘 文本处理(16) 机器学习 分类算法(10) 目 ...
- 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解
相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...
- 决策树算法和CART决策树算法详细介绍及其原理详解
相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...
- K近邻算法和KD树详细介绍及其原理详解
相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...
- 交叉熵损失函数原理详解
交叉熵损失函数原理详解 之前在代码中经常看见交叉熵损失函数(CrossEntropy Loss),只知道它是分类问题中经常使用的一种损失函数,对于其内部的原理总是模模糊糊,而且一般使用交叉熵作为损失函 ...
- SVM-支持向量机原理详解与实践之一
SVM-支持向量机原理详解与实践 前言 去年由于工作项目的需要实际运用到了SVM和ANN算法,也就是支持向量机和人工神经网络算法,主要是实现项目中的实时采集图片(工业高速摄像头采集)的图像识别的这一部 ...
- 主成分分析(PCA)原理详解 2016/12/17 · IT技术 · 主成分分析, 数学 分享到: 21 原文出处: 中科春哥 一、PCA简介 1. 相关背景 主成分分析(Principa
主成分分析(PCA)原理详解 2016/12/17 · IT技术 · 主成分分析, 数学 分享到:21 原文出处: 中科春哥 一.PCA简介 1. 相关背景 主成分分析(Principal Co ...
最新文章
- TCP建立连接与释放连接
- linux删除新建的磁盘分区,Fixmbr,删除磁盘分区,新建磁盘分区,等待正式Ubuntu...
- 搞对象的时候走神儿了
- linux命令eric,Linux命令行下连接无线网
- Android Activity使用OnGesture事件以后与子View的Click事件冲突解决办法
- 循序渐进之Spring AOP(4) - Introduction
- Python使用心得之魔法参数**kw
- 凸函数优化问题的相关讨论
- JavaSE基础Day01
- Linux运维从入门到进阶
- vmplayer虚拟机中如何找到网络配置的窗口
- python符号怎么打_「符号怎么打出来」```这个符号怎么打出来 - seo实验室
- c语言间接寻址运算符,间接寻址运算符:*
- excel 某个单元格不是等于空值,Excel返回第一个与所有非空单元格及统计数量,把空单元格替换为0...
- 计算ndvi值需要的数据_利用TM计算NDVI问题
- 10.5日饿了么复活了,大家凑合用用吧~(偶尔更新~)
- Python爬取百度翻译及有道翻译
- 云宏携手英特尔基于英特尔® 至强® 可扩展平台全面升级超融合一体机解决方案
- 新粉色苹果CMS10视频站源码模板 仿APP内附教程
- reddits股票线程成为华尔街必读的内容