热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

线性代数行列式计算(线性代数矩阵的乘法运算)

一个列向量和矩阵乘,矩阵必须在前面、列向量必须在后面。我们还是以卖房子的事为例,假设我有四套房,每个房的面积不同,而房屋面积和房屋售价之间的线性模型我已经确定了。frompc˃上图


本文是过期煎饼《机器学习》的第15个视频笔记,对应第1周的第15个视频。


“线性代数复习(可选)——矩阵向量乘法”


最后一节讲了矩阵加法、矩阵乘法和标量乘法。此外,矩阵还可以乘以矩阵。这一节讲一个稍微特殊的情况,就是矩阵乘以向量。


00-1010如下图所示,将32矩阵乘以2维列向量,会得到什么样的结果?




操作规则如下:




从上图可以看出,矩阵和向量的乘法规则很有意思。矩阵和向量相乘得到一个新的列向量。列向量的维数就是矩阵的行数,矩阵的形状和方程左侧的向量也是有意义的。矩阵的列数必须等于向量的维数,这样矩阵和向量的乘法才能进行。在上面的例子中,一个3x2矩阵乘以一个2x1向量,得到一个3x1向量。


一个示例将上述特例抽象成更一般的形式如下所示:




一个mn矩阵乘以一个n1向量。这里需要注意的是,矩阵的列数必须等于要相乘的向量的行数,结果是一个m1的向量。


而且,我们还可以看到,矩阵和向量相乘时的顺序也很重要。列向量乘以矩阵,矩阵必须在前面,列向量必须在后面。例如:




那么,矩阵和向量相乘有什么用呢?


我们以卖房子为例。假设我有四套房,每套房面积不同,我确定了房子面积和房子售价之间的线性模型。


下图:




上图中,如果把左边四套房的面积代入右边的公式,就可以分别得到四套房的价格。如果用刚才提到的矩阵和向量的乘法来表达上面的事情,写出来的公式会很漂亮。下图:




我们拉出模型中的两个参数,形成一个列向量。然后,因为-40参数对应1,0.25对应X,我们得到一个42的矩阵,矩阵的第一列全是1。上图下半部分我们会得到这样一个矩阵和向量相乘的公式,然后我们就可以用前面提到的矩阵和向量相乘的运算规则,用一个公式来表示四套房子卖价的计算,是不是很牛逼?


有些学生可能会觉得这种写法多余,比较麻烦。需要注意的是,现在我们的基本操作都是由计算机实现的,用代码写这样的过程更容易,这样一行代码就可以完成这样的事情,房子数量的增加也不会影响程序的结构,非常方便。如果没有这样的规则,我们可能需要for循环在代码中实现这一点,这有点麻烦。


下节课将介绍更一般的矩阵和矩阵乘法。


推荐阅读
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文深入解析了Django框架中的MVT(Model-View-Template)设计模式,详细阐述了其工作原理和应用流程。通过分析URL模式、视图、模型和模板等关键组件,读者将全面理解Django应用程序的架构体系,掌握如何高效地构建和管理Web应用。 ... [详细]
author-avatar
33
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有