多项式的矩阵化?
来源:2-5 实战分类模型之数据归一化
慕神4535282
2021-04-16
老师,下午好!
请教一个问题?这个问题文章我反复看了4,5天了,在最后的这一部分怎么都算不出来,具体链接在此:
https://www.jianshu.com/p/c7e642877b0e
具体不明白的是下面这段文字:
麻烦老师具体写一下 “代价函数转化为矩阵向量相乘” 的过程,
麻烦老师了,非常感谢!!!
3回答
-
同学你好,这里的矩阵化具体是这样的:
原来h(x) = theata0 + theata1 * x1,
甚至可以泛化一下:
h(x) = theata0 + theata1 * x1 + theata2 * x2 + ... + theatak * xk
然后将其向量化,令x = [1, x1, x2, x3, ..., xk], theata = [theata0, theata1, ..., theatak], 所以:
h(x) = x * theata.
这样h就表达成了两个向量的乘积。以下为了渐变,假设x和theata的长度都是n。
然后,我有m个样本,所以输入是m个长度为n的向量,也就是mxn的一个矩阵,设为X。此时我可以通过矩阵乘以一个向量来一下子计算m个样本的输出,即h(X) = X * theata. X的shape是mxn, theata的shape是nx1, (注意,原来theata是一个长度为n的向量,这里为了计算矩阵乘机,我给它加了一维)。根据矩阵乘法,h(X)的输出是一个mx1的矩阵。
目标值Y,原来也是长度为m的向量(即m个样本的目标值),为了矩阵运算,也给它加一维,变成mx1的矩阵。然后h(X) - Y就是mx1的矩阵。
在你给的那篇文章中,想要的h(X)-Y中的每个值的平方的和的均值。所以在这里,用到一个常用技巧,就是(h(X) - Y)^T * (h(X) - T). 前面的部分是 1xm的矩阵, 后面的部分是mx1 的矩阵,根据矩阵乘法,得到的就是1x1的矩阵,就是平方和。
012021-05-06 -
慕神4535282
提问者
2021-04-20
这是我自己研究出来的结果,不想是否正确,烦请老师指教,图中的 x, y, 和 ,的矩阵对吗?
谢谢老师指导
00 -
正十七
2021-04-19
同学你好,发现你问的问题很多都是外面的网址里的,请尽量问我们课程上的内容哈。
012021-04-20
相似问题
回答 2
回答 1