摘要:
一、广度优先算法BFS(Breadth First Search) 基本实现思想 (1)顶点v入队列。 (2)当队列非空时则继续执行,否则算法结束。 (3)出队列取得队头顶点v; (4)查找顶点v的所以子节点,并依次进入队列; (5)转到步骤(2)。 python伪代码: def BFS(root) 阅读全文
摘要:
一、range函数使用 range(1,5) 代表从1到4(不包含5),结果为:1,2,3,4 ,默认步长为1 range(1,5,2) 结果为:1, 3 (同样不包含5) ,步长为2 range(5,-1,-1) 反向输出,结果为:5,4,3,2,1,0 ,此时步长为-1,相当于每次减去1 二、l 阅读全文
摘要:
1.python中求幂运算 2**31-1 2的31次方减一(32位整型数据范围为-2^31~2^31-1,最高位为符号位,负向值比正向值绝对值大1) 2.python中整数除法 x=x//10 得出整型结果 x=x/10 得出浮点数结果 3.字符串翻转 str[::-1] 利用了python切片操 阅读全文
摘要:
一、K-means聚类中心初始化问题。 1)随机初始化各个簇类的中心,进行迭代,直到收敛,并计算代价函数J。 如果k=2~10,可以进行上述步骤100次,并分别计算代价函数J,选取J值最小的一种聚类情况,能够得到一个相对不错的局部最优解。(因为k值较小情况下,不同的随机中心,聚类结果不同) 2)如果 阅读全文
摘要:
一、代价函数 对比逻辑回归与支持向量机代价函数。 cost1(z)=-log(1/(1+e-z)) cost0(z)=-log(1-1/(1+e-z)) 二、支持向量机中求解代价函数中的C值相当于1/λ。 如果C值过大,相当于λ过小,容易过拟合 如果C值过小,相当于λ过大,容易欠拟合。 三、大间隔分 阅读全文
摘要:
备: High bias(高偏差) 模型会欠拟合 High variance(高方差) 模型会过拟合 正则化参数λ过大造成高偏差,λ过小造成高方差 一、利用训练好的模型做数据预测时,如果效果不好,下一步大概如何做?存在如下几种情况: 1)获取更多的训练样本。(高方差时用。增加训练样本能防止过度拟合, 阅读全文
摘要:
一、假设函数与决策边界 二、求解代价函数 这样推导后最后发现,逻辑回归参数更新公式跟线性回归参数更新方式一摸一样。 为什么线性回归采用最小二乘法作为求解代价函数,而逻辑回归却用极大似然估计求解? 解答: 1)因为线性回归采用最小二乘法作为代价函数,这个函数是一个凸函数,能够得到全局最优解。如下图所示 阅读全文
摘要:
一个多元函数的梯度方向是该函数值增大最陡的方向。对于一元函数而言,梯度方向是沿着曲线切线的,然后取切线向上增长的方向为梯度方向。对于二元或多元函数而言,梯度向量为函数F对每个变量的导数,该向量的方向就是梯度的方向。 上图为一元二次函数的曲线图,可以看出:在最低点的左边部分,每一点的梯度方向值都是负值 阅读全文
摘要:
一、解决过拟合问题方法 1)减少特征数量 --人为筛选 --靠模型筛选 2)正则化(Regularization) 原理:可以降低参数Θ的数量级,使一些Θ值变得非常之小。这样的目的既能保证足够的特征变量存在(虽然Θ值变小了,但是并不为0),还能减少这些特征变量对模型的影响。换言之,这些特征对于准备预 阅读全文
摘要:
一、归一化(也说标准化)作用 1)将有量纲特征转化为无量纲特征 2)能够加快收敛(主要指梯度下降法时) 二、Octave中计算 mean(A) 求解矩阵中每一列的均值 std(A) 求解矩阵中每一列的标准差 在Octave中对样本进行归一下代码如下: mu=mean(X); sigma=std(X) 阅读全文