#########update to Lec 10###########################
html版本(看起来好看一点)
链接:https://pan.baidu.com/s/1GktN6dPSAscMDO_59Q7Www
提取码:hou5
EE4408: Machine Learning:
Lecture1
Types of machine learning
Supervised Learning:
- example:Regression,*Classification
- difference: need labels,需要标签来学习
Unsupervised Learning:
- example:Clustering
- difference:not need labels,不需要标签进行学习
**Reinforcement Learning:**强化学习
- 组成部分:环境,用户用户根据environment所处的state产生action,作用于Environment,产生reward,返回Agent,更新action产生网络,使得下一次的action会更好。
Probability Review
Discrete Random Variable:
Bayes Rule:
Continuous Random Variable:
Lecture 2
Graphical Model:
DAG:有向图,没有cycle(没有一条路径重新访问一个节点)
Belief Networks (Bayesian Networks)
利用给定图关系.求joint probablities
Intro to Linear Algebra:
- Vectors:向量
- scalars:标量
- Subspace:子空间
- Basis of Vector Space:基向量,在图片中,基向量为:
- Orthogonal matrices正交矩阵,满足
- Trace:矩阵对角线之和
- Determinant:行列式
- Covariance:协方差,
- Correlation coefficient:相关系数:
- Covariance matrix:协方差:COV(X,Y)=E[(X-E(X))(Y-E(Y))]
- Normal Density:正态分布
Eigenvalue and Eigenvector
用
可以求出
为Eigenvalue(特征值),
将lambda 带入
求出的x为eigenvector(特征向量)
Lecture 3
Bayesian Decision Theory
prior:先验概率 posterior:后验概率
Decision using Posteriors:
- 判断规则:
后验概率哪个大,判断成哪个
- Error:> Error:给定x集合,后验概率是确定的,所以error就是概率小的那个
- Loss Function
Conditional Risk:
后验概率决策的升级版,在进行决策前,设置一个参数
R()函数相当于将 每一类的错误率相加
MLE maximum Likelihood Estimation 极大似然估计
question
答案:a 因为对于每一个似然函数,都有一个确定的参数,比如高斯分布中的均值和方差,线性分类中的w和,所以他的判别函数的形状是统一的.
main idea
- 用最大似然函数渠道最大值作为估计值,就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值(模型已知,参数未知)。
- 先再写出似然函数:
- 简述方法:- 写出似然函数:- 取对数log- 求导数:
Lecture 4
MLE Classifier Example
- 利用train_data 进行最大似然估计(example中估计的是var和mean)
- 利用后验概率 = likehood * 先验概率 进行判断.
- 利用测试集的标签来计算error
Cross Validation (交叉验证)
基础概念:
- 训练集(train set) —— 用于模型拟合的数据样本。
- 验证集(validation set)—— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。 通常用来在模型迭代训练时,用以验证当前模型泛化能力(准确率,召回率等),以决定是否停止继续训练。
- 测试集 —— 用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。
一个形象的比喻:
训练集-----------学生的课本;学生 根据课本里的内容来掌握知识。
验证集------------作业,通过作业可以知道 不同学生学习情况、进步的速度快慢。
测试集-----------考试,考的题是平常都没有见过,考察学生举一反三的能力。
K-fold cross validation
- 随机将训练数据等分成k份,S1, S2, …, Sk。
- 对于每一个模型Mi,算法执行k次,每次选择一个Sj作为验证集,而其它作为训练集来训练模型Mi,把训练得到的模型在Sj上进行测试,这样一来,每次都会得到一个误差E,最后对k次得到的误差求平均,就可以得到模型Mi的泛化误差。
- 算法选择具有最小泛化误差的模型作为最终模型,并且在整个训练集上再次训练该模型,从而得到最终的模型。
overfitting 过拟合
模型对于训练集来说太精确了,失去泛化性
Maximum a posteriori (MAP) Estimation
最大化后验概率,首先后验概率 = 先验概率 * likehood
- 在MLE中,核心思想是最大化likehood,是不需要先验知识的,只需要输入观测数据.**缺点:**在给定样本不多的情况下,似然估计的参数不一定对
- 所以在MAP中,用最大后验概率,其实是综合了给定的样本和先验知识
可能会考当把先验知识 prior =1(均匀先验知识),则MLE和MAP等价
Non-parametric Classification
**优点:**可以用在任意分布,且不需要知道概率密度函数的形式
Density Estimation
其实就是用样本算直方图
Dimensionality Reduction(降维)
Lecture 5
Data Scaling
对数据进行预处理,归一化,防止部分features数值过大,不利于后续操作
Dimensionality Reduction
Greedy Forward Feature Selection:从空的features集合中不断加最好的特征
Greedy Backward Feature Selection:从所有的features集合中不断删除最坏的特征
PCA
一种数据降维的方法,
question
- maxmize the variance from the new data
- minimize reconstruction error
main idea
基于特征值分解协方差矩阵实现PCA算法
- 计算出协方差矩阵
- 利用特征分解方法求协方差矩阵的特征值与特征向量
- 取出特征值最大的k个特征向量组成新的空间
基于SVD分解协方差矩阵实现PCA算法
- 去平均值,即每一位特征减去各自的平均值。
- 计算协方差矩阵。
- 通过SVD计算协方差矩阵的特征值与特征向量。
- 对特征值从大到小排序,选择其中最大的k个。然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。
- 将数据转换到k个特征向量构建的新空间中。
Eigenfaces
- 用PCA 分解出 基图像(Eigenfaces)
- 将图像用基图像表示:
- 两个向量的距离差来表示是否是一张脸:
Lecture 6
Fisher's Linear Discriminant Analysis
把分类集合投影到一条线上进行分类
question:
explain why maximizing the distance between the projected class means is not sufficient for separating?
不能简单的用一个维度的均值去分类
maybe have many overlapping parts,such like:
main idea
- maximum objective function:
- details:
- use v to separate different classes
LDA:Linear Discriminant Functions
与Fisher 不同,Fisher 是投影到一条线上进行分类,LDA是根据在线的哪一边进行分类.
可能会考!
LDF 对于 不连续的决策区域无法正常工作
Lecture 7
Linear Regression
步骤:
- Assume a linear model: Y = β0 + β1 X
- Find the line which “best” fits the data, i.e. estimate parameters β0 and β1(训练:用最小误差进行拟合)
- Check assumptions of model(验证)
- Draw inferences and make predictions(测试)
Five Assumptions of Linear Regression
- Existence: for each fixed value of X, Y is a random variable with finite mean and variance (对于每一个给定的X,Y都是随机的但是有一个有限的均值和方差)
- Independence: the set of Yi are independent random variables given Xi(对于给定Xi,Yi是独立的随机变量,和X没有关系)
- Linearity: the mean value of Y is a linear function of X(Y的均值对于x是一个线性的函数)
- Homoscedasticity: the variance of Y is the same for any X(对于任意X,Y是同方差的)
- Normality: For each fixed value of X, Y has a normal distribution (by assumption 4, σ2 does not depend on X)(对于任意X,Y是一个正态分布)
Estimating β0 and β1
实际上就是拟合 预测值和标签值的差 的平方和 最小。(MSE最小均方误差法----Lec8)
Logistic Regression
Aim: to learn Learn P(Y|X) directly by using the way like Linear Regression
实质:利用 l = a+bx 做线性回归,然后讲 l 带入 logistic function表示概率p
损失计算:
利用极大似然函数法,拟合逻辑回归中的参数(a,b)
逻辑回归模型的数学形式确定后,剩下就是如何去求解模型中的参数。在统计学中,常常使用极大似然估计法来求解,即找到一组参数,使得在这组参数下,我们的数据的似然度(概率)最大。
设:
似然函数:
为了更方便求解,我们对等式两边同取对数,写成对数似然函数:
在机器学习中我们有损失函数的概念,其衡量的是模型预测错误的程度。如果取整个数据集上的平均对数似然损失,我们可以得到:
即在逻辑回归模型中,我们最大化似然函数和最小化损失函数实际上是等价的。
逻辑回归的损失函数是:(计算方法可以用后面讲到的梯度下降)
Linear Discriminant Functions(线性判别方程)
Augmented Feature Vector:
相当于多添加了一维的数据
判别形式:
Normalization:
将第二类的输入变成原输入的反数,这样做是为了,简化方法,只要满足
就是分类正确的.
Solution Region
两种求解方法
Optimization:
将目标函数进行求导,算导数等于0的时候,缺点:解方程复杂,且对于现在的一些问题(深度学习),不太可能写出求导方程。
Gradient Descent(梯度下降)
更新weight vector方法:利用前一次的算出来的目标函数的导数,与目前的weight vector进行想减。
理解:梯度可以表示为目标函数下降的方向,我们只需要不断控制weight vector往这个方向前进,如下图。
优点:现在用的非常广泛,并且适合任意的目标函数
LDF Criterion Function
还没有看懂
Perceptron(感知机)
感知器得目标函数为所有分错样本的距离和,目的就是最小化这个目标函数。
利用梯度更新方法:
因为目标函数对于y求导之后只剩下y了,所以梯度与a没有关系
Non-separable Example && Convergence of Perceptron Rules
对于以上这种没有办法找到一个合适的分类线的情况,对于基础感知器或者线性判别分类器,它会一直继续分类,没有办法收敛。
此时我们可以设置合适的学习率
,相当于更新次数越多,梯度会越来越不想更新。
Lecture 8
Minimum Squared-Error Procedures
MSE 只是一种设立目标函数(损失)的一个方程而已。
MSE:求解方法:
- 利用求导为0(Optimization)
- 梯度下降Gradient Descent
Support Vector Machines
Support Vector Machines
LDF出现的问题:我们只是很好的拟合了训练集,当出现一个新的样本(十分接近我们的决策平面),我们就很容易将它分错。
因此就需要SVM(• Idea: maximize distance to the closest example)使最接近决策平面的两个点之间的距离最大。
公式:
(不考数学推理:)
求解||w||,需要利用拉格朗日函数,将原来的形式转变成:
如果利用核函数:
SVM: Non-Separable Case
通过设置 b 的大小来松弛间隔(允许多少点可以在这个间隔内)
Nonlinear Mapping
利用转换方程实现非线性映射:
Kernels(SVM的核函数)
因为许多样本并不是线性可分的(用一条线就能够分出来),因此需要用到核函数(改变决策平面的形状)
核函数一定是半正定的
核函数类型(了解):
Nonlinear SVM Step-by-Step
与之前步骤是一样的,只是改变了核函数(感兴趣可以看数学推导里面)
Multi-class SVMs
有两种考虑角度:One-against-all:一次性分出多类 Pairwise:多次两两分类
(1)One-Against-All
(2)Pairwise SVMs
实质:经过多次的两两分类 训练出 n*(n-1)/2 个支持向量机
SVM实现多分类的三种方案 - ZH奶酪 - 博客园 参考阅读~ thank 徐文熙 诸葛杨阳 for sharing
Lecture 9
Ensemble Classifiers (集成分类器)
利用多个分类器集成来提高分类效果
主要分为 Bagging 和 boosting,其中random forest 属于 bagging(感觉会考)
Bagging:
类似于投票机制:随机选取样本,利用每一次随机选取的训练集训练一个分类器,最后通过所有分类器进行投票来获得最后的分类效果。
Decision Tree(决策树)
是一个树状的分类器,每一个节点的选择是根据信息增益熵选择的
感兴趣可以看:(考试应该不考)
决策树(decision tree)(一)——构造决策树方法_天泽28的专栏-CSDN博客_决策树
Random Forest:(随机森林)
就是把决策树当成弱分类器,然后利用Bagging方法,投票决定最后的分类。
Advantages of Random Forests
- Very high accuracy – not easily surpassed by other algorithms
- Efficient on large datasets
- Can handle thousands of input variables without variable deletion
- Effective method for estimating missing data, also maintains accuracy when a large proportion of the data are missing
- Robust to label noise
- Can be used in clustering, locating outliers and semi-supervised learning
Boosting
与bagging不同点在于,不是随机的选择每一次的训练样本(有规则的)
以AdaBoost为例:
- 第一次均匀的选取样本
- 之后会根据上一次选取的样本的错误率来更新,错误率越大就增加选取概率(为的是能够更好地训练分不对的点)
- 最后地分类由每一个分类器以及该分类器地错误率联合决定(sign是一个激活函数)
Random Forests vs. Boosting
Lecture 10
Unsupervised Learning(Clustering)
为什么要用非监督学习:
Distance Measures:
考虑问题:
- Fix the number of clusters to k(分成几类)
- Find the best clustering according to the criterion function (number of clusters may vary)(怎么分)
K-means Clustering
一种迭代地算法 Iterative optimization algorithms
- 人为选取要分地类数,上图k=3,并且随机初始化三个中心点,自动分类,距离哪个中心点近就是哪一类
- 计算每一个聚类地mean(均值)
- 重新将所有的点依据第二步地均值分类。
- 重复2 3 步骤 直到所有点不变> 第二步地均值经常用距离(Distance Measures)来计算
-----------------------------------------------------------------------------------------感谢贾神、陈工友,无私奉献
版权归原作者 Teacher KU 所有, 如有侵权,请联系我们删除。