| @@ -85,7 +85,7 @@ | |||||
| ## 1.4 无监督学习(Unsupervised Learning) | ## 1.4 无监督学习(Unsupervised Learning) | ||||
| 相对于监督学习,训练集不会有人为标注的结果(无反馈),而是由计算机自己来分析,计算机通过无监督学习的算法,可能会把特定的数据集归为几个不同的簇,这个算法叫做聚类算法。 | |||||
| 相对于监督学习,训练集不会有人为标注的结果(无反馈),而是由计算机通过无监督学习算法来自行分析,计算机可能会把特定的数据集归为几个不同的簇,故叫做聚类算法。 | |||||
| 无监督学习一般由两种: | 无监督学习一般由两种: | ||||
| 1. 聚类(Clustering) | 1. 聚类(Clustering) | ||||
| @@ -109,14 +109,55 @@ | |||||
| 神奇的代码: | 神奇的代码: | ||||
| `[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');` | `[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');` | ||||
| 提到了在机器学习刚开始时,**推荐使用 Matlab 类的工程编程语言**,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。 | |||||
| 提到了在机器学习刚开始时,**推荐使用 Matlab 类的工程编程语言**,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。**(其实 tensorflow 的代码也非常简单,尚可一试。)** | |||||
| 另外,尤其是在做**原型搭建**的时候,也仍然使用 Octave,当其已经可以工作后,才将模型移植到其他的高级编程语言中。 | 另外,尤其是在做**原型搭建**的时候,也仍然使用 Octave,当其已经可以工作后,才将模型移植到其他的高级编程语言中。 | ||||
| # 2 Linear Regression with One Variable | |||||
| # 2 单变量线性回归(Linear Regression with One Variable) | |||||
| ## 2.1 模型表示(Model Representation) | |||||
| 1. 房价预测训练集 | |||||
| | Size in $feet^2$ ($x$) | Price (\$) in 1000's($y$) | | |||||
| | ---------------------- | ------------------------- | | |||||
| | 2104 | 460 | | |||||
| | 1416 | 232 | | |||||
| | 1534 | 315 | | |||||
| | 852 | 178 | | |||||
| | ... | ... | | |||||
| 这个训练集中,既给出了输入 $x$ ,又给出了输出结果 $y$,即”正确结果“,预测的量是连续的,属于监督学习中的回归问题。 | |||||
| **下图解决了这个回归问题:** | |||||
| : | |||||
| 其中 $h$ 代表结果函数,也称为**假设(hypothesis)** 。这个结果函数根据输入(即房屋的面积大,给出预测结果输出(即房屋的价格)。 | |||||
| $h_\theta(x)=\theta_0+\theta_1x$,为其中一种可行的表达式。 | |||||
| 上式中,$\theta$ 为参数,$\theta$ 的变化决定了输出结果,不同以往,这里的 $x$ 被我们**视作已知**(即不论是数据集还是预测前的输入),所以怎样解得 $\theta$ 以拟合数据,成了求解该问题的最终问题。 | |||||
| 单变量即只有一个特征(房屋的面积) | |||||
| ## 2.2 损失函数(Cost Function) | |||||
| 为了求解上个视频中提到的 $\theta$,本视频引入了损失函数(Cost Function)这个概念,损失函数,用于度量预测结果于实际结果的**建模误差**。 | |||||
| 目的在于求解预测结果 $h_\theta(x)$ 最接近于实际结果 $y$ 时 $\theta$ 的取值,则可以把问题转化为**求解 $\sum\limits_{i=0}^{n}(h_\theta(x^{(i)})-y^{(i)})$ 的最小值**。 | |||||
|  | |||||
| 上图中,为在 $\theta$ 取不同值时的拟合情况,蓝色虚线代表的即为误差,要最小化的就是每个预测点的误差值。 | |||||
| 这里则要引入损失函数的概念,我们对求最小值的式子进行数学建模,让其变得易于求最小值,而其中一种办法就是建模为二次函数,即统计学上的平方损失函数(最小二乘法): | |||||
| $$ J\left( \theta \right)=\frac{1}{2m}\sum\limits_{i=1}^{m}{{{\left( {{h}_{\theta }}\left( {{x}^{(i)}} \right)-{{y}^{(i)}} \right)}^{2}}} $$ ,其中 $m$ 为训练集中的样本数量。 | |||||
| 对于之前的房价问题来说,我们的问题就转化成了**求解 $J\left( \theta_0, \theta_1 \right)$ 的最小值**。 | |||||
| ## 2.1 Model Representation | |||||
| ## 2.2 Cost Function | |||||
| ## 2.3 Cost Function - Intuition I | ## 2.3 Cost Function - Intuition I | ||||
| @@ -124,6 +165,8 @@ | |||||
| ## 2.5 Gradient Descent | ## 2.5 Gradient Descent | ||||
| ## 2.6 Gradient Descent Intuition | ## 2.6 Gradient Descent Intuition | ||||
| ## 2.7 Gradient Descent For Linear Regression | ## 2.7 Gradient Descent For Linear Regression | ||||