# week8 **Repository Path**: sika0819/week8 ## Basic Information - **Project Name**: week8 - **Description**: 第八周作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 为什么要引入核函数 + 在之前的课程中我们用超平面(线性模型来分开不同类的训练样本) + 但在实际任务中,原始样本空间也许不存在一个超平面能将训练样本分开 例如下面这副:![circle](circle.png) 想拟合一个非线性的判别边界来区分征服实例,其中一种思路是可以加入高阶项构造多项式特征变量。 $$ y=\begin{cases} 1 & \theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1x_2+\theta_4x_1^2+\theta_5x_2^2+…\geq0\\ 0&otherwise \end{cases} $$ $ 但是不一定能找到对应高阶项,也有可能找到比高阶项更好的特征变量。高阶项的运算量也相当大。 对此我们截取一些点构建新的特征向量,计算截距(欧式距离)。这些拮据用数学的术语说就是核函数kernel(实际上是高斯核函数)。 写成这样:$K(x,y)=<\phi(x),\phi(y)>$其中k(x,y)就是一个kernel函数. 使用核函数可以将数据从某个特征空间到另一个特征空间的映射(通常情况下,这种映射会将低维空间映射到高维空间。 计算完新的特征向量的参数以后,对一个特定的x生成预测值的y值,这样就会生成一个边界,边界内为1,边界外为0 # 给出合页损失的数学形式并画出图形。 Hinge Loss 是机器学习领域中的一种损失函数,可用于“最大间隔(max-margin)”分类,以下是合页损失的公式 $$ \xi =L_{Hinge}(y,\hat{y}=)\begin{cases} 0 & y\hat{y}\geq1\\ 1-y\hat{y}&otherwise \end{cases} $$ ![hingeloss](hingeloss.jpg) 横轴代表函数间隔。 1. 当样本被正确分类时,y(wx+b)>0;当样本被错误分类时,y(wx+b)<0. 2. y(wx+b)的绝对值代表样本距离决策边界的远近程度。y(wx+b)的绝对值越大,表示样本距离决策边界越远。 3. 当y(wx+b)>0时,y(wx+b) # 什么是支持向量?为什么SVM中只有一小部分的训练样本是支持向量(稀疏的)? SVM算法认为在靠近决策平边界的点(正负样本)与决策边界的距离最大时,是最好的分类选择。 ![supportvector](supportvector.png) 红色的线就是要优化的目标,它表征了数据到决策边界的距离,这个距离就是最大分类间隔,同时如果靠近两侧的数据少了几个,也不会影响决策边界的确定,而被红色框画出来三个数据决定了最终决策的边界,被成为支持向量。 至于为什么SVM重只有一小部分训练样本是支持向量,是因为SVM本身就是为了找到最大分类间隔,如果支持向量很多,就说明落在边界的数据也很多,就说明这个决策边界的效果不好。 # 决策树中特征分裂的准则有哪些 不同决策树的分裂准则不同: + ID3:信息增益最大(对标签y提供信息最多的特征),选择取值多的特征进行分裂。 + C4.5:ID3的改进,信息增益率最大 + CART(分类回归树): + 分类:GINI指数最小 + 回归:均方误差最小 ## ID3 + 令当前节点的样本集合为D + 用样本的比例估计概率分布:$p(Y=c)=\hat{\pi}_c=\frac{1}{|D|}\sum_{i\in D}$ + 分裂之前的熵:$H(D)=-\sum_{c=1}^Cp(Y=c)logp(Y=c)$ + 信息增益:$gain_x(D)=H(D)-H_X(D)$ ## CART + 递归进行建树 + 用验证数据进行剪枝 # SVM模型并没有概率解释。为了使SVM模型能输出概率,我们应该设置哪个参数。 1. LinearSVC用accuracy_score进行分数估计 2. SVC用默认的score函数