上一篇我们知道了线性回归的理论知识,如果看懂了就有大干一场的冲动。于是上代码,这时,很多问题可能就浮出水面了。
Feature Scaling
多个特征变量的情况下,这些特征变量五花八门,数值上从几千到个位数,总觉得不靠谱。
这里,NG大神用等高图给我们分析了这种情况,特征变量的差距,只会增加我们的迭代次数,是的学习性能下降。等高图画出来,是个狭长的椭圆,要到圆心自然经历颇多,所以,通过对特征向量的优化,使得等高图变得更圆,迭代次数自然就更少,能够更快的到达圆心(最小成本)(收敛)。这类问题叫做Feature Scaling
这里提供了两种算法:(min-max)
第一种,把特征值控制在[-1,1]之间。
(x-mean(x))/(max(x)-min(x))
这里mean是平均值,max是最大值,min是最小值。对每一个特征值做这样的处理,得到的就是新的特征值,符合[-1,1]的要求。
第二种,把特征值控制在[-0.5,0.5]之间。(z-score)
x-mean(x)/std(x)
这里的std是标准方差,公式如下
N就是训练数量。μ是算数平均值
在我们使用特征向量时,可以统一先做Feature scaling
但是这里如果用了bias,偏置的话,是不需要对偏置做feature scaling的,因为偏置的特征向量是常数1,已经在我们的范围了。
这里NG给的例子,还是房价预测,我们的特征向量可能是房屋面积(50-200),也可能是房间数(1.5),所以这里可以使用feature scaling,如果特征值都很阶级,在同一个数量级,那么可以忽略。
第二个问题,则是 α
这个是我们用在梯度下降算法中,放在对参数求导前面的,我们叫学习率(Learning rate)
这个数值的大小,该取多少呢?
这里,NG通过分析迭代次数,和cost 函数的关系曲线,来分析。前提是确保算法实现无误。
理论上,只要α 足够小,我们的算法就可以正常工作。如果随着迭代次数上升,cost函数值增大,或者反复,那么就需要更小的 α 值。
α 过大为什么会是的梯度下降有问题呢? 可以理解为步子太大,越过了收敛,结果反复后,cost值越来越大。
还有一个问题,我们的cost 函数是不可能小到0的,因为实际情况和模型永远不可能完美拟合。为了确保达到我们的要求,那么当cost值的变化小于某个数值时,我们就可以认为,我们已经找到合适的模型参数。
这个值的选取,如下图NG说的,可以在10的负三次方内,就是0.001-0.009之间吧。其实这个参数如果太大,那么我们学的不是很完美,如果太小,那么可能学习时间又会太长。这就是需要衡量考虑率的问题。
实际运用中需要根据实际情况不断尝试。
正常的情况应该是图上这个。当然迭代次数有可能会是上千,或者上万。
你也许会觉得,这个线性回归很复杂,那么多东西需要考虑。
这里也有一种便捷的方法,不需要feature scaling,不需要学习率,直接计算,这就是
Normal Equation
实际上这就是用正规方程法求解θ参数
这种方法,不用学习率,也不用做feature scaling
θ = (X^TX)^(-1)X^Ty
这里T表示转置,-1表示逆。所以这里有个问题,求逆矩阵。并非所有矩阵都有逆矩阵。(奇异矩阵,非方阵)
如果用octave来计算,就可以忽略有无逆矩阵。
pinv(X'*X)*X'*y
既然有这样的方法,那么是否不需要用梯度递减了?
看Andrew NG 老师为我们总结的。
也就是说,主要看features的个数,如果在1000个以内,可以用Normal Equation。
相关推荐
1、资源内容:SJTU机器学习大作业-关于线性回归模型和分类问题的应用 线性回归主要是解决波士顿房价预测问题 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细...
4.1.2. 线性回归的损失和优化原理(理解记忆) 5 4.1.3. 线性回归API 9 4.1.4. 波士顿房价预测 10 4.1.5. 拓展-关于优化方法GD、SGD、SAG 14 4.1.6. 总结 15 4.2. 欠拟合与过拟合 15 4.2.1. 什么是过拟合与欠拟合 15...
机器学习 回归篇(1)——多元线性回归摘要线性回归简介python实现运行结果及可视化 摘要 本文介绍了最基础的回归问题——多元线性回归,并通过python进行实现及可视化展示运行结果。 线性回归简介 线性回归问题的...
练习题涵盖了机器学习中的基本概念和技术,包括线性回归、决策树、K近邻算法、支持向量机和深度学习。这些问题旨在帮助读者理解和掌握这些技术的原理和实现。通过这些练习,读者可以学会如何使用机器学习模型来解决...
首先用线性回归分析,发现线性回归解决不了该问题,转而使用神经网络进行回归分析,回归分析根据模型去修正原来些未完成的任务的单价。最后使用已完成的任务和支持向量机生成模型,去预测那些原本未完成并修正单价后...
大数据处理--简单的高数组和线性回归示例% ------------------- 机器学习会议中用于解读 MATLAB EXPO 2016 中 C3 数据本质的代码。它包含一个非机器学习示例和三个机器学习示例。 0.数据分析-奥运奖牌分析(非机器...
MLR - 多元线性回归 PCA - 主成分分析 PLS - 偏最小二乘 LogisticR - 逻辑斯蒂回归 Ganzhiji - 感知机(perception) PSO - 粒子群优化 KNN - K_近邻 Bayes - 贝叶斯 OSC - 正交信号校正 GDescent - 梯度下降...
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。...在实际应用中,需要根据具体问题和需求选择合适的机器学习算法和模型,并进行适当的优化和调整。
1、资源内容:东南大学-机器学习期末大作业-音乐年底预测+源代码+文档说明 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、...使用线性回归,Lasso,Ridge等方法进行特征回归,得到年份预测
【第1讲】 机器学习的动机与应用(主要是课程要求与应用范例,没有涉及机器学习的具体计算内容) 【第2讲】 监督学习应用-线性回归 【第3讲】 线性回归的概率解释、局部加权回归、逻辑回归 【第4讲】 牛顿法、一般...
随着统计学的发展,统计学习在机器学习中占据了重要地位,支持向量机(SVM)、决策树和随机森林等算法的提出和发展,使得机器学习能够更好地处理分类、回归和聚类等任务。进入21世纪,深度学习成为机器学习领域的...
案例11 连续Hopfield神经网络的优化-旅行商问题优化计算 案例12 SVM神经网络的数据分类预测-葡萄酒种类识别 案例13 SVM神经网络中的参数优化---提升分类器性能 案例14 SVM神经网络的回归预测分析---上证开盘指数预测...
清华大学-学堂在线 大数据机器学习课件笔记系列:概述、机器学习的基本概念、模型性能评估、感知机、聚类、贝叶斯分类器及图模型、决策树和随机森林、逻辑斯谛回归与最大熵模型、支持向量机 SVM、核函数与非线性 SVM...
【第1讲】 机器学习的动机与应用 【第2讲】 监督学习应用-线性回归 【第3讲】 线性回归的概率解释、局部加权回归、逻辑回归 【第4讲】 牛顿法、一般线性模型 【第5讲】 生成学习算法、高斯判别分析、朴素贝叶斯算法 ...
目标检测模型、智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、智能控制、路径规划、无人机等多种领域的算法仿真实验,更多源码,请上博主主页搜索。 ---------------------------------------------...
Sklearn机器学习中的主要算法原理以及实现(线性回归、逻辑回归、朴素贝叶斯、K-Means聚类、KNN、PCA主成分分析、BP神经网络) 简单线性回归(simple linear regression) 简单线性回归通常就是包含一个自变量 x 和一个...
第一题采用线性回归模型,分别使用梯度下降和正规方程求解进行求解 第一题中如果ipynb格式无法发开,打开.py文件在pycharm中进行调试 第二题使用朴素贝叶斯模型惊醒预测 1、资源内容:机器学习作业-股价预测器,...
回归问题:线性回归、多项式回归、岭回归等 分类问题:逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯等 模型评估与优化:交叉验证、过拟合与欠拟合、正则化等 四、无监督学习 聚类分析:K-means、层次聚类等 ...
报告首先介绍了机器学习的基本流程,包括数据预处理、特征选择、模型训练、模型评估和模型优化等步骤。然后,报告详细介绍了常用的机器学习算法,如线性回归、逻辑回归、决策树、随机森林、支持向量机、神经网络等,...
learn超参数优化交叉验证aws-lambda线性回归knn回归logistic回归单元测试连续积分二进制分类k均值聚类相关sklearn多分类由于我们要通过使用选定的训练/测试验证基于选定的训练特征列表来预测给定数据集的选定目标...