机器学习
文章平均质量分 52
道法—自然
不积跬步,无以至千里;不积小流,无以成江海。——荀子
展开
-
机器学习部分:基于用户的协同过滤和基于商品的协同过滤
协同过滤(Collaborative Filtering)技术,是推荐系统中应用最为广泛的技术之一,协同过滤算法主要有两种,一种是基于用户的协同过滤算法(UserBaseCF),另一种是基于物品的协同过滤算法(ItemBaseCF)。 基于用户的协同过滤:跟你喜好相似的人喜欢的东西你也很有可能喜欢。如图假设用户A喜欢商品A,C。用户B喜欢商品B。用户C喜欢商品A,C,D。我们可以发现用户A...原创 2018-08-17 23:16:21 · 2533 阅读 · 0 评论 -
协同过滤:基于用户的协同过滤,基于商品的协同过滤
如何推荐:协同过滤(Collaborative Filtering)技术,是推荐系统中应用最为广泛的技术之一,协同过滤算法主要有两种,一种是基于用户的协同过滤算法(UserBaseCF),另一种是基于物品的协同过滤算法(ItemBaseCF)。基于用户的协同过滤:跟你喜好相似的人喜欢的东西你也很有可能喜欢。如图假设用户A喜欢商品A,C。用户B喜欢商品B。用户C喜欢商品A,C,D。我们可...原创 2018-09-05 07:42:57 · 1267 阅读 · 0 评论 -
App应用推荐原理,以及冷启动问题的解决
App应用推荐原理:根据用户历史下载的App去找到与这个App相似的app,推荐给该用户。如何找到与此App相似的app?这就需要基于所有用户的下载历史计算挖掘出基于物品相似的矩阵。推荐架构:一般在做推荐系统时使用的架构如下图,左侧为推荐系统在线推荐部分,右侧为推荐系统模型离线训练部分,另外最下层是实时数据与离线数据结合部分。过程如下:离线部分:当用户访问application...原创 2018-09-05 07:43:16 · 1095 阅读 · 0 评论 -
决策树预剪枝和后剪枝
决策树预剪枝和后剪枝决策树对训练集有很好的分类能力,但是对于未知的测试集未必有好的分类能力,导致模型的泛化能力弱,可能发生过拟合问题,为了防止过拟合问题的出现,可以对决策树进行剪枝。剪枝分为预剪枝和后剪枝。预剪枝:就是在构建决策树的时候提前停止。比如指定树的深度最大为3,那么训练出来决策树的高度就是3,预剪枝主要是建立某些规则限制决策树的生长,降低了过拟合的风险,降低了建树的时间,但是有可...原创 2018-09-05 08:51:02 · 7628 阅读 · 0 评论 -
逻辑回归公式的推导
模型构建在介绍Logistic Regression之前我们先简单说一下线性回归,,线性回归的主要思想就是通过历史数据拟合出一条直线,用这条直线对新的数据进行预测,线性回归可以参考我之前的一篇文章。我们知道,线性回归的公式如下: z=θ0+θ1x1+θ2x2+θ3x3...+θnxn=θTxz=θ0+θ1x1+θ2x2+θ3x3...+θnxn=θTx 而对于Logistic ...原创 2018-09-05 16:28:22 · 277 阅读 · 0 评论 -
协同过滤与同现矩阵
协同过滤与同现矩阵:原创 2018-09-24 23:09:47 · 1970 阅读 · 0 评论 -
MapReduce部分练习使用其API编程(用户推荐,协同过滤,同现矩阵等)
在MapReduce中reduce的格式个分区的格式一样,也就是和partition的个数是一样的。1、package com.sxt.hadoop.itemcf;import java.util.HashMap;import java.util.Map;import org.apache.hadoop.conf.Configuration;public class Sta...原创 2018-09-24 22:44:02 · 398 阅读 · 0 评论 -
同现矩阵的概念(待完善)
同现矩阵:原创 2018-09-24 23:42:38 · 993 阅读 · 2 评论 -
逻辑回归
说到逻辑回归,可以先回顾下前期的文章《线性回归》。线性回归能够对连续值进行预测,如根据面积对房价进行预测。而在现实生活中,我们还有常见的另一类问题:分类问题。最简单的是二分类问题,即是与否的问题,如得病与否,交易是否合理,能否发放贷款,邮件是否垃圾邮件等。逻辑回归(logistic regression),虽然名字上有“回归”两字,但它实际应用的是处理分类问题(classification)。...原创 2018-10-28 12:57:58 · 437 阅读 · 0 评论 -
机器学习听课笔记(梯度下降法代码实现)
批量梯度下降:随机梯度下降: 学习率不能太大。当学习率增大的时候,迭代次数也需要同倍的变化。#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名: batch_gradient_descent.pyimport numpy as np__author__ = 'yasaka'X = 2 * np....原创 2018-10-28 20:06:31 · 569 阅读 · 0 评论 -
机器学习听课笔记(随机梯度下降)
随机梯度下降:就是每次从里边随机抽取一个数值 与前者相比较,速度回变得更快。 避免震荡,实际上就是减少了迭代次数。初始学习率是0.01. #!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名: stochastic_gradient_descent.py import numpy as np __auth...原创 2018-10-28 20:37:23 · 207 阅读 · 0 评论 -
机器学习听课笔记(alpha最优解)
原创 2018-10-28 21:32:41 · 824 阅读 · 0 评论 -
机器学习部分听课笔记(归一化问题)
最大最小值归一化方差归一化均值归一化 归一化问题: 归一化就是缩放,讲范围缩放在0——1之间。方差归一化:原创 2018-10-28 23:09:01 · 374 阅读 · 0 评论 -
标准归一化和最大最小归一化
原创 2018-10-28 23:40:49 · 4442 阅读 · 0 评论 -
归一化的作用
一:定义标准化是将不同变化范围的值映射到相同的固定范围中,常见的是 [0,1],此时亦称归一化,也可以是[-1,1]范围。二:形式1.min-max标准化也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数如下:2.Z-score标准化方法这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。...原创 2018-10-28 23:48:30 · 6190 阅读 · 0 评论 -
机器学习
原创 2018-10-27 20:39:11 · 177 阅读 · 0 评论 -
机器学习听课笔记(机器学习开发环境的配置)
python2.7或者python3.6安装python借助于anaconda安装配置anaconda环境变量安装numpy anaconda配置了一定python的算法包 anaconda来自于清华大学的开源软件镜像包。安装python并配置环境变量pycharm:不需要专业版,需要社区版就可以。 在pycharm中配置anaconda的环境变量。...原创 2018-10-27 16:58:31 · 275 阅读 · 1 评论 -
机器学习听课笔记(sklearn-learn介绍)
安装anaconda,封装了很多的库和包。regression介绍: 也就是MSE 总之:sklearn-learn就是类似于一个像numpy一样的模块,在python引用一些机器学习的算法的时候,可以调用。这也正是体现了python开发人工智能算法的便捷之处。即都是封装成module的形式,成为开源的,方便调用。前提是电脑安...原创 2018-10-27 19:39:52 · 173 阅读 · 1 评论 -
训练方法选择:SGD和L-BFGS,两者的区别为
训练逻辑回归的方法有:SGD和L-BFGS,两者的区别为:SGD:随机从训练集选取数据训练,不归一化数据,需要专门在外面进行归一化,支持L1,L2正则化,不支持多分类。L-BFGS:所有的数据都会参与训练,算法融入方差归一化和均值归一化。支持L1,L2正则化,支持多分类。 ...原创 2018-09-04 21:05:31 · 3583 阅读 · 0 评论 -
数据的归一化
归一化数据 老虎数量 麻雀数量 是否污染 2 50640 1 3 55640 0 1 62020 0 0 5...原创 2018-09-04 21:01:07 · 1887 阅读 · 0 评论 -
构建训练集:道路拥堵情况预测
道路拥堵情况预测构建训练集:每条道路的拥堵情况不仅和当前道路前一个时间点拥堵情况有关系,还和与这条道路临近的其他道路的拥堵情况有关。甚至还和昨天当前时间点当前道路是否拥堵有关联。我们可以根据这个规律,构建训练集,预测一条道路拥堵情况。假设现在要训练一个模型:使用某条道路最近三分钟拥堵的情况,预测该条道路下一分钟的拥堵情况。如何构建训练集?构建的训练集有什么样的特点,依靠训练集训练...原创 2018-09-04 17:43:07 · 3500 阅读 · 0 评论 -
机器学习部分项目:App应用推荐原理
App应用推荐原理:根据用户历史下载的App去找到与这个App相似的app,推荐给该用户。如何找到与此App相似的app?这就需要基于所有用户的下载历史计算挖掘出基于物品相似的矩阵。推荐架构:一般在做推荐系统时使用的架构如下图,左侧为推荐系统在线推荐部分,右侧为推荐系统模型离线训练部分,另外最下层是实时数据与离线数据结合部分。过程如下:离线部分:当用户访问application...原创 2018-08-17 23:34:27 · 1665 阅读 · 0 评论 -
机器学习部分:梯度下降法的三种形式BGD、SGD以及MBGD
在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点。下面我们以线性回归算法来对三种梯度下降法进行比较。一般线性回归函数的假设函数为:hθ=∑nj=0θjxjhθ=∑j=0nθjxj 对应的能量函数(损失函数)形式为:Jtrain(θ)=1/(2m)∑mi=1(hθ(x(i))−y(i...原创 2018-08-16 23:30:31 · 405 阅读 · 0 评论 -
机器学习部分:逻辑回归的优化
有无截距对于逻辑回归分类,就是找到z那条直线,不通过原点有截距的直线与通过原点的直线相比,有截距更能将数据分类的彻底。线性不可分问题对于线性不可分问题,可以使用升高维度的方式转换成线性可分问题。低维空间的非线性问题在高维空间往往会成为线性问题。 调整分类阈值在一些特定的场景下,如果按照逻辑回归默认的分类阈值0.5来进行分类的话,可能存在一些潜在的风险,比如,假如使用逻辑回...原创 2018-08-16 23:47:03 · 9229 阅读 · 1 评论 -
机器学习部分:(均值)标准归一化和最大最小(线性)归一化问题
归一化数据可以使各个特征维度对目标函数的影响权重一致,提高迭代的求解的收敛速度。1、线性函数归一化(Min-Max scaling)线性函数将原始数据线性化的方法转换到[0 1]的范围,归一化公式如下:该方法实现对原始数据的等比例缩放,其中Xnorm为归一化后的数据,X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值。缺点是抗干扰能力弱,受离群值影响比较大,中间容...原创 2018-08-16 23:55:41 · 27364 阅读 · 3 评论 -
机器学习部分:特征缩放
特征缩放(feature scaling)其中,特征缩放(feature scaling)大致的思路是这样的:梯度下降算法中,在有多个特征的情况下,如果你能确保这些不同的特征都处在一个相近的范围,这样梯度下降法就能更快地收敛。举个例子来说明:x1=size(0−2000)feet2x1=size(0−2000)feet2 x2=卧室的数量(1−5)x2=卧室的数量(1−5)假如你...原创 2018-08-16 23:58:44 · 457 阅读 · 0 评论 -
机器学习部分:均值归一化问题
均值归一化(mean normalization)除了在特征缩放中将特征除以最大值以外,有时候我们也会进行一个称为均值归一化(mean normalization)的工作。具体做法就是:如果你有一个特征xixi你就用xi−μixi−μi来替换。这样做的目的是为了让你的特征值具有为0的平均值。很明显 我们不需要把这一步应用到x0中,因为x0x0中,因为x0总是等于1的,所以它不可能有为0的的...原创 2018-08-16 23:59:04 · 1781 阅读 · 0 评论 -
Spark部分:Scala中 zip或者zipWithIndex的用法
使用zipWithIndex或者zip方法来自动地创建一个计数器,假设你有一个有序集合days,那么你可以使用zipWithIndex和counter来打印带有计数器的集合元素:scala> val days = Array("Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Sa原创 2018-08-16 23:59:21 · 1280 阅读 · 0 评论 -
机器学习部分:混淆矩阵问题(Confusion Matrix)
混淆矩阵是除了ROC曲线和AUC之外的另一个判断分类好坏程度的方法。对以上混淆矩阵的解释:P:样本数据中的正例数。N:样本数据中的负例数。Y:通过模型预测出来的正例数。N:通过模型预测出来的负例数。True Positives:真阳性,表示实际是正样本预测成正样本的样本数。Falese Positives:假阳性,表示实际是负样本预测成正样本的样本数。False...原创 2018-08-16 23:59:34 · 2900 阅读 · 0 评论 -
机器学习部分:ROC和AUC:
ROC(Receiver Operating Characteristic)曲线和AUC(Area Under the Curve)值常被用来评价一个二值分类器(binary classifier) 的优劣。ROC曲线是以假阳性率FPR为横轴,以真阳性率TPR为纵轴的一个曲线图像。图像中的每一点是一个分类阈值,根据一些连续的分类阈值可以得到ROC的图像,如下图:有20个样本,其中真实正例有10...原创 2018-08-17 20:01:00 · 1276 阅读 · 0 评论 -
机器学习部分:模型过拟合与模型欠拟合
模型过拟合训练模型都会将数据集分为两部分,一般会将0.8比例的数据集作为训练集,将0.2比例的数据集作为测试集,来训练模型。模型过拟合就是训练出来的模型在训练集上表现很好,但是在测试集上表现较差的一种现象,也就是模型对已有的训练集数据拟合的非常好(误差值等于0),对于测试集数据拟合的非常差,模型的泛化能力比较差。如何判断模型发生过拟合?训练出模型后,可以在训练集中测试下模型的正确率...原创 2018-08-31 14:22:07 · 373 阅读 · 0 评论 -
机器学习部分:条件概率、拉普拉斯估计
概率估计1引言假设在一次实验中,我们进行了n次独立试验,其中有r次成功。其余的试验(n-r)失败。这样的试验例如:掷硬币(例如,头像的面为成功),掷骰子(例如,六朝上为成功),篮球中的罚球投篮(一个得分点是成功),等等。 在这份报告中,我们将讨论以下问题:如何估计下次(第n +1次)试验成功的概率。此外,我们将特别关注样例大小足够小的情况。在这种情况下我们将讨论和比较三种方法:相对...原创 2018-09-04 08:01:49 · 3753 阅读 · 0 评论 -
hive严格模式和非严格模式的区别
hive严格模式 hive提供了一个严格模式,可以防止用户执行那些可能产生意想不到的不好的效果的查询。即某些查询在严格 模式下无法执行。 1)带有分区的表的查询 如果在一个分区表执行hive,除非where语句中包含分区字段过滤条件来显示数据范围,否则不允许执行。换句话说, 就是用户不允许扫描所有的分区。进行这个限制的原因是,通常分区表都拥有非常大的数...原创 2018-09-04 08:14:23 · 700 阅读 · 0 评论 -
机器学习部分:PV,UV的计算(Scala版本)
#coding:utf-8import sysfrom pyspark.conf import SparkConffrom pyspark.context import SparkContextfrom com.bjsxt.spark.wordcount import showResultprint(sys.getdefaultencoding())reload(sys)sys....原创 2018-09-01 16:37:20 · 929 阅读 · 0 评论 -
模型过拟合
训练模型都会将数据集分为两部分,一般会将0.8比例的数据集作为训练集,将0.2比例的数据集作为测试集,来训练模型。模型过拟合就是训练出来的模型在训练集上表现很好,但是在测试集上表现较差的一种现象,也就是模型对已有的训练集数据拟合的非常好(误差值等于0),对于测试集数据拟合的非常差,模型的泛化能力比较差。如何判断模型发生过拟合?训练出模型后,可以在训练集中测试下模型的正确率,在测试集中测试下...原创 2018-09-04 15:12:13 · 1363 阅读 · 0 评论 -
TF—IDF
TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文本频率)。TF指词频,IDF指的是逆文本频率。TF-IDF是一种用于信息检索与数据挖掘的常用加权技术,可以评估一个词在一个文件集或者一个语料库中对某个文件的重要程度。一个词语在一篇文章中出现的次数越多,同时在所有文章中出现的次数越少,越能够代表该文章的中心意思,这就是TF-...原创 2018-09-04 16:44:38 · 2072 阅读 · 0 评论 -
傅里叶变换:时域分析和品与分析
傅里叶变换:时域分析:对一个信号来说,信号强度随时间的变化的规律就是时域特性,例如一个信号的时域波形可以表达信号随着时间的变化。频域分析:对一个信号来说,在对其进行分析时,分析信号和频率有关的部分,而不是和时间相关的部分,和时域相对。也就是信号是由哪些单一频率的的信号合成的就是频域特性。频域中有一个重要的规则是正弦波是频域中唯一存在的波。即正弦波是对频域的描述,因为时域中的任何波形都可用正...原创 2018-09-04 17:11:18 · 1494 阅读 · 0 评论 -
机器学习听课笔记(梯度下降法详解)
指的是参数模型损失是MSE可以根据MSE求出cost的值,也就是求出斜率的值。 用梯度下降法求最优解。以上就是梯度下降法的流程。 求导函数: ...原创 2018-10-28 12:06:10 · 265 阅读 · 0 评论