24小时热门版块排行榜    

查看: 2442  |  回复: 22
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

loujing

铁杆木虫 (正式写手)

[求助] 关于用Maple或Mathematica实现符号多项式拟合 已有1人参与

最近在看李航老师的统计学习方法,想用Maple或Mathematica验证一下第一章中的多项式拟合。
关于用Maple或Mathematica实现符号多项式拟合
关于用Maple或Mathematica实现符号多项式拟合-1
关于用Maple或Mathematica实现符号多项式拟合-2

看起来结果都不太对。
这是我异想天开了(这问题用Maple和Mathematica是无法解决的),还是哪里写错了,万望大家指教,十分感谢。

Mathematica:
CODE:
f[Subscript[w, j]] = 1/2 \!\(\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]\*SuperscriptBox[\((\*UnderoverscriptBox[\(\[Sum]\), \(j = 0\), \(m\)]\*SubscriptBox[\(w\), \(j\)] \*SubsuperscriptBox[\(x\), \(i\), \(j\)] - \*SubscriptBox[\(y\), \(i\)])\), \(2\)]\)

Maple:
CODE:
L := proc (w__j) options operator, arrow; (1/2)*(sum((sum(w__j*x__i^j, j = 0 .. m)-y__i)^2, i = 1 .. n)) end proc

回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
loujing: 金币+30, ★★★很有帮助 2016-01-08 23:56:20
引用回帖:
17楼: Originally posted by loujing at 2016-01-08 17:28:16
原书截图

...

……刚发现我为了凑出和你的顶楼相似的结果犯了个错误。盯着四楼的图看了半天(真伤眼),现在我基本确定,正确的推导是:
CODE:
f[i_, m_] := Sum[w[j]*x[i]^j, {j, 0, m}]
l = 1/2 Sum[(f[i, m] - y[i])^2, {i, n}];

rulej1[w_] := Sum[expr_, {i_, downup__}] /; ! FreeQ[w, i] :> sum[{i, downup}][expr]
rulej2 = sum[_]'[_] :> 1;
rulej3 = sum[i_][expr_] :> Sum[expr, i];

ruleExpand = Sum[(a_ + b_) c_, i_] :> Sum[(a + b) c // Expand, i];
ruleDistribute = Sum[expr1_ + expr2_, i_] :> Sum[expr1, i] + Sum[expr2, i];
ruleExtract = Sum[a_ b_., {i_, downup__}] /; FreeQ[a, i] :> a Sum[b, {i, downup}];

(D[l /. rulej1[w@j], w[j]] /. {rulej2, rulej3} //. {ruleExpand, ruleDistribute,
     ruleExtract} // Expand) == 0



这和4楼结果是一致的,显然,光靠一个方程是定不了w[j]的,必须联立方程组。w[j]的简单的封闭解是不存在的。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
18楼2016-01-08 17:59:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 23 个回答

赵梦92

木虫 (著名写手)

大前提错了吧。我的书上和你的不一样呢

发自小木虫Android客户端
2楼2016-01-08 12:31:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

loujing

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by 赵梦92 at 2016-01-08 12:31:47
大前提错了吧。我的书上和你的不一样呢

谢谢答复,损失函数L(w)是没问题的,所以我就想用Maple或者Mathematica来验证一下w_j是否是这个结果。
3楼2016-01-08 12:34:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

赵梦92

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
loujing: 金币+20, 有帮助 2016-01-08 13:09:37
我的是这个,你看一下吧
关于用Maple或Mathematica实现符号多项式拟合-3



发自小木虫Android客户端
4楼2016-01-08 12:35:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见