突然有个想法,利用机器学习的基本方法——线性回归方法,来学习一阶rc电路的阶跃响应,从而得到rc电路的结构特征——时间常数τ(即r*c)。回答无疑是肯定的,但问题是怎样通过最小二乘法、正规方程,以更多的采样点数来降低信号采集噪声对τ估计值的影响。另外,由于最近在捣鼓jupyter和numpy这些东西,正好尝试不用matlab而用jupyter试试看。结果是意外的好用,尤其是在jupyter脚本中插入latex格式的公式的功能,真是太方便了!尝试了直接把纸上手写的公式转换到jupyter脚本中的常见工具软件。
以下原创内容欢迎网友转载,但请注明出处:
一、理论推导
1.线性回归分析及正规方程
传统意义说,线性回归问题是用最小二乘法(即正规方程),解决线性方程组的均方误差最小化问题。已知输出输入x是由多个变量构成的行向量,w是系数向量(列向量),b为偏置
在机器学习中,把每次的输入x作为一行组成更大的矩阵,即每一行代表一个样本,该矩阵称为设计矩阵x(train)。若样本数为k,则x(train)有k行,每个样本都会得到一个输出y,将y集合成一个列向量y(train),k个相同的b也组成列向量b。为简化表达,将b简化为附加在系数列向量w最后的常数b,x(train)则在每行的最后增加一个1,w(列向量)的最后增加一个待估计的b。为了使估计的结果:
和y(train)之差的平方和最小,有正规方程可以求解w:
2.一阶rc电路的阶跃响应
一阶rc电路的电路模型如下图所示。