【咱们的目标】系列算法讲解旨在用最简单易懂的故事情节帮助大家掌握晦涩无趣的机器学习,适合对数学很头疼的同学们,小板凳走起!
【什么是线性回归】今天咱们要来唠的是机器学习中最基本也是最重要的算法之一线性回归,正当此时迪哥正在前往银行的路上,准备办理贷款(低保),到了之后银行问了我两件事,年龄和工资都多少呀?(特征)当得到了结果后告诉我我们只能贷给你100块,别问为什么!机器算的!(机器你拿毛线算的100快?)这里告诉了我们这样一件事,我们的输入就是你的数据特征,得出的结果是一个连续区间上的值,目标就是找到我们想要预测的值和我们的输出之间的关系,接下来我们的目标就放在如何找到这种关系。
【如何得出结果】这个图就是机器如何进行预测的(回归)它会根据一票子兄弟贷款的历史数据(年龄和工资分别对应于X1与X2)找出来最好的拟合线(面)来进行预测,这样你的数据来了之后直接带入进去就可以得出来该给你多少钱了。
我们用两个参数来分别对应于工资和年龄,控制它们对结果的影响大小,这里做了一个整合是把偏置项和权重参数项放到了一起(加了个X0让其都等于1)
要想让银行能开的下去,那就得少遇到点麻烦,迪哥这么大碗就给我100块(真实的指标应该为200块)肯定是要砸场子的,所以我们的目标是要让得到的预测值跟真实值越接近越好。机器学习当中最核心的一点就在于如何优化我们的目标,可以看到对于这些点来说有些离我的回归方程比较近,有些比较远,最终我们应该设定一个目标让我们的方程能够更好的去拟合当前的这些数据点。
【深入细节】既然说到误差了,咱们就来好好唠一下,首先银行的目标得让误差越小越好,这样才能够使得我们的结果是越准确的。那么这个误差有什么规律可循吗?误差可以说是机器学习当中最长听到的一个词了,我们可以假想一下,你让机器人来帮你进行工作,刚开始的时候它肯定啥都不会,我们得一点点的教它,等他慢慢熟悉我们的工作了(数据),也就意味着我们的回归方程效果会更好了。
咱们先来说说这个误差为啥会服从高斯分布呢,这个事就得从我们是怎么认为一个事发生的概率来说了,正常情况下你去银行贷款差不多都是一个符合你的数字吧,极小的情况下能出现类似迪哥的情况(100块都不给我),还是极小的情况下能像对待马云似的给你几个亿吧,所以银行给你贷款的误差项理论上都是在较小范围内浮动的,要么多了一点,要么少了一点。所以我们认为该误差是可以服从高斯分布的(正太分布)。
那为啥会独立呢?独立的意思就是说迪哥来贷款了,恰好马云也来了,但是我俩不认识啊(其实他认识我,我不认识他),所以我俩在贷款的时候不会因为马云而对我产生什么影响,也不会因为我对马云产生什么影响,这就是独立!
同分布又是啥呢?我和马云来的是一家银行吧,这家银行的系统只有一个,所以它在预测的时候是按照同样的方式来的,这就是我们的数据是在同一个分布下去建模的。
既然误差服从了高斯分布我们就把它进行展开,上式的意思就是我去贷款,在它这两组参数的控制下得到的贷款金额恰好是等于真实情况下就该给我这么多钱的概率。(预测值和真实值对应的可能性大小)那么我们当然希望这个概率越大越好呀,越大代表越准确呀。
(怎么又来了一堆数学。。。没人数学就不是机器学习啦)咱们继续来看,咋又突然出来了个似然函数呀,咱们先来说一说它是个什么东西。比如说你今天去赌场了,然后你不知道能不能赢钱,你就在门口蹲着,出来一个人你就问一下,哥们赢钱了吗(然后挨了一顿揍),连续出来5个人都告诉你赢钱了,那么你就会认为我去赌钱也肯定会赢钱。这个的意思就是要利用样本数据去估计你的参数应该是什么,使得估计出来的参数尽可能的满足(拟合)你的样本。
对数似然它的意思和目标很简单,就是为了简单求解,所以把比较复杂的乘法运算转换成了比较简单的加法运算。
【得出目标】一顿化简,其实就是把原式给展开了,然后我们的目标是要求最大值吧(什么样的参数能够使得跟我数据组合完之后是真实值的概率越大越好),对于化简后的结果左边是一个常数不用去管,右边是一个恒正的(因为有平方项)但是前面还有一个负号呀,让这样的数什么时候能取最大值呀?只有负号后面的取最小值才可以呀!
到这里我们终于推导出来了,银行只需要做一件事就可以了,那就是最小化这个函数(目标函数),其实说白了就是要让我们的预测值和真实值之间的差异越小越好,这就是最小二乘法!
接下来就是如何求解呢?通常我们去求偏导就可以了,因为极值点通常都是在偏导处取得,对我们的目标函数求偏导,并且让其等于0,这样我们就能找到最终参数的解应该是什么了!到这里小伙伴们可能感觉到竟然真能求出这个解,那这个解不就是我们想要的参数嘛,得到了它银行就有救啦!
【总结】
至此我们通过了一系列的推导得出了线性回归的最终解法,路途虽然有点曲折但是其中涉及到的思想还是非常有意思的,这节课希望大家对线性回归有了一个直观的认识,了解机器学习工作的基本原理与实际处理方法。但是这个解可以说是数学上的一个巧合,并不是所有问题都可以直接求解的,下回咱们再谈谈如何间接的求最优解~
数据分析咨询请扫描二维码
数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面: 基础知识: 数据分析的基本概念 ...
2024-11-22数据分析适合在多个单位工作,包括但不限于以下领域: 金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经 ...
2024-11-22数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面: 数据收集与整理:数据分析师 ...
2024-11-22数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能: ...
2024-11-22数据开发和数据分析是两个密切相关但又有所区别的领域。以下是它们的主要区别: 定义和目标: 数据开发:数据开发涉及数据的 ...
2024-11-22数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安 ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要 ...
2024-11-22需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21数据分析行业正在迅速发展,随着技术的不断进步和数据量的爆炸式增长,企业对数据分析人才的需求也与日俱增。本文将探讨数据分析 ...
2024-11-21数据分析的常用方法包括多种技术,每种方法都有其特定的应用场景和优势。以下是几种常见的数据分析方法: 对比分析法:通过比 ...
2024-11-21企业数字化转型是指企业利用数字技术对其业务进行改造和升级,以实现提高效率、降低成本、创新业务模式等目标的过程。这一过程不 ...
2024-11-21数据分析作为一个备受追捧的职业领域,吸引着越来越多的女性加入其中。对于女生而言,在选择成为一名数据分析师时,行业选择至关 ...
2024-11-21大数据技术专业主要学习计算机科学、数学、统计学和信息技术等领域的基础理论和技能,旨在培养具备大数据处理、分析和应用能力的 ...
2024-11-21