24小时热门版块排行榜    

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

shikang999

新虫 (小有名气)

[求助] 一个不一样的线性方程组求解请教已有2人参与

最近因为个人业余喜好,在编写函数匹配的算法过程中,无意之间遇到需要求解这么一个问题:
1、已知一个m*n的系数矩阵A,以及一个大小为m的向量B,现在需要求解一个大小为n的向量x
2、A、B、x关系如下
一个不一样的线性方程组求解请教
3、上面这种情况看似常规的线性方程,但又不是,且和线性规划也有一定区别。现在是否有一种算法可以像求解线性方程组的最小二乘算法来求解这类问题?不知道是否有遇到过的虫友?
回复此楼
我还是那个我,过去如此,未来亦如此!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

syddesk

木虫 (正式写手)

【答案】应助回帖

直接把B的值转化为F的限制条件,然后这个就是一个凸问题,可以发现最优
6楼2017-05-31 00:22:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

peterflyer

木虫之王 (文学泰斗)

peterflyer


【答案】应助回帖

感谢参与,应助指数 +1
个人认为,这个问题也是分为有唯一的解、无穷多解和无解三种情况的。前两种情况和求解满秩的线性还是可以用最小二乘法求解的,后一种情况则需要另辟蹊径了。
2楼2017-05-30 19:51:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shikang999

新虫 (小有名气)

引用回帖:
2楼: Originally posted by peterflyer at 2017-05-30 19:51:05
个人认为,这个问题也是分为有唯一的解、无穷多解和无解三种情况的。前两种情况和求解满秩的线性还是可以用最小二乘法求解的,后一种情况则需要另辟蹊径了。

首先,很感谢您的回答!
1、因为这个方程是一个包含阈值的方程,比较麻烦,我自己考虑过迭代求解,但无法保证找到最优解。
2、如果真能如您所说“”前两种情况和求解满秩的线性还是可以用最小二乘法求解的“”,那这个问题基本就解决了。我想问下,这里的可以求解,能讲一下具体的算法吗?下面我给一个简单的例子,如果能针对这个例子简单说下求解过程,那就十分感谢了!
3、例子
已知:
A =
[ 4.00000000000000    6.00000000000000
  0.00000000000000    8.00000000000000
  7.00000000000000    5.00000000000000
  8.00000000000000    10.0000000000000 ]
B =
[ 0.00000000000000
  1.00000000000000
  0.00000000000000
  0.00000000000000 ]
现在求解能满足条件的x,下面提供一个可满足条件的解
x =
[-3.00000000000000
  2.00000000000000 ]
我还是那个我,过去如此,未来亦如此!
3楼2017-05-30 21:33:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peterflyer

木虫之王 (文学泰斗)

peterflyer


引用回帖:
3楼: Originally posted by shikang999 at 2017-05-30 21:33:16
首先,很感谢您的回答!
1、因为这个方程是一个包含阈值的方程,比较麻烦,我自己考虑过迭代求解,但无法保证找到最优解。
2、如果真能如您所说“”前两种情况和求解满秩的线性还是可以用最小二乘法求解的“”, ...

对于楼主所说的这个例子,经计算得知A^T*A是满秩矩阵,有逆矩阵存在,故有:
A*X=B
A^T*A*X=A^T*B
(A^T*A)^(-1)*(A^T*A)*X=(A^T*A)^(-1)*(A^T*B)
即 X=(A^T*A)^(-1)*(A^T*B) 。
4楼2017-05-30 22:23:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见