当前位置:网站首页>【机器学习】向量化计算 -- 机器学习路上必经路
【机器学习】向量化计算 -- 机器学习路上必经路
2022-07-01 02:45:00 【计算机魔术师】
欢迎来到
魔术之家!!该文章收录专栏
— 机器学习 —专栏内容
— 【机器学习】浅谈正规方程法&梯度下降 —
— 【机器学习】梯度下降之数据标准化 —
— 【机器学习】logistic分类回归算法—
— 第十届“泰迪杯“感谢学习总结—
一、求解矩阵
在求解矩阵中,往往有很多很好的,经过高度优化的线性代数库,如octave,matlib,python numpy, c++,java.
我们使用这些线性代数库,可以短短几行实现 所要的效果。
阅读本文内容(需要一点点线性代数的知识)
二、例一
例如 求公式:
h ( x ) = ∑ i = 1 n θ i ∗ x i h(x) = \sum_{i=1}^n\theta_i*x_i h(x)=∑i=1nθi∗xi
我们可以通过循环每一个值来求 每一个 i i i所对应的结果,但此时循环的时间复杂度为 O ( n ) O(n) O(n) , 我们可以把 θ i ( i = 1 , 2 , 3... n ) \theta_i(i=1,2,3...n) θi(i=1,2,3...n) 看为 n n n维的列向量, x i x_i xi作为 n n n维的列向量,则原公式即为求两个向量的内积 θ T ∗ x i \theta^T*x_i θT∗xi 来求得方程,这样在numpy中仅仅需要一行代码。如下图(演示代码为octave(matlib开源版))
c++实现
三、例二
- 再看一个复杂一点的例子:
(对梯度下降还不了解建议先食用文章:机器学习】浅谈正规方程法&梯度下降)
在梯度下降(Gradient descent)同步更新参数 θ i ( i = 1 , 2 , 3... m ) 中 \theta_i(i=1,2,3...m)中 θi(i=1,2,3...m)中

我们可以通过循环 i i i得到每个参数更新,但我们是否能用例子一的方法 简化呢,
如图:
我们将所求式子变为 向量之间的运行,
θ = θ − α ∗ δ \theta = \theta - \alpha * δ θ=θ−α∗δ
(其中: δ δ δ = ∑ x = 1 n ( h θ ( x ) − y i ) 2 n ∗ x i \sum_{x=1}^n \frac{(h_\theta(x) - y_i)^2}{ n }*x_i ∑x=1nn(hθ(x)−yi)2∗xi, h θ ( x ) − y i h_\theta(x) - y_i hθ(x)−yi 是一个实数, x i x_i xi是特征维度的列向量)
此时参数 θ i \theta_i θi也能同步更新,符合要求
四、写在最后
在面对,数据为百万级别,千万级别,或者特征为百万级别,特征级别,向量化计算对提高运算效率非常高效,比
for循环要好用得多,这在机器学习中是非常常见的,一定要掌握
边栏推荐
- 5款主流智能音箱入门款测评:苹果小米华为天猫小度,谁的表现更胜一筹?
- Here comes the share creators budding talent training program!
- CentOS installs multiple versions of PHP and switches
- Mouse over effect 10
- js 找出两个数组中的重复元素
- Xception learning notes
- Sampling Area Lights
- 鼠标悬停效果六
- In the industrial Internet, "small" programs have "big" effects
- ANR问题的分析与解决思路
猜你喜欢

Optimal transport Series 1

Densenet network paper learning notes

MnasNet学习笔记

小程序自定义顶部导航栏,uni-app微信小程序自定义顶部导航栏

基于Pytorch完整的训练一个神经网络并进行验证

Pulsar geo replication/ disaster recovery / regional replication

The latest wechat iPad protocol code obtains official account authorization, etc

Small program cloud development -- wechat official account article collection

基于OPENCV和图像减法的PCB缺陷检测

单片机 MCU 固件打包脚本软件
随机推荐
Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and
js 找出两个数组中的重复元素
[JS] [Nuggets] get people who are not followers
Restcloud ETL practice to realize incremental data synchronization without identification bit
Od modify DLL and exe pop-up contents [OllyDbg]
Share Creators萌芽人才培养计划来了!
Visual effects, picture to cartoon function
PTA 1016
Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip
Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and
鼠标悬停效果五
Densenet network paper learning notes
园区运营效率提升,小程序容器技术加速应用平台化管理
视觉特效,图片转成漫画功能
详解数据治理知识体系
Dell服务器重启iDRAC方法
The mobile edge browser cannot open the third-party application
Mouse over effect 8
[multi source BFS] 934 Shortest Bridge
基于Pytorch完整的训练一个神经网络并进行验证
