1.极限——例子_3

通过极限第一篇文章的认识,希望你能对极限的概念有大概了解。本文章我们继续来做题:

当x趋近-1, (\frac{2x+2 }{x+1}) 的极限是多少?

_{}^{}\lim_{x \to -1}(\frac{2x+2 }{x+1})

如果我直接把x的值代入表达式,会怎么样呢?结果是无定义,因为分母为0。

现在我们来看看如果有极限的概念能不能得到一个好的答案来求出它接近于几。

首先画个图,我想这会让你直观的理解,我们在做什么。先简化一下表达式:2x+2 = 2(x+1),最后变成以下:

\frac{2(x+1) }{x+1}

只要上面的表达式都不为0,这实际上就会变成,假定这是f(x)等于上面的表达式,除了x=-1以外可以消掉x+1,剩下2。

所以f(x)等于:当x≠-1时,f(x)=2;

                         当x=-1时,Undefined;

现在根据上面条件来画图:

x是除了-1外的任何值时,f(x)的值等于2,在-1处,曲线无定义(红色圆圈)。

如果我们计算极限,可以看到,当x从左边蓝色箭头开始,f(x)等于多少?实际等于2。

类似的,当x从右边蓝色箭头开始,f(x)等于多少?实际等于2。

当x趋近-1时:

\lim_{x \to -1}(\frac{2x+2 }{x+1})=2

以上不是很正式的证明了这个表达式的极限为2。

现在我教给你们一种分析的方法,这实际上是代数课里会讲到的内容,你们尝试化简表达式。

以上所讲的不是正式的解法。但只要你不被要求用正式解法做,实际上可能只会被问到极限值是多少,那么就可以。

另一种可用的方法就是用计算器试一下,例如f(-1.001)是多少?f(-0.999)是多少?

因为那么要做的是找出当x不断接近-1时,函数值接近多少,所以可以持续地逼近-1,看看函数趋近于多少,这个例子是2。


再举个例子:

当x趋近0时,\frac{1}{x} 的极限是多少?

\lim_{x \to 0}\frac{1}{x}

我想画图可能会对你更有帮助,因为它给你们一个视觉上的引导,两种方法都做一下。

用选点法来做,因为那样会给你们直观的认识,也会帮助我绘图:

f(x)=\frac{1}{x}

我们想找出x接近0时的极限,那么我们画个表格:

Xf(x)
0Undefine
-0.01-100
-0.001-1000
0.01100
0.0011000

当x=0时,我们不知道结果。f(x)无定义。

当x=-0.01时,也就是1/-0.01等于-100。

当x=-0.001时,也就是1/-0.001等于-1000。我们正在从负方向向0一步一步的逼近极限。

当x=0.01时,就能够得到100。

当x=0.001时,就能够得到1000。

当x从负方向接近0时,我们得到越来越大的,或者可以说越来越小的负数。

我把它画出来让你们看一下图是怎么样的,因为这图可以很好地表示曲线的大概样子:

当x从正方向逼近0时1/x的极限:

\lim_{x \to 0^{+}}\tfrac{1}{x}=\infty

也就是上图中的右边的半条曲线是x从正方向接近0,这个表达式值为正无穷。

当x从负方向逼近0时1/x的极限:

\lim_{x \to 0^{-}}\tfrac{1}{x}=-\infty

也就是上图中的左边的半条曲线是x从负方向接近0,这个表达式值为负无穷。

因为当从两个方向逼近时,y得到两个不同的值,极限实际上是无定义的。

我的意思是,可以说从正方向逼近,极限是正无穷。从负方向逼近,是负无穷。

但如果极限有定义,两边的值必须相等,所以这里的极限无定义:

\lim_{x \to 0}\tfrac{1}{x}=Undefined


——请不断重复练习、练习、练习、再练习。。。

### Python 实现核极限学习机(KELM) #### 导入库 要实现核极限学习机(Kernel Extreme Learning Machine),首先需要导入必要的库: ```python import numpy as np from sklearn.base import BaseEstimator, RegressorMixin from scipy.linalg import pinv2 ``` 这些库提供了矩阵运算以及机器学习框架的支持。 #### 定义 KELM 类 定义一个继承自 `BaseEstimator` 和 `RegressorMixin` 的类来封装 KELM 算法逻辑: ```python class KernelELM(BaseEstimator, RegressorMixin): def __init__(self, n_hidden=10, alpha=1.0, random_state=None): self.n_hidden = n_hidden self.alpha = alpha self.random_state = random_state @staticmethod def _transform(X, W, b): H = np.dot(X, W.T) + b return np.tanh(H) def fit(self, X, y): rs = np.random.RandomState(self.random_state) # 初始化权重和偏置项 W = rs.uniform(-1., 1., size=(self.n_hidden, X.shape[1])) b = rs.uniform(-0.1, 0.1, size=self.n_hidden) # 计算隐层输出矩阵H H = self._transform(X, W, b).T # 添加正则化项计算β I = np.eye(H.shape[0]) beta = np.dot(pinv2(np.dot(H, H.T) + self.alpha * I), np.dot(H, y.reshape(-1, 1))) self.W_ = W self.b_ = b self.beta_ = beta.flatten() return self def predict(self, X): H = self._transform(X, self.W_, self.b_.reshape(-1, 1)).T pred_y = np.dot(self.beta_.T, H) return pred_y.ravel() ``` 上述代码实现了基本的 KELM 模型结构,其中包含了模型初始化、训练(`fit`)方法以及预测(`predict`)方法[^1]。 #### 使用示例 下面是一个简单的例子展示如何使用上面定义好的 KELM 进行回归任务: ```python if __name__ == "__main__": from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error # 创建模拟数据集 X, y = make_regression(n_samples=1000, noise=8.) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.2, shuffle=True) # 构建并训练 KELM 模型 kelm = KernelELM(n_hidden=50, alpha=0.01, random_state=42) kelm.fit(X_train, y_train) # 预测新样本标签值 predictions = kelm.predict(X_test) mse = mean_squared_error(y_test, predictions) print(f'Mean Squared Error on Test Set: {mse:.4f}') ``` 这段脚本展示了完整的流程——从创建虚拟的数据集到最终评估模型性能。这里采用了均方误差(MSE)作为评价指标[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值