目录
监督学习
监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。然后运用学习算法,算出更多的正确答案。用术语来讲,这叫做回归问题。
这个数据集中,横轴表示肿瘤的大小,纵轴上,我标出1和0表示是或者不是恶性肿瘤。假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题。
在其它一些机器学习问题中,可能会遇到不止一种特征。上图中,我列举了总共5种不同的特征,坐标轴上的两种和右边的3种。以后会讲一个算法,叫支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。
无监督学习
已知数据集,但却没有标签,不知如何处理。无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法。
谷歌新闻每天都在,收集非常多,非常多的网络的新闻内容。它再将这些新闻分组,组成有关联的新闻。
鸡尾酒宴问题
线性回归算法
用小写的m来表示训练样本的数目
h代表学习算法的解决方案或函数也称为假设(hypothesis)
我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距就是建模误差(modeling error)。我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。是解决回归问题最常用的手段
线性回归
关键点就是找出 Θ0和Θ1
使预测值和真实值之差的平方和的1/2M 最小
编写程序来找出这些最小化代价函数的 Θ0和Θ1的值
梯度下降
从高点往下,多次会得到多种局部最优解
思想:随机选择一个参数的组合,计算代价函数,然后我们寻找下一个让代价函数值下降最多的组合。直到局部最小值。选择不同的初始组合,可能会得到不同的局部最小值。
学习率太小的话,可能会很慢,因为它会一点点挪动,它会需要很多步才能到达全局最低点。太大,它会导致无法收敛,甚至发散。
当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,没有必要再另外减小幅度。
多维特征
n 代表特征的数量
特征缩放:
将所有特征的尺度都尽量缩放到-1到1之间
学习率:
梯度下降算法的每次迭代受到学习率的影响,如果学习率过小,则达到收敛所需的迭代次数会非常高;如果学习率过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。
正规方程
不需选择学习率,一次运算得出,特征数量n小于10000时可以接受。
-1表示矩阵的逆:设A是数域上的一个n阶方阵,若在相同数域存在另一个n阶矩阵B,使得:AB=BA=E。则我们称B是A的逆矩阵,而A被称为可逆矩阵。其中,E为单位矩阵。
逻辑回归
逻辑回归算法,实际上是一种分类算法,适用于标签y值取值离散的情况。
X代表特征向量,g代表逻辑函数,是一个常用的S型函数。
决策边界:根据以上公式,可以推导分界线的方程式。
高级优化:共轭梯度法 BFGS (变尺度法) 和L-BFGS (限制变尺度法)。可以自动尝试不同的学习速率 ,并自动选择一个好的学习速率 ,因此它甚至可以为每次迭代选择不同的学习速率
一对多:
正则化
过度拟合over-fitting
如果我们有非常多的特征,我们通过学习得到的假设可能能够非常好地适应训练集(代价函数可能几乎为0),但是可能会不能推广到新的数据。
欠拟合 最合适 过拟合
发现了过拟合:1.丢弃一些无用特征 2.正则化(保留所有特征,但减少参数的大小)
要减小高次项的参数值theta3、theta4,修改代价函数,增加惩罚:
神经网络
线性回归和逻辑回归的缺点:特征太多时,计算负荷非常大。
训练一个模型来识别视觉对象(图片是否是一辆汽车):
数据集:很多汽车图片和很多非汽车的图片
特征:这些图片上一个个像素的值(饱和度和亮度)。灰度图片,每个像素只有一个值。
可以选取图片上的两个不同位置的两个像素,然后训练一个逻辑回归算法利用这两个像素的值来判断图片上是否是汽车。50x50像素的小图片,并且我们将所有的像素视为特征,则会有 2500个特征,进一步将两两特征组合构成一个多项式模型,则会有接近3百万个特征。普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们需要神经网络。
优化
已经完成了正则化线性回归,也就是最小化代价函数J的值,预测时产生巨大误差,想要改进。
有时候获得更多的训练数据实际上并没有作用
获得更多的训练实例——通常是有效的,但代价较大,下面的方法也可能有效,可考虑先采用下面的几种方法。
1.尝试减少特征的数量
2.尝试获得更多的特征
3.尝试增加多项式特征
4.尝试减少正则化程度
5.尝试增加正则化程度
运用一些机器学习诊断法来帮助我们知道上面哪些方法对我们的算法是有效
评估我们的假设函数过拟合检验:将数据分成训练集和测试集,利用测试集数据计算代价函数