AI Technology Community

AIアルゴリズム
SVMアルゴリズム3theme
K-Nearest Neighborsアルゴリズム4theme
ランダムフォレストアルゴリズム6theme
ニューラルネットワークのアルゴリズム29theme
クラスタリングアルゴリズム11theme
ベイジアンアルゴリズム1theme
決定木アルゴリズム2theme
線形回帰8theme
AIコードのケーススタディ
ニューラルネットワーク1theme
Python
Python入門11theme
Pythonの基本データ型26theme
Pythonの関数6theme
Pythonのモジュールとパッケージ10theme
Pythonのファイル操作14theme
Pythonの例外処理7theme
Pythonのクラスとオブジェクト10theme
Pythonのマルチスレッドとマルチプロセス10theme
Pythonのネットワークプログラミング5theme
PythonのScrapyクローラーフレームワーク0theme
PythonのFlaskフレームワーク0theme
PythonでRedisを操作0theme
PythonのTkinterライブラリ0theme
PythonのwxPythonライブラリ0theme
PythonのPyQt5ライブラリ0theme
PythonのMatplotlibライブラリ0theme
PythonのNumPyライブラリ0theme
コミュニティのお知らせ
お知らせ3theme
データセット
データセット応用コミュニティ5theme
ChatGPT
ChatGPTの登録と使用0theme
モデルコミュニティ
人工知能モデルコミュニティ3theme
625浏览
4点赞
KNNアルゴリズム(K最隣接アルゴリズム)の詳細
K近傍法の核心的な数学的知識は距離の計算と重みの計算です。私たちは予測対象の点を中心点として、その周囲の一定半径内にある既知の点との距離を計算し、上位k個の点を選び出して投票を行います。このk個の点の中で、どのクラスの点が多いかによって、その予測点はそのクラスに属すると判定されます。
02-16 23:45
1299浏览
1点赞
KNNアルゴリズムの長所と短所
利点:簡単で、理解しやすく、モデリングや訓練が不要で、実装しやすい;希少事象の分類に適している;多クラス分類問題に適しており、例えば遺伝子特徴に基づいてその機能分類を判断する場合、kNNはSVMよりも性能が良い。欠点:怠惰アルゴリズムで、メモリオーバーヘッドが大きく、テストサンプルの分類時の計算量が多く、性
12-10 23:29
503浏览
0点赞
KNNアルゴリズムの流れ
KNNアルゴリズムの流れ:テストデータと各訓練データ間の距離を計算する;距離の昇順にソートする;距離が最も小さいK個の点を選ぶ;上位K個の点が属するクラスの出現頻度を確定する;上位K個の点の中で最も出現頻度の高いクラスをテストデータの予測分類として返す。下の図にはKN
12-10 23:28
588浏览
0点赞
ランダムな森のPython実現
Pythonの2つのモジュール、pandasとscikit - learnをそれぞれ利用してランダムフォレストを実装します。from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier import pandas as pd import numpy as np iris = load_iris() df
12-06 16:48
707浏览
3点赞
ランダム森林の動作原理の説明の簡単な例
説明:既存の訓練セットに基づいて対応するランダムフォレストを生成しました。ランダムフォレストは、ある人の年齢(Age)、性別(Gender)、学歴(Highest Educational Qualification)、職種(Industry)、居住地(Residence)という5つの要素をどのように利用するのでしょうか"
12-06 16:43
548浏览
0点赞
ランダム森林の生成
先ほど述べたように、ランダムフォレストには多くの分類木があります。入力サンプルを分類する場合、その入力サンプルを各木に入力して分類を行う必要があります。分かりやすい例えをすると、森の中で会議が開かれ、ある動物がネズミなのかリスなのかを議論し、各木は独立して自分自身の意見を述べる必要があります。
12-06 16:43
528浏览
0点赞
ランダムな森に関する基礎知識
ランダムフォレストは一見理解しやすいように見えますが、その仕組みを完全に理解するには、機械学習に関連する多くの基礎知識が必要です。この記事では、簡単に触れるだけで詳細な説明は省略します。関連知識があまりわからない方は、他のブロガーの関連するブログ記事を参照してください。
12-06 16:43
797浏览
0点赞
ランダムな森の特徴
私たちは先ほど、ランダムフォレストは非常に柔軟で実用的な方法であり、以下のいくつかの特徴があると述べました。現在のすべてのアルゴリズムの中で、極めて高い精度を持っています/現在のアルゴリズムの中で精度が群を抜いています;大規模なデータセットでも効率的に動作します/効率的に実行されます
12-06 16:42
564浏览
0点赞
ランダムな森とは?
新しく興り、高度に柔軟な機械学習アルゴリズムとして、ランダムフォレスト(Random Forest、略称RF)は広範な応用前景を持っています。マーケティングから医療保険まで、マーケティングシミュレーションのモデリングや、顧客の出身、維持と流失を統計するために使えるだけでなく、病気のリスクを予測するためにも使えます。
12-06 16:41
617浏览
0点赞
k最隣接アルゴリズムとは(kNN)
K近傍アルゴリズムはKNNとも呼ばれ、正式名称はK-Nearest Neighborsアルゴリズムであり、データマイニングや機械学習でよく使われる学習アルゴリズムであり、また機械学習における最も簡単な分類アルゴリズムの一つです。KNNの使用範囲は非常に広く、サンプル数が十分に多いという前提条件の下では、その正確度は非常に高くなります。KNNは一
12-06 16:28
546浏览
0点赞
機械学習――SVMアルゴリズム実現
一. sklearnのデータセットを使ってケースを作成する
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# seabornを使ってデフォルト値を描画する
import seaborn as sns; sns.set()
# ランダムにデータを生成する
from sklearn.datasets.sampl
12-06 16:18
568浏览
0点赞
非線形SVMアルゴリズムの原理
入力空間における非線形分類問題については、非線形変換を行うことで、ある次元の特徴空間における線形分類問題に変換することができ、高次元特徴空間で線形サポートベクターマシンを学習する。線形サポートベクターマシンの学習の双対問題では、目的関数と分類決定関数はいずれも実例のみに関係する。
12-06 16:14
574浏览
1点赞
サポートベクトルマシン(support vector machines,SVM)
SVMの概要 サポートベクターマシン(support vector machines, SVM)は二値分類モデルの一種で、その基本モデルは特徴空間上で定義された間隔が最大の線形分類器であり、間隔が最大であることが感知機との違いです。SVMにはカーネルトリックも含まれており、これにより実質的に非線形分類器となります。SVM
12-06 16:12
553浏览
1点赞
DBSCANアルゴリズムプロセス
DBSCANアルゴリズムの核心的な考え方は以下の通りです。ある選択されたコアポイントから始めて、密度到達可能な領域に向かって絶えず拡張し、コアポイントと境界点を含む最大化された領域を得ます。領域内の任意の2点は密度連結してデータ集合を考慮します。DBSCANアルゴリズムの目標は、データ集合XをK個のclus
11-28 11:21
524浏览
0点赞
DBSCANモデル
データ集合を考える。まず、以下の概念と数学記号を導入する:1. ε近傍(ε neighborhood) を仮定すると、これを x の ε近傍と呼ぶ。明らかに、2. 密度(density) を仮定すると、これを x の密度と呼ぶ。注意すべきは、ここでの密度は整数値であり、半径 ε に依存する。3. コア点(core point)
11-28 11:20
573浏览
0点赞
密度に基づくクラスタリング方法(DBSCAN)
平均シフトクラスタリングと同様に、DBSCANも密度ベースのクラスタリングアルゴリズムです。具体的な手順:1. まず半径rとminPointsを決定します。訪問されていない任意のデータ点から始め、この点を中心として、半径rの円内に含まれる点の数がminPoints以上かどうかを判断します。もし
11-28 11:18
635浏览
0点赞
ガウスハイブリッドモデル(GMM)による最大所望(EM)クラスタリング
K-Meansの欠点は、クラスタ中心の平均値を単純に使用することにあります。次の図の2つの円について、K-Meansを使用すると正しいクラスの判断ができません。同様に、データセットの点が次の図の曲線のような場合も、正しく分類することはできません。ガウス混合モデル(GMM)を使用してクラスタリングを行う場合、まず
11-28 11:17
559浏览
0点赞
凝集階層クラスタリング
階層的クラスタリングアルゴリズムは2種類に分けられます。つまり、トップダウン型とボトムアップ型です。凝集型階層的クラスタリング(HAC)はボトムアップ型のクラスタリングアルゴリズムです。HACでは、まず各データ点を単一のクラスタと見なし、次にすべてのクラスタ間の距離を計算してクラスタを統合し、すべてのクラスタが1つのクラスタに集約されるまで続けます。 下図は凝集
11-28 11:16
638浏览
0点赞
ニューラルネットワークトレーニングの一般的な手順
ステップ1:重みをランダムに初期化する;ステップ2:順伝播アルゴリズムを実装し、各入力の活性化関数を取得する;ステップ3:コスト関数を計算するコードを記述する;ステップ4:逆伝播を実装して活性化関数の偏導関数を計算する。擬似コードを見てみましょう:コード中のmは訓練サンプルの数です。ステップ5:勾配検証を使用して検証する
11-29 11:56
592浏览
0点赞
対抗ネットワーク接合の生成(Generative Adversarial Network,GAN)
生成対抗ネットワーク(Generative Adversarial Network, GAN):2014年にGoodfellowによって提案され、その核心的な考え方はゲーム理論のナッシュ均衡に由来する。これは2つのネットワークモデルを含んでいます:生成モデルと判別モデル。生成モデルはサンプルデータの分布を捉え、判別モデルは
11-28 10:48
500浏览
0点赞
Deep Belief Nets,DBN(Deep Belief Nets)
ディープベリーフネットワーク(Deep Belief Nets, DBN):またはディープベリーフネットワークとも呼ばれ、ニューラルネットワークの一種で、複数の制限付きボルツマンマシンから構成されています。教師なし学習にも使用でき、オートエンコーダーに似ており、教師あり学習にも使用でき、分類器に似ています。教師なし学習の観点から言えば、その目
11-28 10:47
502浏览
0点赞
自動エンコーダ(AutoEncoder)
オートエンコーダ(AutoEncoder):人工ニューラルネットワークの一種で、主にデータの圧縮を処理するために使用されます。そのデータの圧縮と解凍関数は、データに関連し、損失があり、サンプルから自動的に学習されます。原理は、ニューラルネットワークを訓練し、入力情報を代表する最も重要な要素を捉えることで、
11-28 10:47
928浏览
1点赞
長短期間記憶ネットワーク(Long Short-Term Memory,LSTM)
長短期記憶ネットワーク(Long Short-Term Memory, LSTM):時間的再帰型ニューラルネットワークの一種で、時系列データにおける間隔や遅延が長い重要なイベントの処理と予測に適しています。LSTMに基づくシステムは、言語翻訳、ロボット制御、画像分析、文書要約、音声認識を学習することができます。
11-28 10:46
551浏览
0点赞
再帰ニューラルネットワーク(Recurrent Neural Network,RNN)
前饋ニューラルネットワークは1つの入力を個別に処理するだけで、異なる入力間は相互に独立して関連がないと見なされますが、実際には多くの場合、入力間にはシーケンス関係があり、再帰ニューラルネットワーク(Recurrent Neural Network, RNN)、別名循環ニューラルネットワークを使用する必要があり、それは導入されました
11-28 10:45
520浏览
0点赞
コンボリューションニューラルネットワーク(CNN)
畳み込みニューラルネットワーク(CNN):Yann LeCunによって提案され、手書き文字(MNIST)認識に適用された。その実質は多層フィードフォワードネットワークであり、画像、特に大きな画像の処理と認識に長けている。
11-28 10:44
523浏览
0点赞
深度ニューラルネットワーク(DNN)
深度ニューラルネットワーク(DNN):統計学的手法を用いて原始的な感覚データから高レベルの特徴を抽出し、大量のデータから入力空間の有効な表現を得る。簡単に理解すると、深度ニューラルネットワークは複数の隠れ層を持つ多層パーセプトロンネットワークであり、実際の応用状況に応じて、その形態やサイズも異なる
11-28 10:44
614浏览
0点赞
ラジアル基底関数ニューラルネットワーク(Radical Basis Function Neural Network,RBF NN)
ラジアル基底関数ニューラルネットワーク(Radical Basis Function Neural Network, RBF NN):1988年にJohn MoodyとChristian J Darkenによって提案されたネットワーク構造で、前向型ニューラルネットワークに属し、理論的には任意の連続関数を任意の精度で近似することができ、分類問題の解決に適しています
11-28 10:42
526浏览
0点赞
制限付きボルツマンマシン(Restricted Boltzmann Machine,RBM)
制限ボルツマンマシン(Restricted Boltzmann Machine, RBM)は、簡略化された特殊なボルツマンマシンであり、1986年にPaul Smolenskyによって提案されました。BMと比較すると、その隠れ層のノード間には相互接続がなく、可視ノード間にも接続がないため、計算が比較的簡単です。
11-28 10:40
645浏览
1点赞
ボルツマンマシン(Bolzmann Machine,BM)
ボルツマンマシン(Bolzmann Machine, BM):隠れユニットを持つ確率的ホップフィールドネットワーク(Stochastic Hopfield Network with Hidden Units)とも呼ばれ、確率的な再帰型ニューラルネットワークであり、確率的に生成されるホップフィールドネットワークと見なすことができます。1983年から1986年にかけて、ヒントン(Hinton)とセイノウスキー(Sejnowski)によって提案されたこのニューラルネットワーク
11-28 10:39
575浏览
1点赞
適応共鳴理論(Adaptive Resource Theory,ART)
適応型共鳴理論(Adaptive Resource Theory、ART)は、1976年にアメリカのボストン大学の学者G.A.Carpenterによって提唱され、人間の心理と認証活動に対して統一的な数学理論を構築しようとした。その後、S.Grossbergと共にARTネットワークを提唱した。ARTネットワークは2つのサブシステムからなる2層構造である
11-28 10:38
489浏览
0点赞
531浏览
0点赞
9.1、TCP/IPプロトコルの詳細
コンピュータ間で情報を交換するには、情報交換の方式を定義する必要があります。1965年、ドナルド・デイヴィス(Donald Davies)は、2台のコンピュータ間で伝送されるデータを表すために「メッセージ」という言葉を生み出しました。1969年、最初の広域ネットワークであるARPNETが登場しました。このネットワークは、メッセージ交換を使用した最初のネットワークでもあります(メッセージ交換に対して、初期の電話では回路交換が使用されていました。つまり、
12-29 18:01
484浏览
0点赞
9.2、ソケットとは何か
先の説明を通じて、TCP/IPはとても複雑だと思われたでしょうか。実は、我々はこれらのプロトコルの内部の詳細を完全に理解する必要はありません。なぜなら、大多数のユーザーにとって、これらのプロトコルをどのように使ってデータを転送するかが関心の対象だからです。この節では、歴史のあるインターフェース——ソケットを紹介します。ソケットを使えば、我々は直接これらのプロトコルとやり取りする必要もなく、これらのプロトコルの
12-29 18:00
576浏览
0点赞
9.3、TCP echoサーバーの構築(Python実装)
この節では、簡単なエコーサーバーを作成します。このサーバーはユーザーの接続を待ち、接続に成功すると、受信したユーザーの入力をそのままクライアントに返送します。ユーザーが接続を閉じるまでこれを繰り返し、その時点でサーバーは自動的に終了します。この例では TCP プロトコルを使用しており、使用するプロトコルはソケットを作成する際に指定します。方法は次のとおりです:s = socket.so
12-29 18:00
521浏览
0点赞
9.4、簡単なTCPクライアントの作成
「TCPエコーサーバーの構築」の節を基に、データのやり取りを実現するためにクライアントが必要です。この節では、このようなクライアントを作成します。このクライアントは、前述のサーバーと接続を確立し、簡単なデータを送信し、その後サーバーからの返信データを読み取ります。まず、socketオブジェクトを作成する必要があります。サーバー側と同様に、使用するTを指定します
12-29 18:00
520浏览
0点赞
9.5、UDP echoサーバーの構築(Python実装)
『TCPエコーサーバーの構築』と『簡単なTCPクライアントの作成』では、それぞれTCPプロトコルを使用したエコーサービスのサーバー側コードとクライアント側コードについて説明しました。本节では、UDP版のエコーサービスを実装します。TCPとUDPは大きく異なりますが、ソケットインターフェースの面ではそれほど大きな違いはありません。ただ、ソケットを作成する際には、soを指定する必要があります
12-29 17:59
519浏览
1点赞
8.1、マルチスレッドとは何か、Pythonマルチスレッドプログラミング
早くも20世紀60年代に、プロセスの概念が登場しました。しかし、プロセスはリソースの所有者であり、プロセスの作成、破棄、スケジューリングのコストは比較的高いため、軽量級プロセスへの需要が生まれました。20世紀80年代になると、スレッドが登場しました。スレッドはプロセスに似ており、独立して実行できますが、使用コストはプロセスよりもはるかに低いです。スレッドは一般的にプログラム、データおよびスレッド制御を含みます
12-27 16:40
536浏览
0点赞
8.2、Python threadモジュールの使用方法の詳細
このパッケージは Python 2 では正常に使用できる状態ですが、Python 3 では廃止予定の状態にあります。まだ使用できますが、パッケージ名が _thread に変更されています。thread パッケージを使用するにはまずそのパッケージをインポートする必要があります。Python 2 では以下の文を使用してインポートします:import thread 一方、Python 3 では、パッケージ名が thread から _thread に変更されたため、次のようにする必要があります
12-27 16:39
477浏览
0点赞
8.3、Python threadingモジュールの使い方
thread パッケージと比べて、threading パッケージはより多くの機能を提供しています。このパッケージの使い方は基本的に2つのステップに分けられます。最初のステップは threading.Thread のインスタンスオブジェクトを作成することで、このときそのオブジェクトに対応するスレッドは「新規作成」状態になります。2番目のステップはそのオブジェクトを操作することで、例えば start() を呼び出してそのスレッドを「就緒」状態に移行させます。スレッドのインスタンスオブジェクトを作成することがで
12-27 16:39
524浏览
0点赞
8.4、Pythonスレッド同期実現方式の詳細
スレッドが起動されると、自動的に実行されます。しかし、それらを同期して実行したい場合は、どうすればよいでしょうか?簡単な例を挙げましょう。2つのスレッド A と B があり、A はネットワークからデータを読み取り、変数 X に保存する役割を担い、B は変数 X 内のデータを処理する役割を担っています。このとき、スレッド B は A と同期する必要があります。つまり、B は A から信号を受け取るまで待機し、それがあって初めて処理を開始する必要があります。
12-27 16:33
535浏览
0点赞
8.5、Pythonスレッドセキュリティ(同期ロック機構)
いわゆるスレッドセーフとは、あるリソースへのアクセスが、マルチスレッド状態でもシングルスレッド状態でも同じ結果が得られ、結果がスレッドスケジューリングなどの要因の影響を受けないことをいいます。例えば、次のコードでは、関数 operate_resource() の中で g_list に新しい要素を追加し、新しい要素の値は g_list の最後の要素の値に 1 を加えたものになります。g_list=[]defoperate_res
12-27 16:32
524浏览
0点赞
8.6、Pythonスレッドデッドロックの原因と解決方法
デッドロックはマルチスレッドプログラミングで頻繁に議論される問題です。いわゆるデッドロックとは、スレッドがあるリソースを無期限に待ち続けることです。最も単純なデッドロック現象は、あるスレッドが自分自身がすでに取得しているロックを待つことです。そのロックはすでに自分自身が取得しているため、2回目にそのロックを申請すると待機キューに入れられますが、この待機時間は永遠です。以下のコードはこの状況を示しています。
12-27 16:32
470浏览
0点赞
8.7、プロセスとは
コンピュータの発展初期段階では、タスクスケジューリング方式は比較的単純で、コンピュータはユーザーからタスクを受け取り、それから指定されたタスクが完了するまでずっと実行し続け、その後コンピュータはユーザーの次の計算タスクを待ちます。このような動作方式では、任意の時刻にコンピュータは1つのタスクしか完了できません。もしそのタスクが待機状態にある場合、コンピュータは他のタスクを実行することもできません。そのために
12-27 16:31
566浏览
0点赞
8.8、Python subprocessモジュールの使い方の詳細
Python 2.7 および Python 3 では、システムに標準搭載されている subprocess モジュールがあり、このモジュールは主に子プロセスを管理するために使用されます。このモジュールを使用する前に、以下の方法でインポートする必要があります:import subprocess以前は、新しいプロセスを起動するには os.system() メソッドを使用することができました。比較すると、subprocess モジュールはより多くの柔軟性を提供し、完全に o を置き換えることができます
12-27 16:31
526浏览
0点赞
8.9、Python multiprocessingモジュールの説明
multiprocessingモジュールはインストールする必要がなく、Python 2.6からシステムに同梱されています。このモジュールのインターフェース関数はthreadingに似ていますが、スレッドではなくプロセスを起動します。このモジュールを使用するには、まずmultiprocessingをインポートする必要があります。方法は以下の通りです:import multiprocessingこのモジュールには多くのクラスが含まれており、例えばLockなどがあり、これはマルチスレッドにおける
12-27 16:30
532浏览
0点赞
8.10、Python osモジュールの使用方法の詳細
本章の最後に、osモジュールに関するプロセスのいくつかのインターフェース関数を紹介しましょう。前ですでにこのモジュールのいくつかのインターフェース関数を使っています。例えば、現在のプロセスのPIDを取得する関数です。これらのインターフェース関数は比較的基礎的で、あまり複雑でない環境でも非常に役立ちます。もしプロセスのいくつかの高度な機能を必ず使用する必要がある場合、依然としてmultiprocessingモジュールまたはsubpを使用することをおすすめします
12-27 16:28
486浏览
0点赞
7.1、Pythonクラスの定義と使用
クラスの最も基本的な機能は、新しい型を定義することです。次の構文を使用して、何の属性も持たない、何もできない空のクラスを定義することができます。class クラス名: pass ここでのクラス名は、変数名と同じように、アルファベット、数字、アンダースコアで構成でき、一般的に先頭文字は大文字で、長さに制限はありません。クラスを定義した後
12-27 16:24
459浏览
0点赞
7.2、Python_init_()と_del_()関数の使い方
__init__()(以降、初期化関数と呼ぶ)はインスタンスオブジェクトを初期化するために使われます。インスタンスオブジェクトを構築するたびに、そのクラスの初期化関数が呼び出されます。この初期化関数では、インスタンスオブジェクトを初期化したり、クラスの特定の属性(例えば、そのクラスによって構築されたインスタンスオブジェクトの数)を更新したりすることができます。初期化関数はパラメータを持つこともでき、異なるパラメータを使用して異なるインスタンスを構築することができます。
12-27 16:23
485浏览
0点赞
7.3、Pythonクラスのプロパティとインスタンスのプロパティ
実はクラス自体もオブジェクトであり、独自の属性も持っています。クラスの属性は一般的にクラスに関連する内容を表し、例えばクラスのバージョンや作者などの情報です。クラスの属性の定義は、クラスの中で直接変数を定義するだけです。以下では、クラス Student にバージョンと作者の情報を追加します。 class Student: # クラスStudentを定義... version = 1.0 # クラスの属性version.
12-27 16:23
464浏览
0点赞
7.4、Python selfの使い方
オブジェクトの属性は、クラスの外部では「オブジェクト名。属性」で表し、クラスの内部では「self.属性」で表します。オブジェクトの属性にも追加、削除、変更、検索の操作があります。たとえば、代入文を使って属性を変更または追加することができ、del() を使ってオブジェクトの属性を削除することができます。属性の追加は、Python のような動的言語では非常に簡単で、追加するタイミングに制限はありません。
12-27 16:23
487浏览
0点赞
7.5、Python getattr()、setattr()、hasattr()、delattr()の使用方法
先に紹介した方法を使って属性を操作するほかに、属性を操作するための汎用的な方法もあります。この方法は静的リフレクションメカニズムに似ており、つまりオブジェクトの具体的な定義がわからない場合でも、クエリなどの方法でそのオブジェクトのいくつかの情報を取得することができます。例えば、オブジェクト a を取得しましたが、オブジェクト a がどのような型で、どのような属性を持っているかわからない場合、di
12-27 16:22
479浏览
0点赞
7.6、Python静的方法の使用
静的メソッドとは、特定のオブジェクトにバインドされていないメソッドです。オブジェクトメソッドと異なり、定義時の最初の引数が self ではなく、これは普通の関数に似ています。self 引数がないため、「self.属性名」を使って特定のオブジェクトの属性にアクセスすることもできません。静的メソッドの定義形式は以下の通りです。@staticmethoddefstatic_func():passStude
12-27 16:22
443浏览
0点赞
7.8、Pythonクラス方法の使用
クラスメソッドも特定のオブジェクトに属さないため、その最初のパラメータはselfではありません。しかし、それは特定のクラスに属するため、最初のパラメータは必ずclsです。@classmethoddefstatic_func(cls,パラメータリスト):pass使用する際には最初のパラメータclsを指定する必要はありません。なぜなら、この関数には暗黙的な属性__self__があり、それがclsの値となるからです。 class Student: # 定義
12-27 16:21
498浏览
0点赞
7.9、Pythonクラスのプライベート属性
C++ と Java では、属性(メンバー)にアクセス制御があります。例えば、public は任意のコードがその属性にアクセスできることを表し、private は現在のクラスのコードのみがその属性にアクセスできることを表します。Python ではこのアクセス制御子がありませんが、属性の前に __ という 2 つの下線を付けることで、その属性がクラス外部からアクセスできないことを表すことができます。一般的な属性はクラスの外部からもアクセスできます。
12-27 16:21
500浏览
0点赞
7.9、Python読み取り専用属性の設定(2つの方法)
デフォルトでは、インスタンスオブジェクトのすべてのメンバーは読み取りと書き込みが可能です。ただし、時にはいくつかの制限を設けたい場合があります。例えば、読み取りのみ可能で修正はできないようにしたり、修正する値が型要件や範囲要件を満たさなければならないことをチェックしたりします。この機能を実現する方法は複数ありますが、ここでは主に @property 修飾子を使用する方法と __setattr__() 関数を定義する方法の2つを紹介します。@property修飾子を使用するこの方
12-27 16:20
498浏览
0点赞
7.10、Pythonクラスの派生(派生クラス)
派生はオブジェクト指向プログラミングの基本概念であり、ある基本クラスに基づいて新しいクラスを簡単に作成する能力を私たちに与えます。派生クラスの方法を使用することで、他人のコードを再利用することができ、ゼロから自分自身のコードを作成する必要はありません。ある既存のクラスに基づく新しいクラスを定義する方法は次の通りです:def新しいクラス(既存のクラス):pass既存のクラスは、時には基底クラス、親クラスとも呼ばれます;新しいクラスも
12-27 16:16
488浏览
0点赞
6.1、Python異常処理機構
例外処理も現代のプログラミング言語の基本的な特性であり、例外処理を使用することで正常な分岐と例外的な分岐を分離することができ、C言語のように正常な分岐と例外的な分岐が混在することはありません。Pythonでは、例外は特殊なオブジェクトであり、この例外オブジェクトを介して例外処理関数に例外が発生したときの情報を渡すことができます。Python 2とPython 3では異
12-27 12:26
500浏览
0点赞
6.2、Python try except文:キャプチャ例外
例外を捕捉するとは、あるコードブロックで例外が発生した場合、対応する例外処理コードを定義する必要があることです。こうすることで例外は処理され、ずっと上位に伝播して最後にはプログラム全体が終了するということがなくなります。以下では、例外を捕捉するいくつかの方法を紹介します。1) 任意の例外を捕捉する最も簡単な処理方法は、任意の例外を捕捉することです。方法は、以下の分岐文を使用することです:except: この分
12-27 12:26
513浏览
0点赞
6.3、Python try else文の使い方
これまで紹介したのはすべて except 分岐、つまり例外分岐です。except 分岐は例外が発生したときに実行されます。この節で紹介する分岐は例外が投げられなかったときにのみ実行され、これが else 分岐です。以下にこの使い方をデモンストレーションします。 def except_demo(a, b): # 例外処理を含む関数を定義する... try:... a = a / b... except ZeroDivision
12-27 12:25
470浏览
0点赞
6.4、Python try finally文の使い方
先ほど except 分岐と else 分岐について説明しました。これらはそれぞれ例外が投げられたときと例外が投げられなかったときに実行されます。次に、別の分岐を紹介します。この分岐はどんな場合でも実行され、しかも最後に実行されます。これが finally 分岐です。以下は finally 分岐の例です。def finally_demo(a, b): # 例外処理を含む関数を定義する
12-27 12:25
537浏览
0点赞
6.5、Python raise文:自発的に例外をスローする
通常の場合、私たちのコードは能動的に例外を投げることはなく、代わりにエラーコードを返すことで呼び出し元にここで不適切なエラーが発生したことを知らせます。実際、私たちはコード内で例外を投げることもでき、例外を通じて関連するエラー情報を送信することができます。raise文を使用して例外を投げることができ、この文の後にはオブジェクトを指定する必要があり、このオブジェクトはBaseExceから派生したものでなければなりません
12-27 12:24
8浏览
0点赞
Indirection(仲介)
(1) 問題:2つ(または複数)の事物間の直接的な結合を避けるために、どのように職責を割り当てるか?オブジェクトを分離して結合度を下げ、システムの再利用性を高めるにはどうすればよいか? (2) 解決策:コンポーネントやサービス間の操作を調整するために中間オブジェクトに職責を割り当て、それらが直接結合しないようにする。中間オブジェクトは他のコンポーネント間に設置される仲介者である。 (3) 分析:オブジェクト間を避けるために
08-20 00:00
5浏览
0点赞
Protected Variations(保護された変更点)
(1) 問題:オブジェクト、サブシステム、システムに対してどのように職責を割り当てれば、これらの要素の変化や不安定な点が他の要素に悪影響を及ぼさないようにすることができるか? (2) 解決策:変化や不安定が予想される要素を特定し、それに対して安定した「インターフェース」を作成して職責を割り当てる。 (3) 分析:保護された変化パターンは略してPVと呼ばれ、これはほとんどのプログラミングと設計の基礎であり、モデル
08-20 00:00
427浏览
0点赞
MaxoutとDropout
ドロップアウトはネットワークの正則化テクニックで、実際には多くの異なるネットワーク構造を訓練するのと同じです。それにもかかわらず、推論段階ではすべての異なる構造のパラメータが共有されます。なぜなら、実際には1つのネットワークしか存在しないからです。機械学習アルゴリズムには、バギングという概念があります。バギング
12-10 23:07
853浏览
1点赞
無料のランチ定理はありません(No Free Lunch Theorem、NFL)
私たちはよく「どのアルゴリズムがより良いか」や「AアルゴリズムはBアルゴリズムより良い」などのような話を耳にします。実はこのような言い方は、ある具体的な問題(タスク)を解決するという前提を無視しています。なぜそう言うかというと、すべての潜在的な問題を考慮すると、すべての学習アルゴリズムは一
12-08 21:10
575浏览
1点赞
アンダーフィットとオーバーフィットとは?
私たちは機械学習によって学習したモデルの汎化能力が比較的強いことを望んでいます。端的に言えば、学習したモデルが訓練サンプルの中でのみうまく機能するだけでなく、新しいサンプルの中でもうまく機能するべきです。通常、分類誤りのサンプル数が総サンプル数に占める割合を誤り率(error rate)と呼びます。
12-08 12:56
551浏览
2点赞
7つのポイントの機械学習の方法
機械学習の中に一体どれだけの古典的なアルゴリズムがあるのでしょうか?この部分では、機械学習における古典的な代表的な手法について簡単に紹介します。この部分の紹介の重点は、これらの手法に内包される思想であり、数学的な詳細や実践的な詳細についてはここでは議論しません。 1、回帰アルゴリズム ほとんどの機械学習の講義では、回
12-08 12:49
472浏览
2点赞
機械学習に関わる7つの範囲
実際、機械学習はパターン認識、統計学習、データマイニング、コンピュータビジョン、音声認識、自然言語処理などの分野と深い関係があります。範囲から言えば、機械学習はパターン認識、統計学習、データマイニングに似ています。同時に、機械学習と他の分野の関係については
12-08 12:46
450浏览
1点赞
ニューラルネットワークの例
次に、自動車ナンバープレートの自動認識の例を通じて、ニューラルネットワークを説明します。いわゆる自動車ナンバープレートの自動認識とは、高速道路の監視カメラがナンバープレートの写真を撮り、コンピュータが写真内の数字を認識することです。この例では、ナンバープレートの写真が入力、ナンバープレートの番号が出力となり、写真の鮮明度に重み(w)を設定することができます。
11-27 17:43
425浏览
0点赞
ニューラルネットワークの動作過程
ニューラルネットワークの構築には、3つの条件を満たす必要があります。入力と出力、重み(w)と閾値(b)、多層パーセプトロンの構造です。つまり、先ほど出てきたその図を事前に描く必要があります。その中で最も難しい部分は、重み(w)と閾値(b)を決定することです。これまで、これら2つの値は主観的に与えられてきました。
11-27 17:43
432浏览
0点赞
シンプルな意思決定モデル
単一のパーセプトロンは簡単な決定モデルを構成しており、すでに使える状態になっています。現実世界では、実際の決定モデルははるかに複雑で、複数のパーセプトロンから構成される多層ネットワークです。上の図では、最下層のパーセプトロンが外部入力を受け取り、判断を行った後、信号を発して、それが上層のパーセプトロンの
11-27 17:42
448浏览
0点赞
感知器の例
では、例を見てみましょう。町では毎年恒例のゲームアニメ展が開催されています。小明は週末に見に行くかどうか決めかねています。彼は3つの要素を考慮することにしました。天気:週末は晴れですか?同伴:一緒に行く人を見つけることができますか?価格:入場券は負担できますか?これが感知器を構成します。上の三
11-27 17:42
442浏览
0点赞
ニューラルネットワークセンサ
歴史上、科学者たちはずっと人間の脳を模倣し、思考できる機械を作り出したいと望んできました。人間がなぜ思考できるのでしょうか?科学者たちは、その原因は人体の神経ネットワークにあることを発見しました。1、外部刺激は神経終末を通じて電気信号に変換され、神経細胞(ニューロンとも呼ばれます)に伝達されます。2、無数のニューロンが神経を構成します。
11-27 17:40
504浏览
1点赞
人工知能——知識図譜
初心者が初めて人工知能を学び始めるとき、人工知能、機械学習、ディープラーニング、コンピュータビジョンなど、殺到する概念に直面して、一瞬にしてこれらの「難解」な名称に圧倒され、どこから手をつければいいかわからなくなることがあります。または、長い時間学習した後、何人かの学生に彼らが学んだ...
11-17 11:59
2015浏览
2点赞
独立同分布(iid,independently identically distribution)
独立同分布(iid,independently identically distribution)は確率統計理論において、確率過程において任意の時刻の値が確率変数であり、これらの確率変数が同一の分布に従い、かつ互いに独立である場合、これらの確率変数は独立同分布であるという。独立同分布
11-02 17:12
720浏览
1点赞
特性分解Eigendecomposition
固有値分解(Eigendecomposition)は、スペクトル分解(Spectral decomposition)とも呼ばれ、行列をその固有値と固有ベクトルで表される行列の積に分解する方法です。注意すべきは、対角化可能な行列に対してのみ固有値分解を適用できるということです。N次元の非零ベクトルvはN×Nの行列
11-02 17:08
686浏览
2点赞
構造リスク最小化Structural Risk Minimization
構造的リスク最小化(Structural Risk Minimization)とは、関数集合を関数部分集合の系列として構築し、各部分集合をVC次元の大小に従って並べることを指します。各部分集合内で最小の経験的リスクを求め、部分集合間で経験的リスクと信頼範囲を妥協的に考慮して、実際のリスクを最小化します。すなわちSR
11-02 17:07
848浏览
1点赞
負対数尤度negative log-likelihood
尤度関数(likelihood function)機械学習において、尤度関数はモデルのパラメータに関する関数です。「尤度(likelihood)」と確率(probability)は語意が似ていますが、統計学では全く異なる意味を持っています:確率は既知のパラメータの下で、予測を行うために使われます。
11-02 17:02
494浏览
1点赞
分類回帰ツリーCART
分類回帰木(CART, Classification And Regression Tree)も一種の決定木に属します。ここではCARTがどのように分類に用いられるかだけを紹介します。分類回帰木は二分木であり、各非葉ノードには2つの子ノードがあります。ですから、最初の部分木については、その葉ノードの数は非葉ノードの数に比べて
11-02 16:52
530浏览
0点赞
音響モデルacoustic mode
このモジュールでは、音声認識エンジンの音響(acoustic)モデルについて議論します。現在の主流の音声認識システムでは、音響モデルはハイブリッド(hybrid)モデルであり、シーケンスの遷移に使用される隠れマルコフモデル(HMM)と、現在のフレームに基づいて状態を予測するディープニューラルネットワークが含まれています。HMMは
11-02 16:49
445浏览
0点赞
ルール学習Rule Learning
規則学習は、未見の事例を判別できる規則で、通常は訓練データセットの学習によって得られます。それは通常、IF - THEN規則で、非教師あり学習の一種で、一般的に分類の一種として分類されます。規則学習における規則:意味が明確で、データ分布に含まれる客観的な法則を記述できます。
11-02 16:46
479浏览
0点赞
Transductive learning直進学習
トランスダクティブ学習(直推式学習)。直推とは、観測された特定のデータから特定のデータへの推論である。直推学習は帰納学習と異なり、訓練データとテストデータは事前にすべて観測可能であり、既知の訓練データから特徴を学習してテストセットのラベルを予測する。たとえ我々は
11-02 16:44
418浏览
0点赞
Inductive learning帰納学習
帰納的学習(きのうてきがくしゅう)。帰納とは、観測されたデータから一般的なデータへの推論であり、帰納的学習は私たちが日常で言う教師あり学習のことで、ラベル付きのデータを使用してモデルを訓練し、その後、訓練済みのモデルを使用してテストセットデータのラベルを予測する。訓練セットデータにはテスト
11-02 16:43
467浏览
0点赞
multiple linear regression多元回帰解析
1. 単純線形回帰(simple linear regression)との違い:複数の説明変数(x)
2. 重回帰モデル
y = β0+β1x1 + β2x2 + … + βpxp + ε
ここで:β0,β1,β2… βpはパラメータ
εは誤差値
3. 重回帰方程式
E(y) = β0+β1x1 + β2x2 + … + βpxp
4.
11-02 16:41
479浏览
0点赞
強化学習のscore function
score functionの定義とは、score functionが最大対数尤度関数の中で対数尤度関数の勾配を0にする勾配を求めるものであるということです。つまり、最大尤度問題を解くことはscore functionを解くことです。2、さらにパラメータで微分すると、Fisher Informationが得られます。FIMはSFの負の微分です。
11-01 22:37
459浏览
1点赞
シンボリズムSymbolism
シンボリズムは人工知能分野において数理論理学を篤信する流派である。数理論理学は19世紀末から急速に発展し、20世紀30年代には知的行動を記述するために用いられ始めた。コンピュータが登場した後、コンピュータ上で論理演繹システムが実現された。その代表的な成果はヒューリスティックプログラムLである。
11-01 22:34
422浏览
0点赞
階層サンプリングStratified sampling
統計学の理論において、層別サンプリングは母集団(population)に対するサンプリング方法である。特に、母集団内で亜母集団(subpopulations)間の差異が大きい場合に適している。各subpopulationは、層(stratum)とも呼ばれる。Lは層の数を表し、その中で それぞれ指す
11-01 22:33
747浏览
1点赞
アンダーサンプリング(undersampling)とオーバーサンプリング(oversampling)
二値分類データが不均衡な場合、モデルの出力に影響を与えるため、このときはデータを処理する必要があります。1:なぜクラスの不均衡がモデルの出力に影響を与えるのか:多くのモデルの出力クラスは閾値に基づいています。例えば、ロジスティック回帰では0.5未満が反例、それを超える場合は正例となります。データが不均衡な場合、デフォルトの閾
11-01 22:24
2054浏览
4点赞
SOM自己組織マッピングニューラルネットワーク
自己組織化マップ(Self-organizing map, SOM)は、入力空間内のデータを学習することで、低次元で離散的なマップ(Map)を生成し、ある程度では次元削減アルゴリズムとも見なすことができます。SOMは教師なしの人工ニューラルネットワークです。一般的なニューラルネットワークが損失関数に基づく逆伝播によって
11-01 20:32
1893浏览
1点赞
Mean Squard Error平均二乗誤差
MSE(Mean Squared Error)は平均二乗誤差と呼ばれます。この公式を見ると、ここのyはテストセット上のものです。真値から予測値を引いて、それを二乗した後、合計して平均を取ります。この公式を一見すると、何か見慣れた感じがしませんか?これはまさに線形回帰の損失関数です!!! そうです、線形回帰の際に私たちは
11-01 18:00
539浏览
1点赞
bayesian Networkベイズネットワーク
ベイジアンネットワーク(Bayesian network)は、信念ネットワーク(Belief Network)または有向非巡回グラフモデル(directed acyclic graphical model)とも呼ばれ、確率グラフモデルの一種で、1985年にJudea Pearlによって初めて提案されました。これは、人間の推論過程における因果関係を模擬するもので
11-01 17:51
561浏览
1点赞
2021 cvpr PVGNet:ボトムアップの単段三次元物体検出器、多層的な機能を集積
特徴
苗振伟、陈继凯、潘宏宇、张瑞文、刘凯轩、郝沛涵、朱军、王洋、詹鑫;《电气与电子工程师协会/计算机视觉基金会计算机视觉与模式识别会议论文集》(CVPR),2021年,第3279 - 3288页
概要:量子化に基づく方法は、その
12-11 14:02
578浏览
0点赞
2021 CVPR最優秀学生論文名誉ノミネート(Best Student Paper Honorable Mentions)
最優秀学生論文名誉提名(Best Student Paper Honorable Mentions)「最優秀学生論文」にノミネートされたのは3本です。Less is More: ClipBERT for Video-and-Language Learning via Sparse Sampling(少ないが多い:スパースサンプリングによるビデオと言語学習のためのClipBERT)
12-11 13:56
678浏览
0点赞
2021 CVPR最優秀学生論文賞(Best Student Paper)
最優秀学生論文賞(Best Student Paper)タスクプログラミング:データ効率の良い行動表現の学習(Task Programming: Learning Data Efficient Behavior Representations)著者チームはカリフォルニア工科大学とノースウェスタン大学に所属——Jennifer J. Sun、Ann Kennedy、Eric Zhan、David J. Anderson、Yisong Yue、Pietro
12-11 13:55
677浏览
0点赞
2021 CVPR最優秀論文賞ノミネート(Best Paper Honorable Mentions)
何愷明(かいみん)とXinlei Chenの論文「Exploring Simple Siamese Representation Learning」(シンプルなシャイアム表現学習の探究)が最優秀論文のノミネートを獲得しました。https://arxiv.org/abs/2011.10566 この論文では主に、「シャイアムネットワーク」(Siamese networks)が最近の様々な教師なし視覚表現学習モデルにおいて一般的な存在になっていることが研究されています。
12-11 13:54
496浏览
0点赞
2021 CVPR論文賞
最高論文賞(Best Paper)今年の最高論文は、マックス・プランク知能システム研究所とテュービンゲン大学のチームのマイケル・ニーマイヤー(Michael Niemeyer)、アンドレアス・ガイガー(Andreas Geiger)のものです。彼らの論文は「GIRAFFE: Representing Scenes as Compositional Generative Neural Feature Fields」(GIRAFFE:シーンを構成的生成ニューラル特徴フィールドとして表現する)
12-11 13:53
764浏览
0点赞
国際コンピュータビジョン・モード識別会議(CVPR)
国際コンピュータビジョンとパターン認識会議(CVPR)はIEEEが毎年開催する学術会議で、会議の主な内容はコンピュータビジョンとパターン認識技術です。CVPRは世界トップレベルのコンピュータビジョン会議(三大トップ会議の一つで、他の二つはICCVとECCV)で、近年は毎年約1500人が参加しています。
12-11 13:49
601浏览
0点赞
国際コンピュータビジョン大会International Conference on Computer Vision
ICCV、英語の正式名称はInternational Conference on Computer Vision、中国語の正式名称は国際コンピュータビジョン大会です。この会議もIEEEが主催する世界最高レベルの学術会議で、2年に1度世界中で開催され、業界では非常に高い評価を得ています。ICCVの論文採用率は
12-11 13:49
1311浏览
0点赞
欧州コンピュータビジョン国際会議European Conference on Computer Vision
ECCVは、英語の正式名称がEuropean Conference on Computer Visionで、中国語の正式名称は欧州コンピュータビジョン国際会議です。ECCVの毎年の論文受理率は約25 - 30%で、毎回の会議で世界的に約300本の論文が採録され、採録される論文の主な出所は米国や欧州などのトップ
12-11 13:48