机器学习 Machine Learning中向量化矩阵化的技巧
1 致谢
感谢 Andrew Ng老师的教授!
2 前言
今天在学习多重线性回归~
感觉向量化&矩阵化是机器学习中很重要的编程技巧,所以这里进行一下归纳~
3 向量化&矩阵化的技巧
3.1 使用矩阵转置实现平方求和运算
在机器学习中,度量loss一个很常见的形式就是使用L2范数,也就是求解预测值与样本值的平方和,
其公式如下,
J(θ0,θ1,…,θn)=12m∑i=1m(y^i−yi)2=12m∑i=1m(hθ(xi)−yi)2J(θ_0,θ_1, \dots,θ_n)=\frac{1}{2m}\sum _{i=1}^m(\hat{y}_i − y_i)^2=\frac{1}{2m}\sum _{i=1}^m(h_θ(x_i)−y_i)^2 J(θ0,θ1,…,θn)=2m1i=1∑m(y^i−yi)2=2m1i=1∑m(hθ(xi)−yi)2
而hθ(xi)−yih_θ(x_i)−y_ihθ(xi)−yi常常会被矩阵形式表示,即:Xθ−y\boldsymbol{X}θ−yXθ−y;
于是,产生了J(θ)J(θ)J(θ)函数的向量化公式,即:
J(θ)=12m(Xθ−y)T(Xθ−y)J(θ)=\frac{1}{2m}(\boldsymbol{X}θ−y)^T( \boldsymbol{X}θ−y) J(θ)=2m1(Xθ−y)T(Xθ−y)
可以看到,这里的平方求和运算被转置运算加上矩阵乘法实现,
于是我们可以归纳一下,当求解向量v\boldsymbol{v}v的平方和时,即:
f(v1,v2,…,vn)=∑i=1nvi2f(v_1,v_2,\dots,v_n)=\sum _{i=1}^nv_i^2 f(v1,v2,…,vn)=i=1∑nvi2
可以使用转置运算加上矩阵乘法来实现平方和运算的向量化,即:
f(v)=vTvf(\boldsymbol{v})=\boldsymbol{v}^T\boldsymbol{v} f(v)=vTv
机器学习 Machine Learning中向量化矩阵化的技巧相关推荐
- 机器学习 Machine Learning中正则化的学习笔记~
1 前言 今天在学习 Machine Learning~ 2 Regularization-正则化 在机器学习中,当训练样本较少少而h(θ)h(\theta)h(θ)较为复杂时,就会产生过拟合现象,其 ...
- 机器学习 Machine Learning中多元线性回归的学习笔记~
1 前言 今天在做 Machine Learning中多元线性回归的作业~ 2 Machine Learning中多元线性回归 2.1 Feature Scaling和 Mean Normalizat ...
- 机器学习 Machine Learning中一元线性回归的学习笔记~
1 前言 今天在做 Machine Learning的作业~ 2 一元线性回归 2.1 loss函数 带有规范化的loss函数: J(θ)=12m∑i=1m(hθ(x(i))−y(i))2+λ2m∑j ...
- 关于机器学习 Machine Learning中loss函数参数正则化的一点思考
1 致谢 感谢 Andrew Ng教授的讲述! 2 前言 今天在学习机器学习中对loss函数中的参数进行正则化~ 3 关于机器学习中loss函数参数正则化 在机器学习中,有一项防止过拟合的技巧就是(参 ...
- 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现
网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总
本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料集合
机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...
- (转)机器学习(Machine Learning)深度学习(Deep Learning)资料
原文链接:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...
最新文章
- opencv+VS如何运行
- linux sort命令 性能,linux sort 命令详解
- 如何通过Rultor将Maven工件部署到CloudRepo
- java 80_【JavaWeb】80:js基础详解
- Python基本知识
- java 内部类调用_Java内部类使用总结
- SAP RFC BAPI
- 软件项目管理原则谈-转自51testing
- [JNI]开发之旅(7)JNI函数中调用java对象的方法
- python操作本地数据库,Python基础篇-Python连接Mysql操作数据库
- 在推送Git之前合并多个提交[重复]
- 【Python打印图形问题】利用print打印一些规则的图形(通过特殊符号比如*和空格组成)
- 百度在线笔试计算机视觉,[转载]2014 百度 计算机视觉笔试
- 【操作系统】30天自制操作系统--(1)虚拟机加载最小操作系统
- XMind中记笔记的一些实用技巧!
- 洛谷 P5594 【XR-4】模拟赛 记录
- 药物设计linux推荐,【经验交流】药物设计与研发专业平台系统之Discovery Studio 3.0(win)、Discovery Studio 3.5(linux)...
- N1盒子旁路由教程面向小白啰嗦版
- python 列表操作
- 畅玩《七雄争霸》经典战国策略游戏
热门文章
- H3C进入目录---用户视图
- SharePoint PowerShell 批量删除遗弃视图
- 快速阅读软件工程后的几个问题
- php函数引用参数解惑《细说php》
- 解决Python开发过程中依赖库打包问题的方法
- C++基础系列五:自增自减操作符、箭头操作符、new和delete操作符
- Java实现密码学工具,集成了对称加密算法DES,AES,IDEA,公开加密算法RSA,ECC,散列算法MD5,SHA1,CRC32,以及RSA,DSA,ECDSA数字签名验证示例。
- 《Algorithms》Comparable 实现插入排序
- 【jQuery笔记Part3】03-jQuery项目:随机抽奖
- Windows域策略 设置客户端服务启动状态 【全域策略生效】