强类型与弱类型

1 定义

强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。

2 语言分类

强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是;类型安全的语言;

弱类型语言包括:VB,PHP,JavaScript等语言。其中VBScript是动态语言,是一种类型不安全的原

Read more

线性代数基础

1 Kronecker 乘积

两个矩阵的 Kronecker 乘积 kron(X,Y)X 的元素与 Y 的元素的所有可能乘积构成的较大矩阵。如果 X 为 m×n 且 Y 为 p×q,则 kron(X,Y) 为 mp×nq。元素以特定方式排列,呈现 X 的每个元素分别与整个矩阵 Y 相乘的结果。

X = [1   2 3   4];
I = eye(2,2);
kron(X,I)
% result
ans =

     1     0     2     0
     0     1     0     2
     3     0 

Read more

损失函数

1 损失函数的理解与区分

如何理解并区分误差(error)/损失(loss)/成本(cost)/目标(objective)函数?

  • 误差函数描述的是预测值与真实值的偏差:$y_{pred}-y_{true}$
  • 损失函数是对预测误差的负面影响的量化,比如平方误差损失认为3个单位的误差会导致9个单位的负面影响;损失函数通常是针对单个样本的描述
  • 损失函数是成本函数的一部分,成本函数通常是针对训练集的描述,既包含所有样本的损失,也包含针对模型复杂度的惩罚(正则项)
  • 成本函数是

Read more

特征工程

特征工程常用

常用特征处理:

  • 常见时间日期类特征:年/月/时、第几周/周次、是否周末、节假日、时差等
  • 日期类聚合特征:客户最活跃的月份、某类产品上周累计销售、特定客户的周末消费额等
  • 常用统计类特征:最值、均值、唯一值、偏度、峰度、KStat、分位数等

更多时序类衍生特征可参考1_study/Python/Python 数据处理/tsfresh 时序特征聚合工具

其他特征处理技巧:

  • 多项式特征(preprocessing.PolynomialFeatures
  • 分箱(数值型变量 转 类别型变量,pandas.cut
  • 对数化(修正存

Read more

基础神经元

一个典型的神经元

附件/Pasted image 20210902165153.png

  • Axon 轴突
  • Dendritic tress 树突
  • Axon hillock 轴突体

线性神经元

$$y = b+\sum_ix_iw_i$$ 附件/Pasted image 20210903141612.png

二进制阈值神经元

对线性加权运算的结果,进行阈值判定

$$z = b+\sum_ix_iw_i$$ $$\begin{equation} y = \left\{ \begin{array}{rl} 1 & \mbox{if } z \geq 0, \\ 0 &

Read more

词嵌入表示 Embeddings

词嵌入表示方法:应用 NLP 技术,将单词/Token 转化为向量的数值表示形式

随着 LLMs 的进步和发展,该技术也逐渐应用到图像、音频等非文本领域

传统嵌入表示

One-hot(独热)编码

One-hot(独热)编码过程:

  • 用 $N$ 维仅包含 0、1 值的向量去唯一地表示 $N$ 种词
  • 每个词编码后的向量包含 $N-1$ 个 0 和 1 个1

算法分析:

  • One-hot 编码简单实用,是很多进

Read more

集成算法

1 集成学习概述

核心思想:三个臭皮匠顶个诸葛亮

集成学习三步走

  1. 特征抽取
  2. 反复建模(弱学习器)
  3. 模型集成(强学习器)

1.1 模型集成的策略

1.1.1 平均法

最终的预测输出 = 若干个弱学习器的预测输出的平均

1.1.2 投票法

最终的预测输出 = 若干个弱学习器的预测输出的投票结果

  • 常见的几种投票法
  • 相对多数投票法:少数服从多数

Read more

树算法族

1 决策树

决策树通过树结构存储判断流程和规则,实现复杂规则的有效记录

一般来说,树的非叶节点存储了判断逻辑,并通过树分支表达多个判断结果 通过自上而下的多层逻辑判断,最终在叶节点输出预测的分类结果

决策树示例:

1.1 决策树ID3算法

ID3算法主要利用信息增益进行特征的选择,并通过递归方法构建特征

  • 从根节点开始,计算所有特征的信息增益
  • 选择信息增益最大的特征作为此节点的判断逻辑,并构建子节点
  • 对子节点递归地调用以上方法,直到最大信息增益过低或没有特征停止递归

Read more

回归算法族

1 线性回归

面对$N$个形式为$(x_i,y_i)$样本组成的样本集,线性回归就是为了寻找形式为$y_{N\times1}=X_{N \times d}\theta_{d\times 1}$的线性方程,使其能最大程度拟合样本,而第一步便是建立线性回归的损失函数/目标函数: $$Loss(\theta)= (y-X\theta)^T(y-X\theta) $$

其中$y$表示真实值,$X\theta$表示的预测值,所以损失函数$Loss(\theta)$表示的便是真实

Read more

梯度下降法族

1 梯度下降法-简单版

大部分机器学习模型的构建都是寻找最小损失函数的过程,而梯度下降法(Gradient Descent)便是一种常见迭代优化算法,用于寻找损失最小的参数解。

以简单二次函数为例进行算法的简单说明,模型形式

Read more