Overfitting and Regularization

[TOC] 1. underfitting and overfitting 我们利用多项式回归获得更加准确的拟合曲线,实现了对训练数据更好的拟合。然而,我们也发现,过渡地对训练数据拟合也会丢失信息规律。看两个概念: 欠拟合(underfitting):拟合程度不高,数据距离拟合曲线较远,如下左图所示。 过拟合(overfitting):过度拟合,貌似拟合几乎每一个数据,但是丢失了信息规律,如下右图所示,房价随着房屋面积的增加反而降低了。 我们有如下策略来解决过拟合问题: 减少特征数,显然这只是权宜之计,因为特征意味着信息,放弃特征也就等同于丢弃信息,要知道,特征的获取往往也是艰苦卓绝的。 不放弃特征,而是拉伸曲线使之更加平滑以解决过拟合问题,为了拉伸曲线,也就要弱化一些高阶项(曲线曲折的罪魁祸首)。由于高阶项中的特征 x 无法更改,因此特征是无法弱化的,我们能弱化的只有高阶项中的系数 θi。我们把这种弱化称之为是对参数 θ 的惩罚(penalize)。**Regularization(正规化)**正是完成这样一种惩罚的“侩子手”。 如下例所示,我们将 θ3 及 θ4 减小(惩罚)到趋近于 0,原本过拟合的曲线就变得更加平滑,趋近于一条二次曲线(在本例中,二次曲线显然更能反映住房面积和房价的关系),也就能够更好的根据住房面积来预测房价。要知道,预测才是我们的最终目的,而非拟合。 2. Regularized Linear Regression 在线性回归中,我们的预测代价如下评估: $$J(\theta)=\frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2$$ 为了在最小化 J(θ) 的过程中,也能尽可能使 $θ$ 变小,我们将上式更改为: $$\begin{align*} J(\theta) &= \frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum\limits_{i=1}^{n}\theta_j^2 \ &= \frac{1}{2m}(X\theta-y)^T(X\theta-y)+\lambda\sum\limits_{i=1}^{n}\theta_j^2 \end{align*}$$ 其中,参数 λ 主要是完成以下两个任务: 保证对数据的拟合良好 保证 $θ$ 足够小,避免过拟合问题。 λ 越大,要使 $J(θ)$ 变小,惩罚力度就要变大,这样 θ 会被惩罚得越惨(越小),即要避免过拟合,我们显然应当增大 λλ 的值。 那么,梯度下降也发生相应变化: $$\begin{align*} \theta_0 &=\theta_0-\alpha\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)} \ \theta_j &=\theta_j-\alpha\big(\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j\big) \quad (1) \ \mbox {即:}& \ \theta &= \theta-\alpha*(\frac{1}{m} X^T(y-X\theta) + \frac{\lambda}{m}\theta_{j}) \quad j \neq 0 \end{align*}$$ ...

May 20, 2018

Programming Exercise 2 Logistic Regression

[TOC] 1. Introduction 任务所要用到的文件 ex2.m - 运行主文件1 ex2 reg.m - 运行主文件1 ex2data1.txt - 主文件1训练数据 ex2data2.txt - 主文件2训练数据 submit.m - 提交任务函数文件 mapFeature.m - Function to generate polynomial features plotDecisionBoundary.m - Function to plot classifier’s decision bound- ary [?] plotData.m - Function to plot 2D classification data [?] sigmoid.m - Sigmoid Function [?] costFunction.m - Logistic Regression Cost Function [?] predict.m - Logistic Regression Prediction Function [?] costFunctionReg.m - Regularized Logistic Regression Cost ? 表示完成任务所要修改的文件 ...

May 15, 2018

Underfitting and Overfitting

[TOC] 1. underfitting and overfitting 我们利用多项式回归获得更加准确的拟合曲线,实现了对训练数据更好的拟合。然而,我们也发现,过渡地对训练数据拟合也会丢失信息规律。看两个概念: 欠拟合(underfitting):拟合程度不高,数据距离拟合曲线较远,如下左图所示。 过拟合(overfitting):过度拟合,貌似拟合几乎每一个数据,但是丢失了信息规律,如下右图所示,房价随着房屋面积的增加反而降低了。 我们有如下策略来解决过拟合问题: 减少特征数,显然这只是权宜之计,因为特征意味着信息,放弃特征也就等同于丢弃信息,要知道,特征的获取往往也是艰苦卓绝的。 不放弃特征,而是拉伸曲线使之更加平滑以解决过拟合问题,为了拉伸曲线,也就要弱化一些高阶项(曲线曲折的罪魁祸首)。由于高阶项中的特征 x 无法更改,因此特征是无法弱化的,我们能弱化的只有高阶项中的系数 θi。我们把这种弱化称之为是对参数 θ 的惩罚(penalize)。**Regularization(正规化)**正是完成这样一种惩罚的“侩子手”。 如下例所示,我们将 θ3 及 θ4 减小(惩罚)到趋近于 0,原本过拟合的曲线就变得更加平滑,趋近于一条二次曲线(在本例中,二次曲线显然更能反映住房面积和房价的关系),也就能够更好的根据住房面积来预测房价。要知道,预测才是我们的最终目的,而非拟合。 2. Regularized Linear Regression 在线性回归中,我们的预测代价如下评估: $$J(\theta)=\frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2$$ 为了在最小化 J(θ) 的过程中,也能尽可能使 $θ$ 变小,我们将上式更改为: $$\begin{align*} J(\theta) &= \frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum\limits_{i=1}^{n}\theta_j^2 \ &= \frac{1}{2m}(X\theta-y)^T(X\theta-y)+\lambda\sum\limits_{i=1}^{n}\theta_j^2 \end{align*}$$ 其中,参数 λ 主要是完成以下两个任务: 保证对数据的拟合良好 保证 $θ$ 足够小,避免过拟合问题。 λ 越大,要使 $J(θ)$ 变小,惩罚力度就要变大,这样 θ 会被惩罚得越惨(越小),即要避免过拟合,我们显然应当增大 λλ 的值。 那么,梯度下降也发生相应变化: $$\begin{align*} \theta_0 &=\theta_0-\alpha\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)} \ \theta_j &=\theta_j-\alpha\big(\frac{1}{m}\sum\limits_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j\big) \quad (1) \ \mbox {即:}& \ \theta &= \theta-\alpha*(\frac{1}{m} X^T(y-X\theta) + \frac{\lambda}{m}\theta_{j}) \quad j \neq 0 \end{align*}$$ ...

May 10, 2018

Logistic Regression

[TOC] 1. Classification and Representation 使用线性回归来处理 0/1 分类问题总是困难重重的,如下两图,在第一幅图中,拟合曲线成功的区分了 0、1 两类,在第二幅图中,如果我们新增了一个输入(右上的 X 所示),此时拟合曲线发生变化,由第一幅图中的紫色线旋转到第二幅图的蓝色线,导致本应被视作 1 类的 X 被误分为了 0 类: 因此,人们定义了逻辑回归来完成 0/1 分类问题。 1.1 sigmoid 用线性回归预测函数hθ(x)来处理回归问题不太有效,特别对于0/1分类问题。新的逻辑回归预测函数 g(z) 称之为 Sigmoid Function,亦称 Logic Function,其函数图像如下: 预测函数hθ(x) 被很好地限制在0、1之间。阈值为 0.5,大于则为 1 类,反之为 0 类。函数曲线过渡光滑自然。 1.2 Decision Boundary 决策边界,顾名思义,就是用来划清界限的边界,边界的形态可以不定,可以是点,可以是线,也可以是平面。Andrew Ng 在公开课中强调:“决策边界是预测函数 hθ(x)hθ(x) 的属性,而不是训练集属性”,这是因为能作出“划清”类间界限的只有 hθ(x),而训练集只是用来训练和调节参数的。 线性决策边界: 非线性决策边界: 2. Logistic Regression Model 2.1 Cost Function 当y=0时: 当y=1时: 可以看到,当 hθ(x)≈y 时,cost≈0,预测正确。 ...

May 3, 2018

Programming Exercise 1 Linear Regression

[TOC] 1. Introduction 任务所要用到的文件 Files included in this exercise ex1.m - Octave/MATLAB script that steps you through the exercise ex1 multi.m - Octave/MATLAB script for the later parts of the exercise ex1data1.txt - Dataset for linear regression with one variable ex1data2.txt - Dataset for linear regression with multiple variables submit.m - Submission script that sends your solutions to our servers [?] warmUpExercise.m - Simple example function in Octave/MATLAB [?] plotData.m - Function to display the dataset [?] computeCost.m - Function to compute the cost of linear regression [?] gradientDescent.m - Function to run gradient descent [†] computeCostMulti.m - Cost function for multiple variables [†] gradientDescentMulti.m - Gradient descent for multiple variables [†] featureNormalize.m - Function to normalize features [†] normalEqn.m - Function to compute the normal equations ? indicates files you will need to complete † indicates optional exercises ...

April 25, 2018

Linear Regression with Multiple Variables (week2)

[TOC] Multiple Features 多个特征的数据 对于线性回归: 其中:X0 = 1 Gradient Descent for Multiple Variables 对于m个样本,n个特征的, Feature Scaling 对训练数据进行特征缩放可以加快训练速度。 有两种帮助的技术是特征缩放和均值归一化。特征缩放涉及将输入值除以输入变量的范围(即最大值减去最小值),从而产生仅1的新范围。均值归一化涉及从该值中减去输入变量的平均值。输入变量导致输入变量的新平均值仅为零。要实现这两种技术,请调整输入值,如下面的公式所示: Features and Polynomial Regression 特征和多项式回归不一样,We can improve our features and the form of our hypothesis function in a couple different ways. 可以通过组合特征生成新的特征,We can combine multiple features into one. For example, we can combine x_1 and x_2 into a new feature x_3 by taking x_1⋅x_2. 可以通过取平方,立方,平方根等方法增加多项式,We can change the behavior or curve of our hypothesis function by making it a quadratic, cubic or square root function (or any other form). ...

April 20, 2018

model and cost function (week1)

[TOC] 1.Model Representation 定义:给定一个训练数据集,学习一个函数作为预测器(假设函数hypothesis),这个预测器就是模型。 given a training set, to learn a function h : X → Y so that h(x) is a “good” predictor for the corresponding value of y. this function h is called a hypothesis. 2.Cost Function 损失函数 定义:用来衡量假设函数的准确性。 对给定的输入x,用预测值(h(x)和真实值y的函数f(h(x), y) 计算得,不同的数据和模型有不同的函数。如果预测结果和真实值越接近,则说明模型学习的越好。如下例子: 不同的模型参数theta得到不同的模型,对应的损失函数值也不同,通过最小化损失函数来寻找最好的模型。 对于不同的模型,拥有不同的损失函数曲线图,等高线上面的损失值是相等的,虽然模型参数值可能不同。 3.Gradient Descent 梯度下降:每个模型有对应的模型参数,损失函数用来衡量模型与数据之间的匹配程度。为了让模型更加的匹配数据,需要对模型参数进行调整,而梯度下降是一种更新模型参数的方法。 注意:在更新参数的时候,计算偏导数 Partial derivative 的时候,使用的是本轮迭代参数更新之前的参数,而不是前面更新了参数,立马在后面的求偏导数中使用更新的参数计算。 对于学习率的选择: Gradient Descent For Linear Regression 看公式: ...

April 13, 2018