regression

[Python]机器学习库scikit-learn实践

生来就可爱ヽ(ⅴ<●) 提交于 2020-05-07 21:35:51
原文地址https://blog.csdn.net/zouxy09/article/details/48903179,但里面使用Python2 写的,有些库在Python3已经不能用了,做了稍微的改变 1.Python3 没有cPickle import cPickle as pickle 改成 import pickle 2. Python3,默认的编码格式是utf-8, sys . setdefaultencoding 不存在了, 所以移除 reload(sys) sys.setdefaultencoding( ' utf8 ' ) 3. 把 train, val, test = pickle.load(f) 改成 train, val, test = pickle.load(f,encoding= ' bytes ' ) 否则会出现这样的错误 UnicodeDecodeError: ' ascii ' codec can ' t decode byte 0x90 in position 614: ordinal not in range(128) 安装 一、概述 机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得其中各算法理论,叫你喊上一两个著名算法的名字,你也能昂首挺胸脱口而出。当然了,算法之林虽大,但能者还是有限

CS231n笔记 Lecture 11, Detection and Segmentation

蹲街弑〆低调 提交于 2020-05-07 14:02:13
Other Computer Vision Tasks Semantic Segmentation. Pixel level, don't care about instances. Classification + Localization. Single object. Object Detection. Multiple object. Instance Segmentation. Multiple object. Semantic Segmentation Simple idea: sliding window, crop across the whole image, and ask what the center pixel is. Expensive. Fully Convoltional (Naive) : let the network to learning all the pixels at once, keep the spacial size, convolutions at original image resolution, expensive. Fully convolutional: Design network as a bunch of convolutional layers, with downsampling and upsampling

【论文笔记】Side-Aware Boundary Localization for More Precise Object Detection

雨燕双飞 提交于 2020-05-06 01:59:21
& 论文概述 获取地址: https://arxiv.org/abs/1912.04260 代码地址: https://github.com/open-mmlab/mmdetection & 总结与个人观点 本文提出Side-Aware Boundary Localization(SABL)以取代传统的bbox回归。提取关注于边界内容的边缘感知特征用来定位。提出使用该特征的轻量级two-step bucketing方法以精确定位目标。同时引入重打分(rescore)机制,利用bucket的置信度来保留高质量的bbox。在各种目标检测流程中,SABL均展现了一致且重大的性能提升。 本文通过对回归方法的分析,观察到更简单精确回归到边界框的方法,设计的整体框架很精巧,思路很清晰,而且每个方法的提出都很明确,值得一观。 & 贡献 使用Side-Aware Boundary Localization(SABL)取代之前的bbox regression分支,对bbox的每条边分别定位,提高了定位的精度; 使用Bucketing scheme进行细粒度目标定位以及对分类进行rescore,降低高精度bbox的抑制率; 在COCO数据集中,在Faster R-CNN、RetinaNet以及Cascade R-CNN的基础上替换回归分支,最终分别提升了3.0、1.6以及0.9个点。 & 拟解决的问题

Lasso回归算法: 坐标轴下降法与最小角回归法小结

假如想象 提交于 2020-05-05 19:29:42
    前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结 。里面对线程回归的正则化也做了一个初步的介绍。提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归。但是对于Lasso回归的解法没有提及,本文是对该文的补充和扩展。以下都用矩阵法表示,如果对于矩阵分析不熟悉,推荐学习张贤达的《矩阵分析与应用》。 1. 回顾线性回归      首先我们简要回归下线性回归的一般形式:     \(h_\mathbf{\theta}(\mathbf{X}) = \mathbf{X\theta}\)     需要极小化的损失函数是:     \(J(\mathbf\theta) = \frac{1}{2}(\mathbf{X\theta} - \mathbf{Y})^T(\mathbf{X\theta} - \mathbf{Y})\)     如果用梯度下降法求解,则每一轮\(\theta\)迭代的表达式是:     \(\mathbf\theta= \mathbf\theta - \alpha\mathbf{X}^T(\mathbf{X\theta} - \mathbf{Y})\)     其中\(\alpha\)为步长。     如果用最小二乘法,则\(\theta\)的结果是:     \( \mathbf{\theta} = (\mathbf{X

Lasso回归算法: 坐标轴下降法与最小角回归法小结

老子叫甜甜 提交于 2020-05-05 18:38:25
前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结 。里面对线程回归的正则化也做了一个初步的介绍。提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归。但是对于Lasso回归的解法没有提及,本文是对该文的补充和扩展。以下都用矩阵法表示,如果对于矩阵分析不熟悉,推荐学习张贤达的《矩阵分析与应用》。 1. 回顾线性回归      首先我们简要回归下线性回归的一般形式:      h θ ( X ) = X θ hθ(X)=Xθ     需要极小化的损失函数是:      J ( θ ) = 1 2 ( X θ − Y ) T ( X θ − Y ) J(θ)=12(Xθ−Y)T(Xθ−Y)     如果用梯度下降法求解,则每一轮 θ θ迭代的表达式是:      θ = θ − α X T ( X θ − Y ) θ=θ−αXT(Xθ−Y)     其中 α α为步长。     如果用最小二乘法,则 θ θ的结果是:      θ = ( X T X ) − 1 X T Y θ=(XTX)−1XTY 2. 回顾Ridge回归     由于直接套用线性回归可能产生过拟合,我们需要加入正则化项,如果加入的是L2正则化项,就是Ridge回归,有时也翻译为脊回归。它和一般线性回归的区别是在损失函数上增加了一个L2正则化的项

Lasso回归算法: 坐标轴下降法与最小角回归法小结

若如初见. 提交于 2020-05-05 17:47:15
    前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结 。里面对线程回归的正则化也做了一个初步的介绍。提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归。但是对于Lasso回归的解法没有提及,本文是对该文的补充和扩展。以下都用矩阵法表示,如果对于矩阵分析不熟悉,推荐学习张贤达的《矩阵分析与应用》。 1. 回顾线性回归      首先我们简要回归下线性回归的一般形式:     \(h_\mathbf{\theta}(\mathbf{X}) = \mathbf{X\theta}\)     需要极小化的损失函数是:     \(J(\mathbf\theta) = \frac{1}{2}(\mathbf{X\theta} - \mathbf{Y})^T(\mathbf{X\theta} - \mathbf{Y})\)     如果用梯度下降法求解,则每一轮\(\theta\)迭代的表达式是:     \(\mathbf\theta= \mathbf\theta - \alpha\mathbf{X}^T(\mathbf{X\theta} - \mathbf{Y})\)     其中\(\alpha\)为步长。     如果用最小二乘法,则\(\theta\)的结果是:     \( \mathbf{\theta} = (\mathbf{X

论文阅读

爷,独闯天下 提交于 2020-05-04 05:15:43
这是本文要讨论的论文: 背景 在基于模型的协同过滤技术(Model-Based CF)中,矩阵分解(matrix factorization, MF) 应用的最多。在 MF 中 user-item 矩阵被分解为 user 矩阵和 item 矩阵。user 和 item 都被映射到一个隐空间中,各自有一个隐向量。这个隐向量可以用来做基于近邻的推荐(计算隐向量的相似度),也可以使用 user 和 item 隐向量的内积,来预测该 user 对该 item 的评分。 user 和 item 的隐向量内积,可以用来确定 user 对 item 的评分。有了 user 对各个 item 的评分,自然可以对 item 进行排序,得出推荐。但本篇论文认为,简单地使用隐向量内积,不足以捕获到复杂的交互行为特征,即评分并不一定是隐向量之积。本文通过引入神经网络,来学习用户与物品的隐向量和评分的关系。 问题设定 本论文讨论的是隐式反馈协同过滤场景,关于显示反馈和隐式反馈,定义如下: 显式反馈:直接反应出用户的喜好的行为,比如评分。 隐性反馈:间接反应用户的喜好的行为,比如浏览、点击、搜索 隐式反馈的数据由 0 和 1 组成,1 不一定表示喜好,0 只表示用户尚未和该物品有过交互。设 $Y$ 为 user-item 矩阵,则 $y_{ui}=1$ 表示 user u 和 item i 存在交互信息,否则

论文阅读

…衆ロ難τιáo~ 提交于 2020-05-04 04:38:35
本文是我在阅读推荐系统经典论文 Item-Based Collaborative Filtering Recommendation Algorithms 时候记录的笔记。 协同过滤算法 协同过滤算法(collaborative filtering algorithm, CF)基于当前用户先前的行为(评分、购买记录等),以及与该用户相似的用户的行为,来给当前用户推荐其可能喜欢的物品(item),或者预测该用户对某物品的喜欢程度。 问题设定是有一组用户 $\mathcal{U}=\left{u_{1}, u_{2}, \ldots, u_{m}\right}$ 和一组物品 $\mathcal{I}=\left{i_{1}, i_{2}, \ldots, i_{n}\right}$,每个用户 $u_i$ 有一组购买、评价过的物品 $I_{u i}$。 这里的用户和物品信息可以构成 user-item 矩阵,用户对物品的交互信息,构成矩阵中的值。矩阵可以是二值的(买过 0、未买过 1),也可以是多值或连续值(用户对物品的评分)。利用这个矩阵,可以用来预测用户对其未交互过的物品的评价值或喜欢的概率,进而可以基于此为用户产生一组推荐。 传统的协同过滤算法会从不同角度进行细分。根据是否需要保存 user-item 矩阵,可以分为 Memory-based CF 和 Model-based CF

[CS224n笔记] L19 Safety, Bias, and Fairness

这一生的挚爱 提交于 2020-05-02 12:24:35
最近会逐步将博客上的 CS224n-2019 笔记搬到知乎上来,后续也会新增 CS224n-2020 里的更新部分:CS224n-2020 并未更新 Note 部分,但课程的部分课件进行了教学顺序上的调整与修改(Suggested Readings 也相应变动),需要注意的是三个 Guest Lecture 都是全新的。 本文为 Lecture 19 Safety, Bias, and Fairness 的笔记。 Useful links 课程官网: Stanford CS224n || Stanford CS224n-2019 课程材料: LooperXX/CS224n-Resource || LooperXX/CS224n-Reading-Notes 课程视频: YouTube 国内视频资源: 2019版|英文字幕(仍在更新) || 2019版|英文字幕(全) || 2017版|中英字幕 如有疏漏之处,还望不吝赐教~ Lecture 19 Safety, Bias, and Fairness Prototype Theory 分类的目的之一是减少刺激行为和认知上可用的比例的无限差异 物品的一些核心、原型概念可能来自于存储的对象类别的典型属性(Rosch, 1975) 也可以存储范例(Wu & Barsalou, 2009) Doctor —— Female Doctor

python利用决策树进行特征选择

走远了吗. 提交于 2020-05-02 11:01:23
python利用决策树进行特征选择(注释部分为绘图功能),最后输出特征排序: import numpy as np import tflearn from tflearn.layers.core import dropout from tflearn.layers.normalization import batch_normalization from tflearn.data_utils import to_categorical from sklearn.model_selection import train_test_split import sys import pandas as pd from pandas import Series,DataFrame import matplotlib.pyplot as plt data_train = pd.read_csv( " feature_with_dnn_todo2.dat " ) print(data_train. info ()) import matplotlib.pyplot as plt print(data_train.columns) """ for col in data_train.columns[ 1 :]: fig = plt.figure(figsize=( 20 , 16 ), dpi=