直线方程

线性回归(regression)

一曲冷凌霜 提交于 2020-04-06 04:30:56
简介 回归分析只涉及到两个变量的,称一元回归分析。一元回归的主要任务是从两个相关变量中的一个变量去估计另一个变量,被估计的变量,称因变量,可设为Y;估计出的变量,称自变量,设为X。 回归分析就是要找出一个数学模型Y=f(X),使得从X估计Y可以用一个函数式去计算。 当Y=f(X)的形式是一个直线方程时,称为一元线性回归。这个方程一般可表示为Y=A+BX。根据最小平方法或其他方法,可以从样本数据确定常数项A与回归系数B的值。 线性回归方程 Target:尝试预测的变量,即目标变量 Input:输入 Slope:斜率 Intercept:截距 举例,有一个公司,每月的广告费用和销售额,如下表所示: 如果把广告费和销售额画在二维坐标内,就能够得到一个散点图,如果想探索广告费和销售额的关系,就可以利用一元线性回归做出一条拟合直线: 有了这条拟合线,就可以根据这条线大致的估算出投入任意广告费获得的销售额是多少。 评价回归线拟合程度的好坏 我们画出的拟合直线只是一个近似,因为肯定很多的点都没有落在直线上,那么我们的直线拟合的程度如何,换句话说,是否能准确的代表离散的点?在统计学中有一个术语叫做R^2(coefficient ofdetermination,中文叫判定系数、拟合优度,决定系数),用来判断回归方程的拟合程度。 要计算R^2首先需要了解这些: 总偏差平方和(又称总平方和,SST

UVa 11168 (凸包+点到直线距离) Airport

百般思念 提交于 2020-03-27 09:56:01
题意: 平面上有n个点,求一条直线使得所有点都在直线的同一侧。并求这些点到直线的距离之和的最小值。 分析: 只要直线不穿过凸包,就满足第一个条件。要使距离和最小,那直线一定在凸包的边上。所以求出凸包以后,枚举每个边求出所有点到直线的距离之和得到最小值。 点到直线距离公式为: 因为点都在直线同一侧,所以我们可以把加法“挪”到里面去,最后再求绝对值,所以可以预处理所有点的横坐标之和与纵坐标之和。当然常数C也要记得乘上n倍。 已知两点坐标求过该点直线的方程,这很好求不再赘述,考虑到直线没有斜率的情况,最终要把表达式中的分母乘过去。 1 //#define LOCAL 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 #include <vector> 7 using namespace std; 8 9 struct Point 10 { 11 double x, y; 12 Point(double x=0, double y=0):x(x), y(y) {} 13 }; 14 typedef Point Vector; 15 Point operator + (Point A, Point B) 16 { 17 return Point(A.x+B.x, A.y+B

北航软工结对项目

倾然丶 夕夏残阳落幕 提交于 2020-03-22 18:13:45
结对项目 项目 内容 本作业属于北航 2020 年春软件工程 博客园班级连接 所属教学班 006 本作业是本课程结对项目作业 作业要求 我在这个课程的目标是 收获团队项目开发经验,提高自己的软件开发水平 这个作业在哪个具体方面帮助我实现目标 体验结对编程 项目代码 Github 仓库 需求分析 与上一次的个人项目作业相类似,本次的任务关键在于交点的求解。至于新需求“交点绘制”,是简单扩展,实际上是将每个交点的坐标反馈到用户。 本次任务增加了两种图形:线段与射线,它们都是特殊的直线。为什么是特殊的“直线”呢?因为本质上,这两种图形都是将无限长直线进行截断而形成的。 由于这种性质,我们不难发现,整体的求解过程几乎没有改变。上一次的求解划分方法抄录如下 直线与直线 平行:交点个数 0 同一条直线:交点个数无限 相交:交点个数 1 直线与圆 相离:交点个数 0 相切:交点个数 1 相交:交点个数 2 圆与圆 相离:交点个数 0 相切:交点个数 1 相交:交点个数 2 内含:交点个数 0 但是,射线与线段毕竟不是直线,因此我们需要考虑因截断带来的影响,即所求得的交点是否在图形上。而求解交点的过程,依旧是参见 Paul Bourke 先生的 文章 。 除此以外,我们还需要考虑射线与线段之间的新的交点,即端点的重合。 根据上述分析过程,不难得到所需的实体,UML 图如下(使用 StarUML

平面和直线在三维空间的方程和应用。

限于喜欢 提交于 2020-03-21 09:12:38
平面在三维空间 平面方程(一般方程): Ax + By + Cz + D = 0; 平面通过点M(x1, y1, z1),及法向量 n = (A,B,C)的方程 : A(x-x1) + B(y-y1) + C(z-z1) =0; 通过三个点P(a,0,0), Q(0,b,0), R(0,0,c)的方程: x/a + y/b + z/c = 1;// (a,b,c != 0) 直线在三维空间 直线的一般方程: F(x,y,z) = 0;// <->Ax + Bx + Cz + D = 0; G(x,y,z) = 0;// <-> ax + by + cz + d = 0; 直线过点M(x1,y1,z1)和方向向量m(m,n,p)的方程为: (x-x1)/m = (y-y1)/n = (z-z1)/p; 从而可得: x = m(z-z1)/p + x1; y = n(z-z1)/p + y1; 上面的公式可以用来求得一个直线与一个平行于xOy平面的交点坐标为(x0,y0,z0)(z0 已知). 其中 x0 = m(z0-z1)/p + x1; y0 = n(z0-z1)/p + y1; 来源: https://www.cnblogs.com/thetung/p/3492093.html

最小二乘通俗解释

两盒软妹~` 提交于 2020-03-11 03:50:14
作者:Jacky Yang 链接:https://www.zhihu.com/question/36324957/answer/255970074 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1.线性最小二乘法 大家可以随意搜索一下,相关的文章很多。长篇大论的不少,刚入门的朋友一看到那些公式可能就看不下去了。比如下面的解释: 毫无疑问,这样的解释是专业的,严谨的。事实上,这是深度学习圣经里的解释。我并没有诋毁大师的意思,只是觉得用一个具体的例子来说明,可能会让读者更加容易理解: 小明是跑运输的,跑1公里需要6块,跑2公里需要5块(那段时间刚好油价跌了),跑3公里需要7块,跑4公里需要10块,请问跑5公里需要多少块? 如果我们有初中数学基础,应该会自然而然地想到用线性方程组来做,对吧。 这里假定x是公里数,y是运输成本(β1和β2是要求的系数)。我们把上面的一组数据代入得到这么几个方程: 如果存在这样的β1和β2,让所有的数据(x,y)=(1,6),(2,5),(3,7),(4,10)都能满足的话,那么解答就很简单了,β1+5β2就是5公里的成本,对吧。 但遗憾的是,这样的β1和β2是不存在的,上面的方程组很容易,你可以把前面两个解出来得到一组β1和β2,后面两个也解出来同样得到一组β1和β2。这两组β1和β2是不一样的。 形象地说

上手软件工程,PSP初体验!——记2020BUAA软工个人项目作业

匆匆过客 提交于 2020-03-10 19:45:47
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 完成一次 完整 的软件开发经历 并以 博客 的方式记录开发过程的心得 掌握 团队协作 的技巧 做出一个优秀的、持久的、具有实际意义的产品 这个作业在哪个具体方面帮助我实现目标 体验《构建之法》中提到的 效能分析及个人软件开发流程对于项目开发带来的帮助 教学班级 006 项目地址 Intersections | q2l's GitHub Personal Software Process Table (PSP) 在开始实现程序之前,在下述 PSP 表格记录下你估计将在程序的各个模块的开发上耗费的时间。(0.5') PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 10 · Estimate · 估计这个任务需要多少时间 10 10 Development 开发 115 180 · Analysis · 需求分析 (包括学习新技术) 20 15 · Design Spec · 生成设计文档 10 10 · Design Review · 设计复审 (和同事审核设计文档) 0 0 · Coding Standard · 代码规范 (为目前的开发制定合适的规范

个人项目作业

左心房为你撑大大i 提交于 2020-03-10 19:00:13
项目 内容 所属课程 2020年春季计算机学院软件工程(罗杰 任健) 作业要求 个人项目作业 课程目标 切身参与完整的软件开发流程,积累专业技术知识和团队合作经验 本次作业实现方面 体验完整的项目开发流程,加深对于PSP的理解 教学班级 006(周五上午三四节) 项目地址 https://github.com/Miracle-dz/IntersectProject 一、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 · Estimate · 估计这个任务需要多少时间 20 20 Development 开发 · Analysis · 需求分析 (包括学习新技术) 60 60 · Design Spec · 生成设计文档 20 15 · Design Review · 设计复审 (和同事审核设计文档) 0 0 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 10 · Design · 具体设计 60 90 · Coding · 具体编码 120 180 · Code Review · 代码复审 45 75 · Test · 测试(自我测试,修改代码,提交修改) 120 180 Reporting 报告 · Test Report · 测试报告

BUAA 软件工程个人作业

人盡茶涼 提交于 2020-03-10 17:21:19
BUAA 软件工程 个人项目作业 Author: 17373015 乔玺华 教学班级 :005 项目地址: https://github.com/JordenQiao/SE_Homework_Personal 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学习软件工程的开发知识,培养工程化开发能力 这个作业在哪个 具体方面 帮助我实现目标 通过实操掌握PSP开发基础 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 10 · Estimate · 估计这个任务需要多少时间 10 10 Development 开发 280 520 · Analysis · 需求分析 (包括学习新技术) 30 40 · Design Spec · 生成设计文档 30 40 · Design Review · 设计复审 (和同事审核设计文档) 10 20 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 20 · Design · 具体设计 60 100 · Coding · 具体编码 60 120 · Code Review · 代码复审 20 60 · Test · 测试

work2_求交点数

拟墨画扇 提交于 2020-03-10 13:19:12
教学班级:周三上午三四节 项目地址: https://github.com/875571216/- PSP表格 psp2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 30 Estimate 估计这个任务需要多少时间 10 10 Development 开发 Analysis 需求分析 (包括学习新技术) 180 240 Design Spec 生成设计文档 30 10 Design Review 设计复审 10 10 Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 10 Design 具体设计 50 50 Coding 具体编码 180 120 Code Review 代码复审 10 10 Test 测试(自我测试,修改代码,提交修改) 180 220 Reporting 报告 10 10 test Reporting 测试报告 30 20 Size Measurement 计算工作量 10 10 Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 10 10 解题思路描述 1)首先把输入文件中的直线,圆的信息都构造成相应的对象,存入到各自的容器中。(直线、圆和点各设置一个动态数组容器vector来存储)

个人项目作业

与世无争的帅哥 提交于 2020-03-10 12:32:01
个人项目作业 项目 内容 作业所属课程 2020春季计算机学院软件工程(罗杰,任健) 作业要求 个人项目作业 教学班级 005 项目地址 个人项目地址 PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 · Estimate · 估计这个任务需要多少时间 15 10 Development 开发 · Analysis · 需求分析 (包括学习新技术) 60 120 · Design Spec · 生成设计文档 15 20 · Design Review · 设计复审 (和同事审核设计文档) 5 5 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 5 · Design · 具体设计 20 20 · Coding · 具体编码 90 100 · Code Review · 代码复审 15 30 · Test · 测试(自我测试,修改代码,提交修改) 30 120 Reporting 报告 · Test Report · 测试报告 15 10 · Size Measurement · 计算工作量 15 15 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 20 合计 310