随笔分类 - Data Mining & ML

Deep Learning
摘要: http://www.deeplearningbook.org/ mark阅读全文

posted @ 2016-10-26 13:35 fxjwind 阅读(96) | 评论 (0) 编辑

Deep Learning Tutorial
摘要: http://www.slideshare.net/tw_dsconf/ss-62245351?qid=c0f0f97a-6ca8-4df0-97e2-984452215ee7&v=&b=&from_search=1 参考链接, Softmax 函数的特点和作用是什么? 如何直观的解释back propagation算法? 技术向:一文读懂卷积神经网络CNN 怎样通俗易懂地解释卷积...阅读全文

posted @ 2016-08-23 11:43 fxjwind 阅读(111) | 评论 (0) 编辑

Spark MLlib - Decision Tree源码分析
摘要: http://spark.apache.org/docs/latest/mllib-decision-tree.html 以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或random forest也是常以其为基础的 决策树算法本身参考之前的blog,其实就是贪婪算法,每次切分使得数据变得最为有序 那么如何来定义有序或无序? 无序,node impurity ...阅读全文

posted @ 2014-12-08 14:32 fxjwind 阅读(3862) | 评论 (0) 编辑

Machine Learning in Action – PCA和SVD
摘要: 降维技术, 首先举的例子觉得很好,因为不知不觉中天天都在做着降维的工作 对于显示器显示一个图片是通过像素点0,1,比如对于分辨率1024×768的显示器,就需要1024×768个像素点的0,1来表示,这里每个像素点都是一维,即是个1024×768维的数据。而其实眼睛真正看到的只是一副二维的图片,这里眼睛其实在不知不觉中做了降维的工作,把1024×768维的数据降到2维 降维的好处,显而易见...阅读全文

posted @ 2014-10-09 20:53 fxjwind 阅读(1019) | 评论 (0) 编辑

Machine Learning in Action -- FP-growth
摘要: 要解决的问题,频繁项集 最暴力的方法,就是遍历所有的项集组合,当然计算量过大 最典型的算法apriori, 算法核心思想,当一个集合不是频繁项集,那么它的超集也一定不是频繁项集 这个结论是很明显的,基于这样的思路,可以大大减少频繁项集的候选项 因为你只要发现一个集合非频繁项集,那么他所有的超集都可以忽略 但apriori算法的问题是,计算每个候选项的出现频率的时候都需要遍...阅读全文

posted @ 2014-09-28 12:53 fxjwind 阅读(431) | 评论 (0) 编辑

Machine Learning in Action -- 树回归
摘要: 前面介绍线性回归,但实际中,用线性回归去拟合整个数据集是不太现实的,现实中的数据往往不是全局线性的 当然前面也介绍了局部加权线性回归,这种方法有些局限 这里介绍另外一种思路,树回归 基本思路,用决策树将数据集划分成若干个子集,然后再子集上再用线性回归进行拟合 决策树是种贪心算法,最简单典型的决策树算法是ID3 ID3,每次都选取最佳特征来进行划分,并且按照特征的取值来决定划分的个数...阅读全文

posted @ 2014-09-12 16:57 fxjwind 阅读(654) | 评论 (0) 编辑

Machine Learning in Action -- 回归
摘要: 机器学习问题分为分类和回归问题 回归问题,就是预测连续型数值,而不像分类问题,是预测离散的类别 至于这类问题为何称为回归regression,应该就是约定俗成,你也解释不通 比如为何logistic regression叫逻辑回归,明明解决的是分类问题,而且和逻辑没有半点关系 谈到回归,最简单的就是线性回归 用直线去拟合数据点, 我们通常用平方误差来作为...阅读全文

posted @ 2014-09-05 16:42 fxjwind 阅读(363) | 评论 (0) 编辑

统计学习方法笔记 -- 隐马尔可夫模型
摘要: 参考,隐马尔可夫模型(HMM)攻略 首先看看确定的状态序列,这种状态序列中状态的变化是确定的,比如 红绿灯,一定是绿灯->红灯->黄灯,这样的状态序列 当然也有些不确定状态序列,比如 天气,今天是晴天,你不能确定明天也一定是晴天或雨天 于是我们用概率来表示这种不确定性,称为马尔可夫过程 (Markov Process),马尔可夫过程的阶数表示当前状态依赖于过去几个状态,出于...阅读全文

posted @ 2014-09-01 20:47 fxjwind 阅读(918) | 评论 (0) 编辑

Machine Learning in Action -- AdaBoost
摘要: 初始的想法就是,结合不同的分类算法来给出综合的结果,会比较准确一些 称为ensemble methods or meta-algorithms,集成方法或元算法 集成方法有很多种,可以是不同算法之间的,也可以是同一个算法但不同参数设置之间的,也可以是将数据集分成多分给不同的分类器之间的 总的来说,有3个维度可以进行集成,算法,算法参数和数据集 下面简单介绍两种比较流行的元算法思路, ...阅读全文

posted @ 2014-08-28 11:09 fxjwind 阅读(580) | 评论 (0) 编辑

统计学习方法笔记 -- Boosting方法
摘要: AdaBoost算法 基本思想是,对于一个复杂的问题,单独用一个分类算法判断比较困难,那么我们就用一组分类器来进行综合判断,得到结果,“三个臭皮匠顶一个诸葛亮” 专业的说法, 强可学习(strongly learnable),存在一个多项式算法可以学习,并且准确率很高 弱可学习(weakly learnable),存在一个多项式算法可以学习,但准确率略高于随机猜测 并且可以证明强可学习...阅读全文

posted @ 2014-08-26 16:11 fxjwind 阅读(532) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control
摘要: 网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比如下棋或直升机自动驾驶 无法确切知道,下一步怎么样是正确的,因为这是一个连续和序列化的决策,比如直到最终直升机crash或下棋输了,你才知道之前的选择是不好的,但中间那么多步决策,到底...阅读全文

posted @ 2014-08-21 16:55 fxjwind 阅读(718) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记–Independent Components Analysis
摘要: 网易公开课,第15课 notes,11 参考, PCA本质是旋转找到新的基(basis),即坐标轴,并且新的基的维数大大降低 ICA也是找到新的基,但是目的是完全不一样的,而且ICA是不会降维的 对于ICA,最经典的问题,“鸡尾酒会”问题 在鸡尾酒会,上很多人同时在说话,还有背景音乐,如果我们放若干个话筒进行声音采集 是否可以从采集到的数据中,分离出每个人独立的声音 假设...阅读全文

posted @ 2014-08-15 16:40 fxjwind 阅读(297) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)
摘要: 网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Components Analysis (PCA), 比Factor Analysis更为直接,计算也简单些 参考,A Tutorial on Principal Component Analysi...阅读全文

posted @ 2014-08-13 15:59 fxjwind 阅读(701) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 – Factor Analysis
摘要: 网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量,浓缩成少数几个因子变量 原始变量,代表浅层的表面现象,所以一定是很多和繁杂的 而因子变量,是代表深层的本质,因,是无法直接观察到的 所以因子分析,就是拨开现象发现本质的...阅读全文

posted @ 2014-08-07 15:49 fxjwind 阅读(866) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- Mixtures of Gaussians and the EM algorithm
摘要: 网易公开课,第12,13课 notes,7a, 7b,8 从这章开始,介绍无监督的算法 对于无监督,当然首先想到k means, 最典型也最简单,有需要直接看7a的讲义 Mixtures of Gaussians 如果要理解Mixtures of Gaussians,那先回去复习一下Gaussians Discriminant Analysis,高斯判别分析 首先高斯判别...阅读全文

posted @ 2014-08-07 00:31 fxjwind 阅读(584) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- Online Learning
摘要: 网易公开课,第11课 notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf 和之前看到的batch learning算法不一样,batch learning一定是先用训练集进行训练,然后才进行预测 但是online learning,不必要一定有训练的过程,可以一边预测的同时一边训练 这个其实很现实,系统上线前也许很难收集到数...阅读全文

posted @ 2014-08-02 23:19 fxjwind 阅读(981) | 评论 (0) 编辑

Machine Learning in Action -- Support Vector Machines
摘要: 虽然SVM本身算法理论,水比较深,很难懂 但是基本原理却非常直观易懂,就是找到与训练集中支持向量有最大间隔的超平面 形式化的描述: 其中需要满足m个约束条件,m为数据集大小,即数据集中的每个数据点function margin都是>=1,因为之前假设所有支持向量,即离超平面最近的点,的function margin为1 对于这种有约束条件的最优化问题,用拉格朗日定理,于是得到如下的形式...阅读全文

posted @ 2014-07-24 16:43 fxjwind 阅读(271) | 评论 (0) 编辑

Machine Learning in Action -- Logistic regression
摘要: 这个系列,重点关注如何实现,至于算法基础,参考Andrew的公开课 相较于线性回归,logistic回归更适合用于分类 因为他使用Sigmoid函数,因为分类的取值是0,1 对于分类,最完美和自然的函数,当然是Heaviside step function,即0-1阶跃函数,但是这个函数中数学上有时候比较难处理 所以用Sigmoid函数来近似模拟阶跃函数, 可以看到Sigmo...阅读全文

posted @ 2014-07-22 14:32 fxjwind 阅读(312) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- Regularization and Model Selection
摘要: 网易公开课,第10,11课 notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf Model Selection 首先需要解决的问题是,模型选择问题,如何来平衡bais和variance来自动选择模型?比如对于多项式分类,如何决定阶数k,对于locally weighted regression如何决定窗口大小,对于SVM如何...阅读全文

posted @ 2014-06-25 20:21 fxjwind 阅读(575) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- 学习理论
摘要: 网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法 Bias/variance tradeoff 还是用这组图,学习算法追求的是generalization error(对未知数据的预测误差),而不是training error(只是对训练集) ...阅读全文

posted @ 2014-06-06 14:08 fxjwind 阅读(1185) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- 支持向量机
摘要: 网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考 先继续前面对线性分类器的讨论, 通过机器学习算法找到的线性分类的线,不是唯一的,对于一个训练集一般都会有很多线可以把两类分开,这里的问题是我们需要找到best的那条线 首先需要定义Ma...阅读全文

posted @ 2014-04-24 16:02 fxjwind 阅读(2066) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- 朴素贝叶斯算法
摘要: 网易公开课,第5,6课 notes,http://cs229.stanford.edu/notes/cs229-notes2.pdf 前面讨论了高斯判别分析,是一种生成学习算法,其中x是连续值 这里要介绍第二种生成学习算法,Naive Bayes算法,其中x是离散值的向量 这种算法常用于文本分类,比如分类垃圾邮件 首先,如何表示一个文本,即x? 以上面这种向量来表示...阅读全文

posted @ 2014-04-23 18:08 fxjwind 阅读(771) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- Generative Learning algorithms
摘要: 网易公开课,第5课 notes,http://cs229.stanford.edu/notes/cs229-notes2.pdf 学习算法有两种,一种是前面一直看到的,直接对p(y|x; θ)进行建模,比如前面说的线性回归或逻辑回归,这种称为判别学习算法(discriminative learning algorithms) 另外一种思路,就是这里要谈的,称为生成学习算法(genera...阅读全文

posted @ 2014-04-08 18:24 fxjwind 阅读(938) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- Generalized Linear Models
摘要: 网易公开课,第4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面介绍一个线性回归问题,符合高斯分布 一个分类问题,logstic回归,符合伯努利分布 也发现他们有些相似的地方,其实这些方法都是一个更广泛的模型族的特例,这个模型族称为,广义线性模型(Generalized Linear Models,GLMs)...阅读全文

posted @ 2014-04-03 17:52 fxjwind 阅读(772) | 评论 (0) 编辑

Andrew Ng机器学习公开课笔记 -- Logistic Regression
摘要: 网易公开课,第3,4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来作为损失函数 下面继续讨论分类问题,分类问题和回归问题不同在于Y的取值是离散的 我们先讨论最简单的binary classification,即Y的取值只有0和1 分类问题一般不会使...阅读全文

posted @ 2014-03-28 18:38 fxjwind 阅读(1593) | 评论 (1) 编辑

Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降
摘要: 网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个例子,比如,想用面积和卧室个数来预测房屋的价格 训练集如下 首先,我们假设为线性模型,那么hypotheses定义为 , 其中x1,x2表示面积和#...阅读全文

posted @ 2014-03-26 17:40 fxjwind 阅读(5311) | 评论 (4) 编辑

统计学习方法笔记 -- 决策树
摘要: 决策树 什么是决策树? 决策树可以看成一系列if-then的规则,这个很好理解 也可以看成是条件概率分布, X为特征,x1,x2 Y为分类,1,-1 那么对于每个叶节点,相当于对于每个经过的中间结点的条件概率 当x1=a,x2=b的时候为1分类的概率>0.5,则认为是1分类 决策树学习 决策树学习的本质是从训练数据集上归纳出一组分类规则...阅读全文

posted @ 2014-03-25 15:41 fxjwind 阅读(1027) | 评论 (0) 编辑

统计学习方法笔记 -- 朴素贝叶斯
摘要: 贝叶斯定理(Bayes theorem) 这是关于“逆概”或“后验概率”的定理,之所以需要这个定理是因为后验概率是以“果”来推导“因”,所以往往难以直接统计出。 但是后验概率却非常重要,因为在现实生活中,往往都只能观测到一些表面的“果”,需要去推断“因”。 而bayes定理就给出一种计算后验概率的方法。 以例子来说明,一个班级中n个学生,有男生也有女生 两个featu...阅读全文

posted @ 2014-03-20 14:24 fxjwind 阅读(400) | 评论 (0) 编辑

统计学习方法笔记 -- KNN
摘要: K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是根据训练集中k个最近邻,通过多数表决的方式进行预测。所以模型需要保留所有训练集数据,而象感知机这样的模型只需要保存训练后的参数即可,训练集不需要保留 K近邻算法 K近邻法三要素 和...阅读全文

posted @ 2014-03-18 18:21 fxjwind 阅读(532) | 评论 (0) 编辑

统计学习方法笔记 -- 感知机
摘要: 感知机(perceptron),听着很牛比,其实就是二类分类的线性分类模型 属于判别模型,1957年由Rosenblatt提出,是神经网络和支持向量机的基础 任何统计机器学习都是三要素,只需要说清楚模型,策略和算法 感知机模型 感知机是一种线性分类模型。 假设空间是定义在特征空间中的线性分类模型或线性分类器,即函数集合 几何解释为, 线性方程,wx...阅读全文

posted @ 2014-03-18 15:03 fxjwind 阅读(720) | 评论 (0) 编辑

统计学习方法笔记 -- 概论
摘要: 统计学习方法是基于训练数据构建统计模型,从而对数据进行预测和分析。 统计学习分为,监督学习(supervised learning),非监督学习,半监督学习和强化学习(reinforcement learning),其中以监督学习最为常见和重要,所以这里只讨论监督学习 统计学习的过程如下, 1. 获取训练数据集合 2. 确定假设空间,即所有可能的模型的集合 3. 确定模型选择...阅读全文

posted @ 2014-03-14 18:25 fxjwind 阅读(1502) | 评论 (3) 编辑

大数据处理中基于概率的数据结构
摘要: Probabilistic Data Structures for Web Analytics and Data Mining对于big data经常需要做如下的查询和统计,Cardinality Estimation (基数或势), 集合中不同元素的个数, 比如, 独立访客(Unique Visitor,简称UV)统计Frequency Estimation, 估计某个element重复出现次数, 比如, 某个用户对网站访问次数Heavy Hitters, top-k elements, 比如, 销量top-100的商铺Range Query, 比如找出年龄在20~30之间的用户Member阅读全文

posted @ 2013-08-29 15:21 fxjwind 阅读(3195) | 评论 (4) 编辑

SentiAnalysis
摘要: “Opinion Lexicon” Based 1. Refer to the “Mining Twitter for Airline Consumer Sentiment”(1) Loading twitter data into R with twitterR package Loading Hu and Liu’s “opinion lexicon”(2), nearly 6,800 ...阅读全文

posted @ 2012-03-31 16:09 fxjwind 阅读(368) | 评论 (0) 编辑

Mining the Social Web
摘要: Introduction: Hacking on Twitter Data鉴于个人对于python, Twitter, 甚至NLTK都非常熟悉, 我就直接切入主题.从Twitter数据中, 我们可以关注两个问题,What are people talking about right now?Extracting relationships from the tweets并且作为一个data scientist, 我们还要关注data visulization.What are people talking about right now?对于python的nlp问题, 我们可以借助nltk包来阅读全文

posted @ 2012-01-31 10:14 fxjwind 阅读(278) | 评论 (0) 编辑

Mining of Massive Datasets – Link Analysis
摘要: 5.1 PageRank5.1.1 Early Search Engines and Term SpamAs people began to use search engines to find their way around the Web, unethical people saw the opportunity to fool search engines into leading people to their page.Techniques for fooling search engines into believing your page is about something 阅读全文

posted @ 2011-09-06 15:49 fxjwind 阅读(183) | 评论 (0) 编辑

Mining of Massive Datasets – Mining Data Streams
摘要: Most of the algorithms described in this book assume that we are mining a database. That is, all our data is available when and if we want it. In this chapter, we shall make another assumption: data...阅读全文

posted @ 2011-08-31 14:48 fxjwind 阅读(206) | 评论 (0) 编辑

Bloom Filter Python
摘要: http://bitworking.org/news/380/bloom-filter-resourcesThe Bloom filter, conceived by Burton H. Bloom in 1970, is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set. False positives are possible, but false negatives are not. Elements can be adde阅读全文

posted @ 2011-08-30 10:20 fxjwind 阅读(511) | 评论 (0) 编辑

Mining of Massive Datasets – Data Mining
摘要: 1 What is Data Mining? The most commonly accepted definition of “data mining” is the discovery of “models” for data. 1.1 Statistical Modeling Statisticians were the first to use the term “data m...阅读全文

posted @ 2011-08-29 15:00 fxjwind 阅读(342) | 评论 (0) 编辑

Mining of Massive Datasets – Finding similar items
摘要: 在前面一篇blog中 (http://www.cnblogs.com/fxjwind/archive/2011/07/05/2098642.html), 我记录了相关的海量文档查同问题, 这儿就系统的来记录一下对于大规模数据挖掘技术而言, 怎样finding similar items……1 Applications of Near-Neighbor SearchThe Jaccard similarity of sets S and T is |S ∩ T |/|S ∪ T |, that is, the ratio of the size of the intersection of S 阅读全文

posted @ 2011-08-24 09:44 fxjwind 阅读(399) | 评论 (0) 编辑

Filtering microblogging messages for Social TV
摘要: 论文摘要, Filtering microblogging messages for Social TV, A Bootstrapping Approach to Identifying Relevant Tweets for Social TVSocial TV was named one of the ten most important emerging technologies in 2010 by the MIT Technology Review.Social Television is a general term for technology that supports com阅读全文

posted @ 2011-08-02 17:30 fxjwind 阅读(125) | 评论 (0) 编辑

海量文档查同或聚类问题 -- Locality Sensitive Hash 算法
摘要: 考虑一下这个场景 , 使用网络爬虫高速爬取大量的网页内容 , 如果想把这些网页进行实时聚类 , 并从中提取每个网页聚类的主题 . 我们应该怎么样去做 对于普通或常见的聚类算法 , 比如 K-means, 或 Hierarchical 聚类 , 无法适用于这个常见 , 对于这些聚类算法无法进行 incremental 聚类 , 即在聚类开始前必须知道整个数据集 , 而这个场景中的数据集是随着爬虫不断增多的 . 而且这些聚类算法的 performance 不够高 , 比如对于 K-means 需要不断的 partition 以达到比较好的聚类效果 . 所以向来聚类算法在我的印象中是低效的 , 而面阅读全文

posted @ 2011-07-05 20:53 fxjwind 阅读(1629) | 评论 (0) 编辑

Programming Collecive Intelligence 笔记 Making Recommendations
摘要: 现在recommendation是非常普遍的一项技术, 在网上购物Amazon会推荐你可能感兴趣的商品,在电影,音乐网站,会推荐你可能喜欢的音乐或电影。那么这儿就来看看,这些推荐是怎么样实现的Collaborative Filtering 日常生活中,最简单的获取推荐的方法就是问朋友,你可能知道某些朋友的品位比较高,爱好和你比较相像。不过这种方法并不是一直管用,因为朋友知道的毕竟是很有限的, 相信每个人都会有很纠结不知道去哪儿吃饭,或不知道什么商品更值得买的时候。那么这时候就需要一个Collaborative Filtering算法,A collaborative filtering algo阅读全文

posted @ 2011-07-04 21:02 fxjwind 阅读(102) | 评论 (0) 编辑

Extracting Information from Text With NLTK
摘要: 因为现实中的数据多为‘非结构化数据’,比如一般的txt文档,或是‘半结构化数据’,比如html,对于这样的数据需要采用一些技术才能从中提取 出有用的信息。如果所有数据都是‘结构化数据’,比如Xml或关系数据库,那么就不需要特别去提取了,可以根据元数据去任意取到你想要的信息。那么就来讨论一下用NLTK来实现文本信息提取的方法,first, the raw text of the document is split into sentences using a sentence segmenter, and each sentence is further subdivided into word阅读全文

posted @ 2011-07-04 20:52 fxjwind 阅读(230) | 评论 (0) 编辑

Classify Text With NLTK
摘要: Classification is the task of choosing the correct class label for a given input.A classifier is called supervised if it is built based on training corpora containing the correct label for each input.这里就以一个例子来说明怎样用nltk来实现分类器训练和分类一个简单的分类任务,给定一个名字,判断其性别,就是在male,female两类进行分类好,先来训练,训练就要有corpus,就是分好类的名字的阅读全文

posted @ 2011-07-04 20:48 fxjwind 阅读(303) | 评论 (0) 编辑

POS Tagging with NLTK
摘要: POS tagging :part-of-speech tagging , or word classes or lexical categories . 说法很多其实就是词性标注。那么用nltk的工具集的off-the-shelf工具可以简单的对文本进行POS tagging>>> text = nltk.word_tokenize("And now for something completely different")>>> nltk.pos_tag(text)[(''And'', ''阅读全文

posted @ 2011-07-04 20:46 fxjwind 阅读(623) | 评论 (0) 编辑

公告

统计

  • 随笔 - 383
  • 文章 - 0
  • 评论 - 192