技术标签: 机器学习&数据分析
回归问题的条件/前提:
1) 收集的数据
2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。
假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。
收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式:
这个就是一个组合问题,已知一些数据,如何求里面的未知参数,给出一个最优解。 一个线性矩阵方程,直接求解,很可能无法直接求解。有唯一解的数据集,微乎其微。
基本上都是解不存在的超定方程组。因此,需要退一步,将参数求解问题,转化为求最小误差问题,求出一个最接近的解,这就是一个松弛求解。
求一个最接近解,直观上,就能想到,误差最小的表达形式。仍然是一个含未知参数的线性模型,一堆观测数据,其模型与数据的误差最小的形式,模型与数据差的平方和最小:
这就是损失函数的来源。接下来,就是求解这个函数的方法,有最小二乘法,梯度下降法。
http://zh.wikipedia.org/wiki/%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84
最小二乘法
是一个直接的数学求解公式,不过它要求X是列满秩的,
梯度下降法
分别有梯度下降法,批梯度下降法,增量梯度下降。本质上,都是偏导数,步长/最佳学习率,更新,收敛的问题。这个算法只是最优化原理中的一个普通的方法,可以结合最优化原理来学,就容易理解了。
逻辑回归与线性回归的联系、异同?
逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。
只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。
另外它的推导含义:仍然与线性回归的最大似然估计推导相同,最大似然函数连续积(这里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求导,得损失函数。
逻辑回归函数
表现了0,1分类的形式。
应用举例:
是否垃圾邮件分类?
是否肿瘤、癌症诊断?
是否金融欺诈?
线性回归 是以 高斯分布 为误差分析模型; 逻辑回归 采用的是 伯努利分布 分析误差。
而高斯分布、伯努利分布、贝塔分布、迪特里特分布,都属于指数分布。
而一般线性回归,在x条件下,y的概率分布 p(y|x) 就是指 指数分布.
经历最大似然估计的推导,就能导出一般线性回归的 误差分析模型(最小化误差模型)。
softmax回归就是 一般线性回归的一个例子。
有监督学习回归,针对多类问题(逻辑回归,解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。
而这种可能的分布,是一种指数分布。而且所有可能的和 为1,则对于一个输入的结果,其结果可表示为:
而对于softmax的求解,没有闭式解法(高阶多项方程组求解),仍用梯度下降法,或L-BFGS求解。
当k=2时,softmax退化为逻辑回归,这也能反映softmax回归是逻辑回归的推广。
线性回归,逻辑回归,softmax回归 三者联系,需要反复回味,想的多了,理解就能深入了。
由测量的数据,估计一个假定的模型/函数。如何拟合,拟合的模型是否合适?可分为以下三类
合适拟合
欠拟合
过拟合
看过一篇文章(附录)的图示,理解起来很不错:
欠拟合:
合适的拟合
过拟合
过拟合的问题如何解决?
问题起源?模型太复杂,参数过多,特征数目过多。
方法: 1) 减少特征的数量,有人工选择,或者采用模型选择算法
http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html (特征选择算法的综述)
2) 正则化,即保留所有特征,但降低参数的值的影响。正则化的优点是,特征很多时,每个特征都会有一个合适的影响因子。
假设模型结果与测量值 误差满足,均值为0的高斯分布,即正态分布。这个假设是靠谱的,符合一般客观统计规律。
数据x与y的条件概率:
若使 模型与测量数据最接近,那么其概率积就最大。概率积,就是概率密度函数的连续积,这样,就形成了一个最大似然函数估计。对最大似然函数估计进行推导,就得出了求导后结果: 平方和最小公式
拟合关系
线性回归中采用平方和的形式,一般都是由模型条件概率的最大似然函数 概率积最大值,求导,推导出来的。
统计学中,损失函数一般有以下几种:
1) 0-1损失函数
L(Y,f(X
文章浏览阅读5.6k次,点赞2次,收藏34次。一、运算放大器是具有很高放大倍数的多级直接耦合放大电路单元,在实际电路中,通常结合反馈网络共同组成某种功能的模块。随着半导体技术的发展,目前大部分的运放是以单芯片(集成IC)的形式存在,其输出信号可以是输入信号的比例、加、减、微分或积分等数学运算的结果。集成运放包括放大区(线性区)和饱和区(非线性区)两部分,详见其电压传输特性曲线。(1)、OP放大器的工作原理:对两个输入端间的电位差进行放大。..._级联运放
文章浏览阅读889次,点赞16次,收藏28次。博主介绍:CSDN深耕的技术专家、博客专家、有着常年的工作经验、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战精彩专栏 推荐订阅2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐JAVA精品实战案例《500套》微信小程序项目精品案例《500套》文末获取源码+数据库。
文章浏览阅读586次。系统环境:主机系统:Arch Linux 64bit交叉编译工具链:arm-none-eabi-gcc-9.3.0调试器:arm-none-eabi-gdb-9.1QtCreator 版本:4.11.2CMake 版本:3.17.1OpenOCD 版本:0.10.0硬件环境:STM32 型号:STM32F103RCT仿真调试器:ST-Link v2搭建步骤:1. 激活插件首先需要激活一个名为 Ba..._linux cmake可以编qt
文章浏览阅读2k次。这里的等比例适用的是在主窗体中加载了多个子窗体,或者一个主程序引用了另外一个子程序dll这样等比例缩放,也并不是实际意义上的等比例,而是相当于重新加载子窗体,但子窗体里面的数据不能变化。 主窗体和子窗体加载这种就不介绍,直接介绍主程序加载子程序的dll这种,主窗体与子窗体与其类似。 先建立一个主程序,主程序就当做一个壳,里面简单放几个容器即可。再建立一个子程序,子程序可以随便加点窗口进去,主要是为了让主程序调用加载进主程序。为了实现所谓的等比例缩放,子窗体..._winform 等比缩放
文章浏览阅读852次,点赞27次,收藏22次。今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。
文章浏览阅读1.9w次,点赞24次,收藏94次。lombok可以帮助我们提升日常开发的效率jar包。里面有许多实用的注解。本文将对lombok的常用注解作使用介绍,对于一些实验性官方不推荐的注解只会简单介绍实验性注解可能会带来一些风险。注: 本文基于lombok-1.18.6本文部分内容机翻自官网文章目录lombok的引入和安装lombok的基本注解使用变量相关val和var@NonNull实体类相关@Getter and @..._lombok.singular.useguava
文章浏览阅读1.9k次。1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一..._给定一个浮点数数组nums(逗号分隔)和一个浮点数目标值target(与数组空格分隔),请
文章浏览阅读152次。提高性能有如下方法1、Cython,用于合并python和c语言静态编译泛型2、IPython.parallel,用于在本地或者集群上并行执行代码3、numexpr,用于快速数值运算4、multiprocessing,python内建的并行处理模块5、Numba,用于为cpu动态编译python代码6、NumbaPro,用于为多核cpu和gpu动态编译python代码为了验证相同算法在上面不同实现..._np.array 测试gpu性能
GIS(地理信息系统)和GPT(生成式预训练模型)的结合正日益成为推动科研、城市规划、环境监测等领域发展的关键技术。GIS以其强大的空间数据处理、先进的空间分析工具、灵活的地图制作与可视化能力、广泛的扩展性和定制性,成为地理信息科学的核心工具。它在多学科领域的应用,如城市规划、环境科学、交通管理等,发挥着至关重要的作用。而GPT则以其在自然语言处理、文本生成、智能对话和知识库构建方面的优势,为GIS的智能化和自动化带来了新的可能性,提升了文本创作的效率和智能系统的交互体验。
文章浏览阅读324次。MySQL是一个著名的开源数据库管理系统,用于存储和检索各种流行应用程序的数据。MySQL 是*LAMP*堆栈中的**M**,LAMP 堆栈是一组常用的开源软件,还包括 Linux、Apache Web 服务器和 PHP 编程语言。在本教程中,您将通过添加此存储库来安装最新版本的 MySQL,安装 MySQL 软件本身,确保安装安全,并测试 MySQL 是否正在运行并响应命令。_debian mysql安装
文章浏览阅读1.6k次。PC 端最好用的浏览器非 Chrome 莫属,这是一件没什么悬念的事情。前两天发了一个小调查,也只能问 除了 Chrome 之外,你的备胎浏览器是什么?所以你如果问我 PC 端的浏览器有什么推荐?我的回答也没什么创意,那就是它,是它,就是它,我们的英雄小。。。。不好意思,走串场了。至于 Chrome 浏览器到底有多好用、多厉害,不用我多说,在我 N 次的彩虹屁下,小伙伴们应该早已下载并且用得得心应..._此项内容已下载并添加到 chrome 中。
文章浏览阅读1k次。VUE js 点击按钮为当前获得焦点的输入框输入值使用mousedown方法,可以阻止页面将焦点转移到按钮上<el-button @mousedown.native="entrySymbol($event,'+')">+</el-button>获取当前拥有焦点的输入框或文本域,并为其赋值 //输入符号 entrySymbol(e, symbol) { //取消失去焦点事件 e.preventDefault() //获_vue获得当前获得焦点的元素