机器学习是什么

机器学习为:在进行特定编程的情况下,给予计算机 学习能力的领域

什么是有监督学习?什么是无监督学习

监督学习指的就是我们给学习算法一个数据集(训练集)。这个数据集由“正确答案”组成

训练集有输入有输出是有监督学习,包括所有的回归算法分类算法,比如线性回归、决策树、神经网络、KNN、SVM等;

无监督学习中,数据集没有任何的标签或者是有相同的标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么

无监督学习就是运行一个聚类算法(无监督学习算法),把不同的个体,归入不同类或者归为不同的类型的人

常见的无监督学习算法有聚类算法,鸡尾酒会算法

什么是回归问题?什么是分类问题

回归 这个词的意思是,我们在试着推测出这一系列连续值属性
分类指的是,我们试着推测出离散的输出值,如是否是肿瘤(是为1,不是为0)

单变量线性回归与多变量线性回归

假设函数

单变量线性回归 ​​h𝜃(𝑥) = 𝜃0 + 𝜃1𝑥​​​ 多变量线性回归​​h𝜃(𝑥) = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2+. . . +𝜃𝑛𝑥𝑛​

代价函数:平方误差函数

在线性回归当中自动寻找代价函数建模误差最小的参数的算法有:梯度下降算法,正规方程(选择的参数决定了得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距就是建模误差)

(1)梯度下降算法(以多变量线性回归为例):
梯度下降具体来说就是选择一个学习率,然后求偏微分,不停的迭代,直到收敛,收敛的标准是当代价函数J(x)在某次迭代中减少的数值小于 10-3 次方时,就认为已经收敛

【机器学习】总结笔记_人工智能

(2)正规方程算法

不用像梯度下降要指定学习率,也不用迭代求偏微分,直接可通过以下方程,获取当代价函数J(𝜃) 的最小值时对应的参数𝜃
【机器学习】总结笔记_人工智能_02
注意:使用正规方程不用进行特征缩放

梯度下降和正规方程的区别
【机器学习】总结笔记_人工智能_03
总结一下,只要特征变量的数目并不大,标准方程是一个很好的计算参数𝜃的替代方法。 具体地说,只要特征变量数量小于一万,我通常使用标准方程法,而不使用梯度下降法

梯度下降的三个实用技巧

(1)特征缩放
使用梯度下降,需要进行特征缩放。特征缩放时,可能还要进行均值归一化
【机器学习】总结笔记_代价函数_04

(2)学习率的选择
梯度下降算法的每次迭代受到学习率的影响,如果学习率𝑎过小,则达到收敛所需的迭 代次数会非常高;如果学习率𝑎过大,每次迭代可能不会减小代价函数,可能会越过局部最 小值导致无法收敛。

可以参考的学习率

𝛼 = 0.01,0.03,0.1,0.3,1,3,10

先找一个最小的学习率,再找一个太大的学习率,然后取一个最大可能值或比最大值小一些的值,作为学习率

(3)向量化
梯度下降的偏微分计算,可以进行向量化,提高计算的效率

未向量化前
【机器学习】总结笔记_算法_05
向量化后的公式
【机器学习】总结笔记_人工智能_06

正规方程在矩阵不可逆的情况下的解决方案

(1)XT.X不可逆的情况下,仍然可以使用Octave 里面的伪逆函数pinv 获取正确的结果
(2)一些已经线性相关的特征,如x1=(3.28)平方* x2,这时候可以去掉x2这个特征
(3)如果特征太多(比如样本m太少,而特征n太多),可以删除一些特征,或者使用正则化方法

线性回归的使用技巧

(1)特征选取
可以将两个特征的乘积,作为一个新的特征
(2)多项式回归
在假设函数h(x)加入多项式(二次方,三次方,平方根),更好的拟合样本点
【机器学习】总结笔记_代价函数_07

逻辑回归(二分类问题和多分类问题)

逻辑回归算法解决分类问题,二分类问题和多分类问题都可以

假设函数

【机器学习】总结笔记_人工智能_08
【机器学习】总结笔记_人工智能_09
h𝜃(x)=0.5 是假设函数的阀值,高于这个阀值则预测样本结果y=1,低于则预测样本结果y=0 ,注意h𝜃(x)在分类问题中,表示概率 h𝜃(𝑥) = 𝑃(𝑦 = 1|𝑥; 𝜃)

判定边界

下图都是判定边界,可以是直线,也可以使用多项式来适应复杂的判定边界
h (𝑥)=𝑔(𝜃 +𝜃 𝑥 +𝜃 𝑥 +𝜃 𝑥2 +𝜃 𝑥2)
【机器学习】总结笔记_人工智能_10
代价函数
【机器学习】总结笔记_代价函数_11

逻辑回归当中自动寻找代价函数建模误差最小的参数的算法有:(1)梯度下降
【机器学习】总结笔记_代价函数_12

除了 使用梯度下降,逻辑回归当中还可以用以下3个高级算法获取到代价函数最小值时对应的参数

(2)共轭梯度法 (3)BFGS(变尺度法) (4)L-BFGS(限制变尺度法)

【机器学习】总结笔记_线性回归_13

逻辑回归(处理多元分类问题)

(1)多分类转化为二分类
我们将多个类中的一个类标记为正向类(𝑦 = 1),然后将其 他所有类都标记为负向类,这个模型记作h(1) (𝑥)。接着,类似地第我们选择另一个类标记为
正向类(𝑦 = 2),再将其它类都标记为负向类,将这个模型记作 h(2)(𝑥),依此类推。

(2)转化后的假设函数
h(𝑖)(𝑥) = 𝑝(𝑦 = 𝑖|𝑥; 𝜃)其中:𝑖 = (1,2,3. . . . 𝑘)

(3)分别训练逻辑回归分类器
现在要做的就是训练这个逻辑回归分类器:h(𝑖)(𝑥), 𝜃
其中 𝑖 对应每一个可能的 𝑦 = 𝑖,

(4)作出预测
给出输入一个新的 𝑥 值,用 这个做预测。我们要做的就是在我们三个分类器里面输入 𝑥,然后我们选择一个让 h(𝑖)(𝑥)
最大的𝑖,即max h(𝑖)(𝑥)

输入x的样本,h1(x) 为0.4 ,h2(x)为0.3 ,h3(x)为0.2,那么预测该样本x,对应为y=1(因为i=1是,h(x)最大)

【机器学习】总结笔记_算法_14

拟合,欠拟合,过拟合

拟合:所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小

一类是模型无法得到较低的训练误差,我们将这一现象称作欠拟合(underfitting);
另一类是模型的训练误差远小于它在测试数据集上的误差,我们称该现象为过拟合(overfitting)就是说测试集上误差太大,不能泛化

发现过拟合怎么处理?
1.丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一 些模型选择的算法来帮忙(例如 PCA)
2.正则化。 保留所有的特征,但是减少参数的大小(magnitude)。

正则化

其中𝜆又称为正则化参数(Regularization Parameter)。 注:根据惯例,我们不对𝜃0 进
行惩罚
【机器学习】总结笔记_代价函数_15
【机器学习】总结笔记_算法_16
因为如果我们令 𝜆 的值很大的话,为了使 Cost Function 尽可能的小,所有的 𝜃 的值
(不包括𝜃0)都会在一定程度上减小。但若 λ 的值太大了,那么𝜃(不包括𝜃0)都会趋近于 0,这样我们所得到的只能是一条 平行于𝑥轴的直线。

线性回归正则化

【机器学习】总结笔记_算法_17

逻辑回归正则化

【机器学习】总结笔记_人工智能_18
【机器学习】总结笔记_人工智能_19
【机器学习】总结笔记_线性回归_20