首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coursera机器学习:梯度下降向量化

Coursera机器学习:梯度下降向量化
EN

Stack Overflow用户
提问于 2017-10-14 16:24:44
回答 2查看 1.6K关注 0票数 2

我在理解如何在Coursera上提供的机器学习课程上向量化函数时遇到了问题。

在课程中,Andrew Ng解释说,假设可以向量化为theta乘以x的转置:

代码语言:javascript
复制
H(x) = theta' * X

我的第一个问题是当我在练习中实现它的时候。为什么纸上的向量化是θ乘以x的转置,而在Octave上是X乘θ?

代码语言:javascript
复制
theta'*X % leads to errors while multiplying

我的第二个问题紧跟第一个问题。

当我想要向量化这个梯度下降函数的和时:

代码语言:javascript
复制
sum((h(x)-y)*x))

我真的不明白你是怎么做到这一点的,一旦矢量化:

代码语言:javascript
复制
X'*(h(x)-y)

有人能解释这个吗?

EN

回答 2

Stack Overflow用户

发布于 2017-10-31 15:51:26

这是一个品味的问题。通常的约定是矩阵-向量乘法,也就是你喜欢的。您可以通过转置everything从一种模式切换到另一种模式。也就是说,如果您的乘法X*theta有效,则转置后的公式为theta.' * X.'

X*theta中,X的每一行都包含一个采样点的数据(内核函数值)。

theta.'*X约定中,X的列包含采样点数据。

所以它总是依赖于上下文,什么被定义为行,什么被定义为列向量,以及它们如何在更大的对象或操作中组合在一起。

票数 1
EN

Stack Overflow用户

发布于 2018-08-09 23:01:23

斯坦福大学在Andrew Ng的Coursera ML MOOC中解释理论时,你可能也是refering.He,使用thetha作为n×1的向量,但在课程工作中,我们有一个1 x n的向量。所以实际中的theta是theta(theta')的转置

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46742462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档