1.1 机器学习
1. 机器学习:What and Why
为什么要机器学习?进入大数据时代,需要自动化处理数据,检测数据中的特征。用概率论来解决机器学习中的不确定性。例如:通过收集到的数据来预测未来,寻找解释数据的最佳模型,等等。
2. 机器学习的不同类型:
(1)有监督的学习(Supervised learning)或者称为预测问题(predictive learning):实际上就是指的是训练集是有标签的,使用训练集的数据训练出预测标签结果的模型。
给定了输入和输出(input-output pairs),$$D = {(x_i,y_i)}_{i=1}^N$$,D称为训练集。举个最简单的例子,假设x表示身高,y表示人的体重。给了N对身高-体重的数据,训练出模型使得给出一个人的身高能够较准确的预测出体重。假设训练出的模型$y = ax+b$,其中$a, b$表示某个常量(constant),这就是最简单的一个一元线性回归模型(one dimensional linear regression model),一元指的是因变量只有一个维度(dimension),线性指的是自变量与因变量的关系,如果画在图上是一条直线。
(题外话: 非线性关系可以有
Quadratic: $$f(x) = x^2$$
Logarithm: $$f(x) = ln(x)$$
Sigmoid: $$f(x) = \frac{1}{1+e^{-x}}$$
ReLU:$$f(x) = max(0, x)$$等等等等。)
x可以称为自变量(independent variable),特征(feature),属性(attribute),因子(factor)等等,实际上都是一样的东西。同样的y称为因变量(dependent variable),反应变量(response variable), 目标(target), 标签(label) 等等。变量的类型:连续的(continuous)指取值可以是任何实数。类别的(categorical or nominal) 例如取值为挂科(pass),通过(fail)。 序数的(Ordinal),例如米其林三星,米其林二星等等。
常见的有监督学习:当目标变量是categorical时,这是个分类(classification) or 模式识别(pattern recognition)问题。当目标变量是连续的,是个回归(regression)问题,例如上面从身高预测体重问题。当目标变量是ordinal的,是个ordinnal regression问题。
(2)无监督学习(unsupervised learning) 或者称为descriptive learning。区别就是给出的训练数据没有标签,$$D = {(x_i)}_{i=1}^N$$。例如聚类(Clustering), PCA (Principle component analysis)...
(3)Reinforcement learning: 学习偶尔给一些奖励或惩罚时怎样表现。例如婴儿学习走路。
1.2 有监督的学习(Supervised)
分类问题:实际上就是建立从输入值到输出值的映射。
$$D = {(x_i,y_i)}_{i=1}^N$$ $$f: x \rightarrow y$$
当输出值y是两个类别时,称为二分类(binary classification);当y有多个类别时,称为多分类(multiclass classification);假如目标类别不是互斥的(mutually exclusive),即对输入值的分类不局限于只属于某一个类,可以分到多个类别时,称为multi-label classification。
-
线性回归(Linear Least Square Regression)
一维模型:$$Y = mX+b$$
数据:$$ {(x_i,y_i)}_{i=1}^N$$,N对数据,例如表示人的体重和身高。
最小二乘法,高中知识:求得使残差$$Error = min \sum_{i=1}^N(mX_i+b-Y_i)^2$$,意思是我们希望通过某个m, b求得的预测值mXi+b和实际值Yi相差最小。
对Error分别对m和b求偏导数,当偏导数为0时我们知道达到了局部极小值点:
$$\frac{\partial}{\partial b}