4-1多功能
note
n=number of features
x(i)=input of ith training example
x(i)j=value of j feature in ith training example
假设函数

[^默认x0=1]:

特征缩放
-多个特征值所在的范围都在相近的范围内,此时梯度下降算法就会更快地收敛,特征值在-1/3-1/3之间较好,过大过小都不好
均值归一化

代价函数:
4-5多项式回归
在多个参数的代价函数中,要分别对各个参数求偏导,分别设为零。
if 斯塔为实数而非向量,那么转化为二次函数的求最值

Gradient Descent vs Normal Equation
Gradient Descent需要不断修正学习率α,需要迭代,在n(特征量的数量)很大的情况下也能很好的工作。
Normal Equation不需要修正学习率,需要计算XtX,在n很大的情况下时间复杂度为n³,费时
如果矩阵不可逆(singular/degenerate),使用pinv(X’X)X’*Y也可求出矩阵的逆
也可以使用正则化或者删除一些特征向量
overfitting(高方差):模型过多数据集过少
泛化能力:训练得到的模型适应新训练集的能力。
出现过拟合解决的方法:
Reduce number of features.
-保留舍弃
-选择适当的模型(model selection algorithm)
正则化(Regulation)
-线性回归的正则化



[^if X不可逆则选用prinv函数]:
-logistic回归的正则化
多项式的参数的代价函数,会导致模型过于复杂,出现过拟合
对各个参数分别求偏导
8-1神经网络(Neural Network)
p43 8-1
非线性回归
n过大时计算量过大
神经元与大脑

[^上标表示与第几层有关,下标表示与第几个神经元有关]:
神经元层分为三个:输入层、隐藏层(好多层)、输出层
XOR:异或:不同为一
NXOR:同或:相同为一

(NOT x1)AND(NOT x2)
可能有很多隐藏层
每层对输入进行不同的处理,最后送入输出层
多元分类

L表示层数

[^h\theta(x)是k维向量,(h\theta(x))$i_d$表示神经网络输出向量的第i个元素]:
Gradient computation
1.前向传播

[^a(1)为第一层的激活值,g为sigmod激活函数,计算第二层的激活函数]:
Backporpagation algorithm

反向传播就是反过来计算误差值
总结神经网络
1.确定架构
就是选择神经元之间的连接方法

2.训练神经网络
- 确定初始化权值
- 使用正向传播算法为每个x(i)计算出h(x(i))
- 使用代码计算出代价J(Θ)
- 使用反向传播计算出每个偏导数
- 使用梯度检测确定反向传播计算的偏导数和用数值计算的估计值之间的误差,最后确定算法是正确的
使用最优化算法来确定代价函数的最小值
梯度代价函数

通过求偏导数无限接近于代价较小的点
10-2评估假设
将数据集70%用于训练集,30%用于测试集。

Model Selection
Evaluating your hypothesis
6:2:2(训练集:交叉验证集:测试集)

Model selection
用验证集或者交叉验证集来选择模型,评估泛化误差(防止过拟合)
ps:与前面的验证集不同,前面的验证集只能选择合适的模型,无法评估泛化能力。
10-4偏差与方差(欠拟合与过拟合)
偏差:预测值的期望与真实值之间的差距,偏差越大,越偏离真实数据
方差:描述预测值的变化范围,离散程度
训练集和交叉验证集的代价计算公式

两种误差的变化趋势

10-5结合正则化

选择使代价最小的λ值
10-6学习曲线


11-1确定执行的优先级
example:垃圾邮件分类器
11-2误差分析
- 建立一个简单的模型
- 画出学习曲线以及分析
- 误差分析(找出需要特殊处理的样本)在交叉验证集上进行
11-3不对称分类的误差分析
Cancer classification example

precision表示交叉部分占所有预测值的比例
recall表示交叉部分占总的正例的比例
11-5机器学习数据
12-1优化数据
支持向量机
logistic回归


SVM:Support Vector Machine,向量机:用supervised learning对数据进行二元分类的广义分类器
12-3大间隔分类器
向量内积
![]()

为了达到向量机优化算法的目的,要使参数θ的取值范围尽可能小,为了保持p*θ>=1(正样本)恒成立,p的取值应该尽可能大,p为样本点在向量参数θ上的投影,显然右图的投影长度更长。(即正负样本与分类线之间的距离更大)
12-*核函数
非线性函数的决策边界
[^要确定计算边界要构造一个很复杂的多项式函数θ,但是过于复杂,就提出核函数]:
高斯核函数
[^||x-l(1)||是欧式距离]:
1.选择标记点
2.用高斯核函数计算f值
3.代入预测函数计算结果是1or0


** how to choose landmarks**:直接将训练样本点的位置作为标记点的位置
计算fi=similarity(x,l^i)
SVM parameters
*SVM应用 *
1.选择内核参数C和内核
[^没有内核就是线性内函数,通过计算参数不等式来确定取值]:
13-1无监督学习
提出聚类算法-分类无标签的数据集
13-2K-means算法
cluster assignment
- 簇分配:随机生成两个聚类中心
- 根据距离聚类中心更近的原则进行分类
- 移动聚类中心:计算所有红类点的坐标均值,将聚类中心移动到该点上,继续进行2操作直至聚类中心不在移动
non-separated clusters
Reference
https://www.bilibili.com/video/BV164411b7dx?p=76
13-3优化函数


随机初始化
为了避局部最优化,初始选择多次局部最优化。具体过程如下:

13-5选择聚类数量
[^最常见就是手动选择。需要结合自己的经验,还可以借助]:

14-1目标Ⅰ:数据压缩
节省内存或者硬盘空间,加快算法计算速度。
Data Compreesion
降维可以使用投影的方法

14-2目标Ⅱ:可视化数据
Data Visualization

Reduce 50D to 2D

14-3-4主成分分析问题规划(PCA)
[^PCA:寻找一个低维平面,使得数据投影在直线上的垂直距离平方和达到最小值。如下图所示,如果选择品红色的直线而非大红色的直线,如果选择品红色直线,数据点需要移动很长的距离才能到达投影直线。]:


PCA选择计算的是垂直距离,linear regression选择的是与直线的正交距离

[^svd:奇异值分解]:
$$
[U,S,V] = svd(Sigma)
sigma is a n*n matrix.
$$
取U矩阵的前k列,与矩阵X相乘得到矩阵Z
14-5主成分数量选择
choose k(number of principal components

