データサイエンス

データサイエンスの専門家、機械学習の専門家、およびこの分野に関する知識が豊富な方へ

1
Pythonでの確率的勾配降下法の実装
Pythonで2次元線形回帰の基本的な確率勾配降下アルゴリズムを実装しようとしています。バニラGDのボイラープレートコードが渡され、SGDで動作するように変換しようとしました。 具体的には、私は一般的に回帰に不慣れなため、損失関数と偏微分を正しく実装したかどうかは少しわかりません。 エラーは予想どおり「ジグザグ」になる傾向があります。以下は正しい実装のように見えますか、それとも何か間違いをしましたか? #sample data data = [(1,1),(2,3),(4,3),(3,2),(5,5)] def compute_error_for_line_given_points(b, m, points): totalError = 0 x = points[0] y = points[1] return float(totalError + (y - (m * x + b)) ** 2) def step_gradient(b_current, m_current, points, learningRate): N = float(1) for i in range(0, 1): x = points[0] y …

2
結果に自信を抱くものは何ですか?上司の読み書きができない技術者に自分の作品を提示できるのはどの時点だと思いますか?
モデルが得られるデータと同じくらい優れていることを理解しています。設計が悪いと、本当に悪いデータが生成される可能性があります。非ランダムサンプリング、不均衡/不完全な設計、交絡は、データ分析を非常に困難にする可能性があります。 彼らが有用なモデルを実行したと確信できるのはどの時点ですか?トレーニング/テストデータセットで相互検証を行い、それを1日と呼びますか?明らかに「すべてのモデルが間違っている、いくつかは有用である」が、ある時点で、LASSOingによる過度のパラメーターの除外と、BICを下げることによる奇妙な変換とのトレードオフが明らかになります。 一日の終わりにtl; drを実行すると、「会社/プロジェクトに正しいことをしたので、これでうまくいく」

1
バッチ正規化を廃止できるアクティベーション機能はありますか?
バッチの正規化を学びながら、適切なアクティベーション関数を使用して「勾配スケールの問題」を解決できないのかと考えていました。 データセット全体をスケーリングするのではなく、アクティベーション関数を遅延させてスケーリングし、それによって分散が確実に保持されるようにできないのでしょうか。

2
トレーニングサンプルのクラスの不均衡を修正する方法
最近、就職の面接でトレーニングデータセットのクラスの不均衡を修正するための解決策について尋ねられました。バイナリ分類のケースに焦点を当てましょう。 私は2つのソリューションを提供しました:分類子のバランスのとれたデータのバッチを供給することによる少数派クラスのオーバーサンプリング、またはバランスのとれたトレーニングセット(豊富な固有のサブセットと同じ少数派のセット)で多くの分類子をトレーニングするなどの豊富なクラスの分割。インタビュアーがノードを結んだが、私は後に断られ、彼らが言及した知識のギャップの1つはこの答えであった。メトリックを変更して話し合うことができたことがわかりました。 しかし、私の頭に浮かぶ質問は、次のとおりです。テストセットが同じ比率になる場合、クラスAを80%にして分類子をトレーニングすることは本当に問題なのでしょうか。機械学習の経験則では、トレーニングセットは、最良の予測パフォーマンスを得るためにテストと可能な限り類似している必要があるようです。 クラスのバランスをとるのに必要なテストの分布について何もわからない(事前に知らない)場合だけではありませんか?多分私はインタビューでこの点を上げるべきだった。


3
時系列間の相関関係を学習するニューラルネットワークトポロジ
2つ(原則としてそれ以上)の1xN時系列があり、両方の次の値を予測するようにNNをトレーニングしたいと思います。それらを2xNマトリックスとして配置し、このマトリックスからのウィンドウをNNへの入力としてフィードできますが、NN自体をどのように構成するかわかりません。 私は単一シリーズでかなりまともな仕事をすることができる畳み込みでNNを作成しましたが、シリーズ間相関を活用したいと思います。NNに時系列間の相関関係を通知させるには、どのトポロジが機能しますか?

2
カラーマップから数値データを取得できますか?
私のクラスでは、カラーマップ画像を扱う必要がよくあります。私は画像を表示して、さまざまな主題について推論/観察を試みます。多くの場合、実際にいくつかの側面を定量化する必要がありますが、画像は「現状のまま」提供され、必ずしもアプリオリにその内容を知っているとは限らないため、常に非常に概算であり、どういうわけか曖昧です。 2つの画像(*)で作業しているとしましょう。コンピューターにカラースケールバーを「学習」させて、マップ内の任意のポイントをクリックしてそのポイントの高度の値を取得できるようにすることは可能ですか?画像1は離散的なカラースケールバーで、画像2は連続的なカラーマッピングです。これを行う方法のアプローチに違いがある可能性があるため、両方の例を含めました。 それで、これを行うためのソフトウェア/方法はありますか?できればオープンソース。ImageJを試してみましたが、適切な解決策を思い付くことができませんでした。 画像1: 画像2: ご覧のとおり、すべての場合でカラースケールは画像の一部です。 (*)私はこれらの画像を所有していません。私のポイントを説明するためにオンラインで見つけた例のみを所有しています。

1
単純ベイズの理解:条件付き確率の計算
感情分析のタスクとして、で表されるクラスと機能とします。ccciii 各クラスの条件付き確率は次のように表すことができます ここで、は各特徴を表し、はクラスです我々は持っています。次に、経験的に、 ことができます。ここで:P(c|wi)=P(wi|c)⋅P(c)P(wi)P(c|wi)=P(wi|c)⋅P(c)P(wi)P(c | w_i) = \frac{P(w_i|c) \cdot P(c)}{P(w_i)}wiwiw_icccP(wi|c)=ncincP(wi|c)=ncincP(w_i|c) = \frac{n_{ci}}{n_c} P(wi)=ninP(wi)=ninP(w_i) = \frac{n_{i}}{n}P(c)=ncnP(c)=ncnP(c) = \frac{n_c}{n} nnnは、すべてのクラスの特徴の総数です。 ncincin_{ci}は、クラスその特徴カウント数を表し。iiiccc ncncn_cは、クラスの機能の総数です。 ninin_iは、すべてのクラスの機能の総数です。 上記の私の理解は正しいですか?したがって、各単語のこれらの確率を考えると、私は単純なベイズの仮定です。単語は独立しているため、特定のクラスのドキュメントの各単語を単純に乗算します。つまり、ここで、はドキュメント内の単語数です。これは正しいです?P(c|wi)P(c|wi)P(c|w_i)∏P(c|wi),i∈N∏P(c|wi),i∈N\prod P(c|w_i), i \in NNNN 条件付き確率を数値で実際に計算するには、次のことを行えば十分でしょうか。 P(c|wi)=P(wi|c)⋅P(c)P(wi)=ncinc⋅ncn⋅nni=nciniP(c|wi)=P(wi|c)⋅P(c)P(wi)=ncinc⋅ncn⋅nni=nciniP(c | w_i) = \frac{P(w_i|c) \cdot P(c)}{P(w_i)} = \frac{n_{ci}}{n_c} \cdot \frac{n_c}{n}\cdot \frac{n}{n_i} = \frac{n_{ci}}{n_i} 方程式の最後の部分は、かなり複雑な確率を計算するには単純すぎるように思えるため、私には少し疑わしく見えます。

2
モデルの解釈可能性とモデルの予測力のトレードオフを平易な言葉でどのように説明しますか?
データと質問に依存することはわかっていますが、特定のデータセットに対して、かなり複雑な非線形モデル(ただし解釈が難しい)を使用して、より優れた予測能力を提供できるシナリオを想像してください。データ内、または予測力は低くても解釈が簡単な単純なモデル(おそらく線形モデルなど)を持っています。これは、機械学習モデルを解釈する方法についてのアイデアを議論する非常に良い投稿です。 業界は非常に慎重ですが、より複雑なモデルの採用に徐々に関心を寄せています。それでも彼らはトレードオフを明確に知りたいですか?データサイエンティストは、おそらくデータチームと意思決定者の間に座っている人であり、これらのことを素人の言葉で説明できる必要があることがよくあります。 私はここでブレインストーミングをして、このようなトレードオフを非技術者に説明するためにどのような類推を思いつくかを確認しようとしていますか?



2
連続的な作用領域における価値関数近似よりも政策勾配法が好まれるのはなぜですか?
値関数近似、特にディープQラーニングでは、最初に各アクションのQ値を予測することを理解しています。ただし、アクションが多い場合、このタスクは簡単ではありません。 ただし、ポリシーの反復では、各アクションに関連するソフトマックスベクトルも出力する必要があります。そのため、これを使用して連続アクションスペースを処理する方法を理解できません。 連続的な作用領域における価値関数近似よりも政策勾配法が好まれるのはなぜですか?

1
ケラスとLSTMを使用したマルチステップ先予測の複数の出力
私はディープラーニングとLSTM(ケラを使用)を初めて使用します。私は、マルチステップ先の時系列予測を解決しようとしています。A、B、Cの3つの時系列があり、Cの値を予測したいと思います。LSTMをトレーニングして、データポイントを3ステップ戻し、将来の3ステップを予測しています。入力データは次のようになります。 X = [[[A0, B0, C0],[A1, B1, C1],[A2, B2, C2]],[[ ...]]] 寸法:(1000, 3, 3)。出力は次のとおりです。 y = [[C3, C4, C5],[C4, C5, C6],...] 寸法:(1000, 3)。 1つの非表示レイヤー(50ニューロン)を持つ単純なLSTMを使用しています。私はケラスを使ってLSTMを次のように設定しました: n_features = 3 neurons = 50 ahead = 3 model = Sequential() model.add(LSTM(input_dim=n_features, output_dim=neurons)) model.add(Dropout(.2)) model.add(Dense(input_dim=neurons, output_dim=ahead)) model.add(Activation('linear')) model.compile(loss='mae', optimizer='adam') model.fit(X, y, epochs=50) このモデルは正常に動作します。ここで、(同じ入力を使用して)Bの値も予測したいと思います。したがって、複数の機能を持つトレーニングの場合と同じように、出力を再形成しようとしました。 y = …

6
高次元バイナリスパースデータのクラスタリングアルゴリズム
以下のような10,000遺伝子のデータセットがあります person gene1 gene2 ... gene10000 ethnic 1 0 1 1 asian 2 1 0 1 European 各行は、人がDNAに遺伝子を持っているかどうかを意味します。上記のデータに基づいて、さまざまな民族グループを分類しようとしています。しかし、最初にいくつかのクラスタリングアルゴリズムを使用して、さまざまな民族グループのクラスターがどのように見えるかを視覚化したいと思います。このクラスタリングアルゴリズムを使用してグループを分類することはありません。適切な個別のクラスターや重複するクラスターなどがある場合、それがどのように見えるかを視覚化するためだけに使用されます。 このタイプのデータセットには、いくつかのクラスタリングアルゴリズムをお勧めします。また、次元は10000です。これはクラスタリングの問題になるのでしょうか?最初にいくつかの次元削減アルゴリズムを使用する必要がありますか?もしそうなら、あなたの推奨事項を教えてください。前もって感謝します。

3
ダイナミックタイムワーピングは時代遅れですか?
でhttp://www.speech.zone/exercises/dtw-in-python/それは言います もはや実際には使用されていませんが、ダイナミックタイムワーピング(DTW)は、ダイナミックプログラミングの主要な概念の優れた入門書です。 信号処理にDTWを使用していますが、少し驚いています。代わりに何が使用されていますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.