机器学习算法
just_sort
Acdream.
展开
-
机器学习算法之PCA算法
前言在机器学习中降维是我们经常需要用到的算法,在降维的众多方法中PCA无疑是最经典的机器学习算法之一,本文就带着大家一起来学习PCA算法。前置内容要学会PCA算法,首先需要了解矩阵分解算法。而矩阵分解算法又分为特征值分解和SVD(奇异值)分解,这两个算法的目的都是提取出一个矩阵最重要的特征。特征值分解特征值,特征向量如果一个向量vvv是矩阵A的特征向量,则一定可以表示为下面的形式:A...原创 2019-11-06 22:39:57 · 570 阅读 · 0 评论 -
机器学习算法之感知机算法
前言感知机算法是一个比较古老的机器学习算法了,是Rosenblatt在1957年提出的,是神经网络和支持向量机的基础。感知机算法只能解决线性分类模型。算法原理1. 感知机算法的原始形式感知机模型可以表示为:f(x)=sign(w*x+b)其中w为权值,b为偏置,w * x表示内积,sign为符号函数。然后我们需要 建立误分类的损失函数,误分类点到超平面的总距离,损失函数是连续可导函数。损...原创 2019-10-29 09:38:37 · 2348 阅读 · 0 评论 -
机器学习算法之线性判别分析(LDA多分类)
算法原理紧接着上文:https://blog.csdn.net/just_sort/article/details/102690086 。在上文我们使用LDA实现了一个二分类任务。那么数据有大于2种类别,假设为C类,这时候怎么办呢?在上文我们定义的“类间散度矩阵”Sb=(μ1−μ2)(μ1−μ2)TS_{b}=(\mu _{1}-\mu _{2})(\mu _{1}-\mu _{2})^{T}...原创 2019-10-23 15:37:19 · 11385 阅读 · 3 评论 -
机器学习算法之线性判别分析(LDA二分类)
算法原理线性判别分析(Linear Discriminant Analysis, LDA)的原理比较简单,就是我们希望寻找到一条直线,然后我们将数据投影到这条直线上,使得这两种数据之间尽可能远离,并且同类数据尽可能聚集在一起。...原创 2019-10-22 20:38:16 · 2791 阅读 · 0 评论 -
机器学习算法之脊回归
算法原理参考博客https://blog.csdn.net/daunxx/article/details/51578787原创 2019-10-11 22:37:35 · 676 阅读 · 0 评论 -
机器学习算法之逻辑斯蒂回归
原理首先要了解线性回归,地址在这:https://blog.csdn.net/just_sort/article/details/101216607 。我们知道线性回归的值域是(-∞, +∞)。那么如果我们遇到分类问题怎么办呢?如果是二分类,那么值域就是[0,1],显然可以直接用线性回归来预测这类问题。如果把线性回归的输出结果外面再套一层Sigmoid函数,正好可以让值域落在0和1之间,这样的算...原创 2019-09-24 13:17:15 · 191 阅读 · 0 评论 -
机器学习算法之KD-Tree
原理线性查找假设我们有一个线性表[0, 6, 3, 8, 7, 4, 11],我们寻找这个序列中离x距离最近的元素的值。所谓线性查找,就是暴力遍历这个表,找个离x的距离的元素。假设查找操作执行了n次,线性表的长度为m,那么这个过程的复杂度就是O(nm)。一点改进-二分查找如果我们让线性表升序排列,那么我们每次查找就可以使用二分的方式最多用logm次比较就可以找到离x最近的元素。算法的复杂度...原创 2019-09-24 18:22:13 · 425 阅读 · 0 评论 -
机器学习算法之KNN
原理如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。实现如果按照原理来暴力实现的话,是很简单的。但暴力实现的复杂度是很高的,因为我们都要遍历样本的所有数据求离当前要查询的数据的距离。所以在上...原创 2019-09-27 14:24:59 · 218 阅读 · 0 评论 -
机器学习算法之朴素贝叶斯算法
算法原理条件概率条件概率表示在B=b成立的条件下,A=a的概率,记作P(A=a|B=b),或者说条件概率是指事件A=a在另外一个事件B=b已经发生的条件下的概率。联合概率、边缘概率、条件概率的关系如下:P(A∣B)=P(A,B)P(B)P(A|B)=\frac{P(A,B)}{P(B)}P(A∣B)=P(B)P(A,B)写成乘法的形式为:P(A,B)=P(B)∗P(A∣B)=P(A)∗...原创 2019-09-29 17:58:12 · 208 阅读 · 0 评论 -
机器学习算法之交替最小二乘法(ALS)
引入我们知道很多豆瓣的用户都会对电影进行打分,根据这个评分,我们可能知道这些用户除了自己评过分之外的电影还偏好哪些电影?这是一个推荐问题,解决这类问题的算法被称作推荐算法。算法原理协同过滤...原创 2019-09-30 12:00:25 · 2641 阅读 · 0 评论 -
机器学习算法之决策树算法
前言这里以ID3算法做二分类为例介绍决策树算法的原理。所谓决策树就是由一个个"决策"组成的树。决策树中,结点分为两种,放“决策依据”的是非叶结点,放“决策结果”的是叶结点。那么决策是什么呢?很简单,决策就是对于一个问题有多种答案,我们选择答案的过程就是决策,例如判断一个人的身高是否大于180就是一种决策。ID3算法原理ID3算法的局限性(1)不支持连续特征(2)采用信息增益大的特征优先...原创 2019-10-08 17:55:05 · 421 阅读 · 0 评论 -
机器学习算法之随机深林(bagging)
算法原理随机森林是一个用随机方式建立的,包含多个决策树的集成分类器。其输出的类别由各个树投票而定(如果是回归树则取平均)。假设样本总数为n,每个样本的特征数为a,则随机森林的生成过程如下:从原始样本中采用有放回抽样的方法选取n个样本;对n个样本选取a个特征中的随机k个,用建立决策树的方法获得最佳分割点;重复m次,获得m个决策树;对输入样例进行预测时,每个子树都产生一个结果,采用多数投票...原创 2019-10-08 22:21:20 · 399 阅读 · 0 评论 -
机器学习算法之KMeans聚类
算法原理聚类指的是把集合,分组成多个类,每个类中的对象都是彼此相似的。K-means是聚类中最常用的方法之一,它是基于点与点距离的相似度来计算最佳类别归属。在使用该方法前,要注意(1)对数据异常值的处理;(2)对数据标准化处理(x-min(x))/(max(x)-min(x));(3)每一个类别的数量要大体均等;(4)不同类别间的特质值应该差异较大。算法流程(1)选择k个初始聚类中心(2...原创 2019-10-11 13:44:10 · 416 阅读 · 0 评论 -
机器学习算法之线性回归
算法原理线性方程组假设有两个方程,x+y=2和2x+y=3,要求3x+4y?我们直接求解二元一次方程即可得答案为7。超定方程组对于方程组Ra=y,R为n*m的矩阵,如果R列满秩且n>m,则方程没有精确解,这时称方程组为朝顶方程组。线性回归问题假设公司有n个同事(n = 10000),他们的年龄为A = [a1, a2…an],职级为B = [b1, b2…bn],工资为C = [...原创 2019-09-23 19:37:25 · 313 阅读 · 0 评论 -
机器学习算法之大顶堆算法
前言在学习KNN算法的时候需要使用到大顶队这个数据结构,这里先来实现一下。什么是大顶堆如图所示,大顶堆就是将所有的数据放到一颗完全二叉树中,但是需要满足每个父节点的值都大于子节点的值。算法实现1.建立大顶堆大顶堆的建立,需要制定当前这个大顶堆的大小为0,将来不能超过多大。由于大顶堆是完全二叉树,我们在进行层次遍历的时候元素都是连续的,中间不存在空位,所以我们可以用数组来表示这棵树。那么...原创 2019-09-11 16:45:51 · 561 阅读 · 0 评论 -
Iterative Visual Reasoning Beyond Convolutions 卷积推理网络论文翻译和阅读
一,卷积推理网络论文翻译参考博客:https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/79787737 机器之心:https://zhuanlan.zhihu.com/p/35192989摘要\quad陈鑫磊、李佳、李飞飞、Abhinav Gupta等提出了一种新的迭代视觉推理框架。该框架超越了目前缺乏推理能力的识别系统...原创 2018-04-06 09:57:47 · 3604 阅读 · 12 评论 -
机器学习 Kaggle 房价预测比赛 Ensemble Generation
前言:\quad至今已经做了一些数据清洗,特征提取这些特征工程相关的东西,同时在房价预测项目中也使用了随机深林,SVR,线性分类器,Xgboost来做回归,发现结果只能到Top 65%,所以开始着手学习Ensemble Learning,也就是模型融合,提升比赛的竞争力。Ensemble Generation介绍\quadEnsemble Learning是指将多个Base Mod...原创 2018-09-04 19:05:32 · 1109 阅读 · 0 评论 -
线性回归 原理及公式推导
什么是线性回归?线性回归方程是利用数理统计中的回归分析,来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法之一。线性回归也是回归分析中第一种经过严格研究并在实际应用中广泛使用的类型。按自变量个数可分为一元线性回归分析方程和多元线性回归分析方程。摘至百度百科。函数模型线性回归的函数模型为hw(xi)=w0+w1x1+w2x2+...+wnxnh_w(x^i)=w_0+w_1x_1+...原创 2018-11-21 11:42:18 · 2728 阅读 · 0 评论 -
SVM Loss以及梯度推导
背景在学习CS231N时,线性分类器用到了SVM Loss,所以打算这里推导一样,并解释一下CS231N对SVM Loss的native实现和向量化实现推导给出SVM Loss的公式Li=∑j≠yiclassnummax(0,sj−syi+δ)=∑j≠yiclassnummax(0,wj∗xiT−wyi∗xiT+δ)L_i = \sum_{j\neq y_i}^{class_num} max...原创 2018-11-17 15:49:01 · 2161 阅读 · 2 评论 -
Softmax函数求导
来源:https://blog.csdn.net/zt_1995/article/details/62227603其实整个推导,上面这个图片已经介绍得十分清楚了,但是仍有很多小步骤被省略掉了,我会补上详细的softmax求导的过程:...原创 2018-11-12 15:23:02 · 3924 阅读 · 4 评论 -
再战 Kaggle Titanic竞赛 Ensembel Generation
前言\quad之前对Titanic做了一些数据清洗和简单的特征功能,并且使用了决策树,随机深林,AdaBoost,Xgboost,K邻近分类模型,并且做了基础的Ensemble也就是用投票数来判断最后的结果,但是很难受的是排名十分靠后,在TOP62%。所以成为了一块心病,最近将房价预测做了Stacking达到了4%TOP,所以想再次用清晰和不同的思路攻克一下Titanic竞赛。正文...原创 2018-09-15 16:39:03 · 306 阅读 · 0 评论 -
Kaggle Getting Started房价预测竞赛
没怎么做过kaggle的题目,对机器学习的套路还不是非常熟悉,然后前段时间碰到了一个回归的问题,竟然不知道如何下手,Kaggle上有一个房价预测的基础回归问题,机器学习回归就从这里开始好了。 学习资料:https://www.kaggle.com/marsggbo/kaggle \quad完整的机器学习算法解决房价预测需要处理以下几个问题: 1、 理解问题:观察每个变量特征的意义以及对于问题...原创 2018-08-25 11:39:00 · 1388 阅读 · 0 评论 -
动手学机器学习之回归树
算法原理预测连续变量的值假设我们现在要预测某个连续变量的大小,那么最常见的方法就是用平均值来。假设现在我们要预测班级中某个学生的成绩,而班级中除了我们要预测的学生以外其他学生的平均成绩为60分,那么我们用60分来预测这个学生肯定是比0或者100显得合理一点。下面来尝试证明一下:定义损失函数LLL,其中y^\hat{y}y^是对y的预测值,使用MSE来评估损失:L=−12∑i=0m(yi−...原创 2019-09-06 10:54:08 · 519 阅读 · 0 评论 -
机器学习算法之梯度提升决策树(GBDT)回归
算法原理接着上篇博客聊到的回归树,我们说到要预测一个班级的同学的成绩,用平均数数不妨为一个还不错的值。我们假设这个班级除了他自己,还有3位同学(请忽略为什么这个班级人这么少。。。)的成绩为50,60,70...原创 2019-09-07 18:42:31 · 1247 阅读 · 0 评论 -
机器学习算法之GBDT分类
前言这个算法依赖于前两篇文章,即回归树和GBDT回归。需要先搞清楚这两个算法的原理,地址为:https://blog.csdn.net/just_sort/article/details/100574688 和 https://blog.csdn.net/just_sort/article/details/100604262 。算法原理sigmoid函数如果对Logistic 回归或者神经...原创 2019-09-09 13:20:23 · 1079 阅读 · 0 评论 -
Python机器学习实践例子&&Kagle入门 Titanic乘客生存预测模型分析(利用决策树)
Kaggle上的竞赛链接:https://www.kaggle.com/c/titanic/kernels#导入pandas用于数据分析import osimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt#利用pandas的read_csv模块直接从互联网加载泰坦尼克号乘客数据titanic ...原创 2018-02-09 21:04:35 · 1696 阅读 · 2 评论