QzmVc1

Standing on Shoulders of Giants.

0%

一、简介

处理地理数据经常会涉及到地理编码的问题。地理编码指的是将地理信息转化成坐标关系的过程。分为正向和反向的编码。正向的是指将地址信息转换为坐标点,比如:武汉市武汉大学–>(114.3594147, 30.5401222);反向地理编码就是将地理坐标转换为具体的地址,是一个与前面相反的过程。

基于Python的地理编码库geopy 是用于地理编码的常用工具,使用它可获取多种地图服务的坐标。Python开发者可以使用geopy很容易的获取全球的某个街道地址,城市,国家和地块的地理坐标,它是通过第三方的地理编码器和数据源来解析的。

主要有以下几个功能:

  1. 地理编码:将字符串转换为地理位置
  2. 逆地理编码:用于将地理坐标转换为具体地址
  3. 计算两个点的距离:经纬度距离和球面距离
阅读全文 »

一、前言

最近在使用人脸识别FaceNet碰到了些训练上的速度问题,特来此记录下配置Tensorflow-GPU环境的过程,防止以后还需要用到。

自己的环境:

操作系统: Windows 10

GPU: GTX1050+CUDA9.0+cuDNN

Python: Version 3.7

深度学习框架:tensorflow-gpu

注意:CUDA 选择安装的版本一定要和你电脑上的显卡信息相匹配,否则tensorflow-gpu会报错!!!

阅读全文 »

一、常用的线性规划求解器

  • Excel
  • Lingo
  • Matlab

二、Python interface for optimization

  • Pulp
    • LP Modules
  • OpenOpt
    • LP Modules
    • non-LP Modules
阅读全文 »

Seaborn简介

Seaborn是一个用Python制作统计图形的库。它建立在matplotlib之上,并与pandas数据结构紧密集成。

以下是seaborn提供的一些功能:

  • 面向数据集的API,用于检查多个变量之间的关系
  • 专门支持使用分类变量来显示观察结果或汇总统计数据
  • 可视化单变量或双变量分布以及在数据子集之间进行比较的选项
  • 不同类型因变量的线性回归模型的自动估计和绘图
  • 方便地查看复杂数据集的整体结构
  • 用于构建多绘图网格的高级抽象,可让您轻松构建复杂的可视化
  • 简洁的控制matplotlib图形样式与几个内置主题
  • 用于选择调色板的工具,可以忠实地显示数据中的模式
  • Seaborn旨在使可视化成为探索和理解数据的核心部分。其面向数据集的绘图功能对包含整个数据集的数据框和数组进行操作,并在内部执行必要的语义映射和统计聚合,以生成信息图。

Seaborn官方文档:<http://seaborn.pydata.org/


阅读全文 »

前言

监督学习问题无非就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是为了防止我们的模型过分拟合我们的训练数据。 因为参数太多,会导致我们的模型复杂度上升,容易产生过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型在“简单”的基础上最小化训练误差,这样得到的参数才具有较好的泛化性能,而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性。这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因,一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下,它肯定能更快的学习相应的任务。只是由于人和机器的交流目前还没有那么直接的方法,目前这个媒介只能由规则项来担当了。

阅读全文 »

前言

梯度下降法作为机器学习中较常使用的优化算法,其有着三种不同的形式:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)。其中小批量梯度下降法也常用在深度学习中进行模型的训练。接下来,我们将对这三种不同的梯度下降法进行理解。

为了便于理解,这里我们将使用只含有一个特征的线性回归来展开。此时线性回归的假设函数为:

\[h_{\theta}(x^{(i)})=\theta_1x^{(i)}+\theta_0\]

其中,\(i=1,2,\ldots,m\) 表示样本数。

对应的目标函数(代价函数) 即为:

\[J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2\]

阅读全文 »

引言

分类技术是机器学习和数据挖掘应用中的重要组成部分。在数据科学中,大约70%的问题属于分类问题。解决分类问题的算法也有很多种,比如:KNN算法,使用距离计算来实现分类;决策树,通过构建直观易懂的树来实现分类;朴素贝叶斯,使用概率论构建分类器。本篇谈到的是Logistic回归,它是一种很常见的用来解决二元分类问题的方法。

逻辑回归(Logistic Regression,简称LR),虽然它的名字中带有“回归”两个字,但是它最擅长处理的却是分类问题。 LR分类器适用于各项广义上的分类任务,例如:评论信息的正负情感分析(二分类)、用户点击率(二分类)、用户违约信息预测(二分类)、垃圾邮件检测(二分类)、疾病预测(二分类)、用户等级分类(多分类)等场景。我们这里主要讨论的是二分类问题,解决了二分类自然就解决了多分类,因为N分类问题可以转化成N个二分类问题。

阅读全文 »

前言

首先强烈推荐《Python神经网络编程》这本书!!通俗易懂而且两天左右就能看完!!

—————————————— 分割线 ——————————————

激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题。

阅读全文 »