
机器学习总结
白儿墨
这个作者很懒,什么都没留下…
展开
-
这次一定要弄懂-SVM-2-Hard Margin SVM的原问题转换为拉格朗日对偶问题
文章目录2-1 回顾Hard Margin SVM的原问题2-2 从原问题到拉格朗日对偶问题2-2-1 拉格朗日乘数法 -> 广义的拉格朗日乘子函数 ->拉格朗日对偶问题2-2-1-1 如何使用拉格朗日乘数法2-2-1-2 构造广义的拉格朗日乘子函数2-2-1-3 拉格朗日对偶问题2-2-1-4 对比原问题与拉格朗日对偶问题2-2-2 为什么要转化为拉格朗日对偶问题来求解2-2-2-1...原创 2019-07-28 22:44:13 · 500 阅读 · 0 评论 -
实现基于协方差矩阵的PCA
实现基于协方差矩阵的PCA目录基于协方差矩阵的PCA原理实现基于协方差矩阵的PCA基于协方差矩阵的PCA原理参考资料:http://blog.codinglabs.org/articles/pca-tutorial.html文章写的太好了寻找一维基:还是寻找一维基,使得所有数据变换(即投影)后,方差尽可能大Var(a)=1m∑i=1mai2Var(a) = \frac{1}{m...原创 2019-09-29 20:10:42 · 394 阅读 · 0 评论 -
使用xgboost库
使用xgboost库目录xgboost中的参数使用sklearn中xgboostAPI绘制学习曲线进化的学习曲线:方差与泛化误差使用xgboost.train()使用xgboost.cv()案例:在波士顿数据集上,使用xgb.cv这个类进行调参分类案例:XGB中样本不均衡问题xgboost中的参数sklearn中参数xgboost库中对应的参数名集...原创 2019-09-18 18:43:15 · 979 阅读 · 0 评论 -
python中模型的保存和调用
python中模型的保存和调用目录使用pickle进行保存和调用(需要配合open函数来使用)使用joblib进行保存和调用(用法更简单)使用pickle保存和调用模型我们可以使用pickle和open函数连用,来将我们的模型保存到本地#要保存的模型from sklearn.datasets import load_bostonfrom sklearn.ensemble imp...原创 2019-09-18 16:21:36 · 8833 阅读 · 0 评论 -
实现XGBoost1.0版本-慢的要死,但准确率还能忍
实现XGBoost目录XGBoost算法推导XGBoost算法实现使用自制的数据集进行测试使用波士顿数据集进行测试,并与sklearn中的Adaboost,RandomForest进行对比XGBoost算法推导XGBoost是梯度提升树中的改进算法,所以具有梯度提升树中的一些共性,同时也存在自己的个性对于梯度提升树算法来说,有三个关键部分需要明确能够让弱评估器集成的手段(迭...原创 2019-09-16 18:11:22 · 2621 阅读 · 4 评论 -
集成算法 学习笔记(二) Adaboost的算法简介和推导
Adaboost算法简介:Adaboost集成算法通过基于上一次的预测结果,调整每一次样本的权重值(增加分类错误的样本权重,减少分类正确的样本权重),使得在下一次进行预测时,更加关注那些分类错误的样本。最终的分类器为f(x)=sign(∑i=1MαmGm(x))f(x) = sign\big(\sum\limits_{i=1}^M\alpha_mG_m(x)\big)f(x)=sign(i=...原创 2019-09-10 21:41:07 · 264 阅读 · 0 评论 -
逻辑回归笔记
为什么称之为逻辑回归?因为逻辑回归预测的是发生概率,预测一个数,所以为回归问题sigmoid函数σ(t)=11+e−1\sigma(t) = \frac{1}{1+e^{-1}}σ(t)=1+e−11值域在(0,1)t>0时,值>0.5t<0时,值<0.5故预测值p^=σ(θT⋅xb)\hat p = \sigma(\theta^T \cdot x_b)...原创 2019-08-30 17:19:01 · 113 阅读 · 0 评论 -
集成算法 学习笔记(一)
什么是集成学习:也就是集成多个算法,让不同的算法对同一组数据进行分析,得到结果。常见的集成方式有:bagging(统计学中的叫法为bootstrap)bagging的方式1.hard voting:少数服从多数2.soft voting :有权重的少数服从多数...原创 2019-08-29 13:44:31 · 169 阅读 · 0 评论 -
决策树学习笔记
决策树简介:非参数学习算法可以解决分类问题和回归问题天然可以解决多分类问题具有非常好的可解释性决策树的局限性:生成的边界 横平竖直,所以数据如果有一点偏斜,决策树得到的决策边界可能就不能很好的反馈数据的分布情况。作为非参数学习算法,对个别数据样本点是非常敏感的。改建在机器学习领域,决策树更重要的一个应用是使用集成学习的方式,创建随机森林的算法。 随机森林的算法可以得到非常好的...原创 2019-08-22 16:22:08 · 191 阅读 · 0 评论 -
牛顿法原理推导
牛顿法是用迭代的方法,来求解方程的根和最优化预备知识1.Hessian矩阵2.多元泰勒展开用牛顿法求解方程的根用牛顿法求解导数为0 的点1.Hessian矩阵相当于一元函数的二阶导数,所有元素由函数的二阶偏导数构成。由于高阶导数一般和求导次序无关,所以Hessian矩阵往往是对称矩阵f(x1,x2,...xn)f(x_1,x_2,...x_n)f(x1,x2,...xn)...原创 2019-08-21 12:08:25 · 6907 阅读 · 1 评论 -
线性回归学习笔记
线性回归算法线性回归算法的优缺点:优点:思想简单,容易实现是许多强大的非线性模型的基础结果具有很好的可解释性,相应的系数可以理解为权重蕴含机器学习中的很多重要思想公式推导预测 y^(i)=X(i)w+b\hat y^{(i)} = X^{(i)}w+by^(i)=X(i)w+b目标是使yyy与y^\hat yy^尽量接近,即使∑i=1m(y(i)−y^(i))\sum\lim...原创 2019-08-14 20:55:16 · 730 阅读 · 0 评论 -
衡量监督算法的性能
分类算法混淆矩阵混淆矩阵通过比较分类结果与真实值,形象分类模型的准确度准确率反映了分类系统对整个样本的判定能力——能将正的判定为正,负的判定为负Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP+TN}{TP+TN+FP+FN}Accuracy=TP+TN+FP+FNTP+TN当数据集不平衡时,也就是正样本和负样本的数量存在显著差异时,单独依...原创 2019-08-19 17:21:01 · 184 阅读 · 0 评论 -
这次一定要弄懂-SVM-5-推广到soft margin svm和非线性的svm
有了前面推hard margin svm的经历,这次推soft margin svm应该会迅速很多。开启~文章目录5-1 Soft Margin SVM5-1-1 Soft Margin SVM的原问题5-2 加入核函数5-3 总结SVM5-4 python实现5-1 Soft Margin SVM5-1-1 Soft Margin SVM的原问题hard margin svm是针对一个...原创 2019-07-31 20:52:36 · 673 阅读 · 0 评论 -
这次一定要弄懂-SVM-4-总结Hard Margin SVM的求解过程,并用python实现
文章目录4-1 总结Hard Margin SVM的数学推导过程4-2 python实现Hard Margin SVM4-2-1 建立数据集4-2-2 初始化4-2-3 设置循环,寻找第一个不满足kkt条件的$\alpha$4-2-4 求解子问题4-2-5 设置完整的计算函数4-3 总结4-1 总结Hard Margin SVM的数学推导过程我们从原问题:minω∣∣ω∣∣22\min \...原创 2019-07-31 19:32:41 · 1309 阅读 · 0 评论 -
机器学习 学习笔记(一) 机器学习导学
目录:在看了liuyubobobo、吴恩达、林轩田老师的课程以及很多博客的内容后,决心做一个知识点的大整理,梳理整个学习的脉络。在学习过更多的内容后,可能会添加上一些新的理解。1-1 为什么需要机器学习对于传统的算法来说,比如排序算法,是交给机器来执行。比如解决垃圾邮件的分辨,使用传统算法的解决问题思路:编写规则,定义“垃圾邮件”,让计算机执行但这种处理方法的问题在于,判断垃圾...原创 2019-07-22 14:10:55 · 270 阅读 · 0 评论 -
这次一定要弄懂-SVM-3-Hard Margin SVM的对偶问题的求解(SMO算法)
文章目录3-1 KKT条件3-1-1 从拉格朗日乘数法的求解过程说起3-1-2 推广出KKT条件3-1-3 KKT条件用于原问题3-2 SMO算法3-3 总结并用python实现Hard Margin SVM前面我们针对Hard Margin SVM推导了他的原问题:minω∣∣ω∣∣22\min \limits_{\bold{\omega}}\frac{||\omega||^2}{2}ωm...原创 2019-07-29 20:50:52 · 1215 阅读 · 0 评论 -
这次一定要弄懂-SVM-1- Hard Margin SVM的原问题推导
不信邪,决定挑战下自己的能力,努力弄懂SVM因为SVM的内容太多,求解较为复杂,分为几个部分来写,分步来搞定1-1 SVM的简介SVM(Support vector machine)中文名为支撑向量机,可以用于解决分类问题,也可以解决回归问题,采用核技术可以解决非线性问题,适用于小样本和高维特征。核心思想在于最大化分类间隔,以提升分类器的泛化性能。解决线性可分的SVM叫做Hard Mar...原创 2019-07-24 20:56:58 · 1231 阅读 · 0 评论 -
实现基于梯度上升法的PCA
实现基于梯度上升法的PCA参考bobo老师的机器学习课程,进行总结回顾目录基于梯度上升法的PCA原理实现基于梯度上升法实现的PCA用自制数据集验证手写的PCA基于梯度上升法的PCA原理PCA(Principal Component Analysis):主成分分析可以用于数据降维,重新确定数据所在的空间的基,保留k个方差最大的基。故我们要找到令数据方差最大的基即寻找使样本空间...原创 2019-09-29 20:13:31 · 198 阅读 · 0 评论