南海佛山网站建设,网业黑色,专业制作网站费用,网站开发junke1001.什么是线性回归#xff1f; 用线性关系去拟合输入和输出。 设输入为x#xff0c;则输出yaxb。 对于多元的情况yb1a1x1a2x2...anxn。 用θ表示系数#xff0c;可以写作#xff1a; 其中#xff0c;x01。 2.线性回归有什么用#xff1f; 对于连续输入和输出的问题#x… 1.什么是线性回归 用线性关系去拟合输入和输出。 设输入为x则输出yaxb。 对于多元的情况yb×1a1x1a2x2...anxn。 用θ表示系数可以写作 其中x01。 2.线性回归有什么用 对于连续输入和输出的问题如果线性回归可以较好的拟合输入和输出那么可以用这个模型预测其它输入时的输出。 反过来想如果线性回归可以较好的拟合输入和输出那么说明输出和输入有很强的线性相关性可以识别输入中的冗余信息。 3.怎么判断是否较好的拟合 初步考虑就是当使用模型时的输出、和真实的输出有多大偏差选择一个方法量化这个偏差。 每个样本输入模型时均会产生一个偏差。 线性回归中通过求这些偏差的平方平均值来判断偏差的程度。写作 其中实际输出为y模型输出为h上标i是指每个样本。系数在平方平均值的基础上除以2。 判断偏差的这个方程起名叫 Cost Function。当偏差越小、即Cost Function的值越小时拟合的越好。 4.怎么训练模型 训练模型的目的在于实现较好的拟合也就是说使Cost Function的值尽量小。 训练在这里就是选择一组系数θ模型确定以后模型的参数就是系数θ们实现上面的目的。 微积分学过可以对θ求偏导数等于0的点直接得到极值点。 按照Andrew Ng的课件当参数个数大于10000个时直接求极值点时间太长需要选择别的办法。 5.怎样训练模型梯度下降。 顾名思义就是沿着梯度下降。选择一个合适的步长α一步一步改变θ使Cost Function的值不断减小。 其中θj表示各个系数。:前面的冒号表示每个θj同时改变。 走多少步和怎么判断模型训练好了呢最好是观察每次θj改变后J(θ)的值的变化。 最开始θj等于多少呢最开始随便选一组值就可以。 步长α应该选多大呢要通过手动尝试“找”到合适的值。 最后经过多次迭代后算法得到一组θ使Cost Function的值比较小。 6.matlab实现一个线性回归。 %一个特征的输入参数X1[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50];X0ones(size(X1));X([X0;X1]);y([10, 22, 13, 43, 20, 22, 33, 50, 62, 48, 55, 75, 62, 73, 81, 76, 64, 82, 90, 93]); %梯度下降参数设计alpha0.001;%当alpha大于1时就不收敛了theta[2;3];%选哪个点作为起点似乎对收敛速度影响不大times2000;%迭代次数 for i1:times deltaX*theta-y;%求偏导数 thetatheta-alpha.*(X*delta);%梯度下降 J(i)delta*delta;%求此时的Cost Function值end %观察Cost Function值随迭代次数的变化% plot(J);%观察拟合情况stem(X1,y);p2X*theta;hold on;plot(X1,p2); 7.实际使用 实际使用线性回归时先对输入数据进行优化。包括1.将冗余的和无关的变量去掉2.对于非线性关系采用多项式拟合将一个变量变为多个变量3.将输入范围归一化。 小结 线性回归开始假设输入和输出存在线性关系 然后使用线性回归模型hθTx用Cost Function J(θ)评价拟合程度 通过对J(θ)应用梯度下降算法逼近一组好的参数θ从而得到一个适用的模型h。 线性回归的使用建立在“输入和输出存在线性关系”这一假设基础上把一组特征映射到一个值。 使用起来也许因为模型太简单感觉不到“机器学习”的感觉。选用时也需要很多先验知识、针对特定情况就像一般的编程处理问题一样。 在使用梯度下降的算法时迭代的过程有点“学习”的感觉。 转载于:https://www.cnblogs.com/sumr/p/9746649.html